@@ -67,7 +67,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
6767var ts;
6868(function (ts) {
6969 ts.versionMajorMinor = "3.6";
70- ts.version = ts.versionMajorMinor + ".3 ";
70+ ts.version = ts.versionMajorMinor + ".4 ";
7171})(ts || (ts = {}));
7272(function (ts) {
7373 ts.emptyArray = [];
@@ -7282,7 +7282,7 @@ var ts;
72827282 }
72837283 ts.isEnumConst = isEnumConst;
72847284 function isDeclarationReadonly(declaration) {
7285- return !!(ts.getCombinedModifierFlags(declaration) & 64 && !ts.isParameterPropertyDeclaration(declaration));
7285+ return !!(ts.getCombinedModifierFlags(declaration) & 64 && !ts.isParameterPropertyDeclaration(declaration, declaration.parent ));
72867286 }
72877287 ts.isDeclarationReadonly = isDeclarationReadonly;
72887288 function isVarConst(node) {
@@ -10525,8 +10525,8 @@ var ts;
1052510525 }
1052610526 }
1052710527 ts.getTypeParameterOwner = getTypeParameterOwner;
10528- function isParameterPropertyDeclaration(node) {
10529- return ts.hasModifier(node, 92) && node. parent.kind === 158;
10528+ function isParameterPropertyDeclaration(node, parent ) {
10529+ return ts.hasModifier(node, 92) && parent.kind === 158;
1053010530 }
1053110531 ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration;
1053210532 function isEmptyBindingPattern(node) {
@@ -25150,7 +25150,7 @@ var ts;
2515025150 else {
2515125151 declareSymbolAndAddToSymbolTable(node, 1, 111551);
2515225152 }
25153- if (ts.isParameterPropertyDeclaration(node)) {
25153+ if (ts.isParameterPropertyDeclaration(node, node.parent )) {
2515425154 var classDeclaration = node.parent.parent;
2515525155 declareSymbol(classDeclaration.symbol.members, classDeclaration.symbol, node, 4 | (node.questionToken ? 16777216 : 0), 0);
2515625156 }
@@ -33247,8 +33247,7 @@ var ts;
3324733247 return undefined;
3324833248 }
3324933249 function getConstraintDeclaration(type) {
33250- var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 151);
33251- return decl && ts.getEffectiveConstraintOfTypeParameter(decl);
33250+ return ts.mapDefined(ts.filter(type.symbol && type.symbol.declarations, ts.isTypeParameterDeclaration), ts.getEffectiveConstraintOfTypeParameter)[0];
3325233251 }
3325333252 function getInferredTypeParameterConstraint(typeParameter) {
3325433253 var inferences;
@@ -33424,11 +33423,11 @@ var ts;
3342433423 }
3342533424 return undefined;
3342633425 }
33427- function resolveTypeReferenceName(typeReferenceName, meaning) {
33426+ function resolveTypeReferenceName(typeReferenceName, meaning, ignoreErrors ) {
3342833427 if (!typeReferenceName) {
3342933428 return unknownSymbol;
3343033429 }
33431- return resolveEntityName(typeReferenceName, meaning) || unknownSymbol;
33430+ return resolveEntityName(typeReferenceName, meaning, ignoreErrors ) || unknownSymbol;
3343233431 }
3343333432 function getTypeReferenceType(node, symbol) {
3343433433 var typeArguments = typeArgumentsFromTypeReferenceNode(node);
@@ -33592,7 +33591,16 @@ var ts;
3359233591 var meaning = 788968;
3359333592 if (isJSDocTypeReference(node)) {
3359433593 type = getIntendedTypeFromJSDocTypeReference(node);
33595- meaning |= 111551;
33594+ if (!type) {
33595+ symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning, true);
33596+ if (symbol === unknownSymbol) {
33597+ symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning | 111551);
33598+ }
33599+ else {
33600+ resolveTypeReferenceName(getTypeReferenceName(node), meaning);
33601+ }
33602+ type = getTypeReferenceType(node, symbol);
33603+ }
3359633604 }
3359733605 if (!type) {
3359833606 symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning);
@@ -46510,7 +46518,7 @@ var ts;
4651046518 if (member.kind === 158) {
4651146519 for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) {
4651246520 var param = _c[_b];
46513- if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) {
46521+ if (ts.isParameterPropertyDeclaration(param, member ) && !ts.isBindingPattern(param.name)) {
4651446522 addName(instanceNames, param.name, param.name.escapedText, 3);
4651546523 }
4651646524 }
@@ -47816,7 +47824,7 @@ var ts;
4781647824 var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration);
4781747825 var name = local.valueDeclaration && ts.getNameOfDeclaration(local.valueDeclaration);
4781847826 if (parameter && name) {
47819- if (!ts.isParameterPropertyDeclaration(parameter) && !ts.parameterIsThisKeyword(parameter) && !isIdentifierThatStartsWithUnderscore(name)) {
47827+ if (!ts.isParameterPropertyDeclaration(parameter, parameter.parent ) && !ts.parameterIsThisKeyword(parameter) && !isIdentifierThatStartsWithUnderscore(name)) {
4782047828 addDiagnostic(parameter, 1, ts.createDiagnosticForNode(name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.symbolName(local)));
4782147829 }
4782247830 }
@@ -49050,10 +49058,8 @@ var ts;
4905049058 var constraint = ts.getEffectiveConstraintOfTypeParameter(source);
4905149059 var sourceConstraint = constraint && getTypeFromTypeNode(constraint);
4905249060 var targetConstraint = getConstraintOfTypeParameter(target);
49053- if (sourceConstraint) {
49054- if (!targetConstraint || !isTypeIdenticalTo(sourceConstraint, targetConstraint)) {
49055- return false;
49056- }
49061+ if (sourceConstraint && targetConstraint && !isTypeIdenticalTo(sourceConstraint, targetConstraint)) {
49062+ return false;
4905749063 }
4905849064 var sourceDefault = source.default && getTypeFromTypeNode(source.default);
4905949065 var targetDefault = getDefaultFromTypeParameter(target);
@@ -59445,7 +59451,7 @@ var ts;
5944559451 var members = [];
5944659452 var constructor = ts.getFirstConstructorWithBody(node);
5944759453 var parametersWithPropertyAssignments = constructor &&
59448- ts.filter(constructor.parameters, ts.isParameterPropertyDeclaration);
59454+ ts.filter(constructor.parameters, function (p) { return ts.isParameterPropertyDeclaration(p, constructor); } );
5944959455 if (parametersWithPropertyAssignments) {
5945059456 for (var _i = 0, parametersWithPropertyAssignments_1 = parametersWithPropertyAssignments; _i < parametersWithPropertyAssignments_1.length; _i++) {
5945159457 var parameter = parametersWithPropertyAssignments_1[_i];
@@ -59989,7 +59995,7 @@ var ts;
5998959995 }
5999059996 function transformConstructorBody(body, constructor) {
5999159997 var parametersWithPropertyAssignments = constructor &&
59992- ts.filter(constructor.parameters, ts.isParameterPropertyDeclaration);
59998+ ts.filter(constructor.parameters, function (p) { return ts.isParameterPropertyDeclaration(p, constructor); } );
5999359999 if (!ts.some(parametersWithPropertyAssignments)) {
5999460000 return ts.visitFunctionBody(body, visitor, context);
5999560001 }
@@ -60859,7 +60865,7 @@ var ts;
6085960865 if (constructor && constructor.body) {
6086060866 var parameterPropertyDeclarationCount = 0;
6086160867 for (var i = indexOfFirstStatement; i < constructor.body.statements.length; i++) {
60862- if (ts.isParameterPropertyDeclaration(ts.getOriginalNode(constructor.body.statements[i]))) {
60868+ if (ts.isParameterPropertyDeclaration(ts.getOriginalNode(constructor.body.statements[i]), constructor )) {
6086360869 parameterPropertyDeclarationCount++;
6086460870 }
6086560871 else {
@@ -68314,7 +68320,7 @@ var ts;
6831468320 return getReturnTypeVisibilityError;
6831568321 }
6831668322 else if (ts.isParameter(node)) {
68317- if (ts.isParameterPropertyDeclaration(node) && ts.hasModifier(node.parent, 8)) {
68323+ if (ts.isParameterPropertyDeclaration(node, node.parent ) && ts.hasModifier(node.parent, 8)) {
6831868324 return getVariableDeclarationTypeVisibilityError;
6831968325 }
6832068326 return getParameterDeclarationTypeVisibilityError;
0 commit comments