From 48d9012989b2bd4c9b8a73037d7058cdcb538bfc Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Thu, 13 Jul 2017 11:34:56 -0700 Subject: [PATCH] Update baselines --- ...sCorrectly.typedefTagWithChildrenTags.json | 4 +- ...peExpressions.parsesCorrectly.allType.json | 3 +- ...xpressions.parsesCorrectly.arrayType1.json | 9 +- ...xpressions.parsesCorrectly.arrayType2.json | 12 ++- ...xpressions.parsesCorrectly.arrayType3.json | 13 ++- ...esCorrectly.callSignatureInRecordType.json | 46 +++++----- ...s.parsesCorrectly.functionReturnType1.json | 9 +- ...essions.parsesCorrectly.functionType1.json | 1 + ...essions.parsesCorrectly.functionType2.json | 9 +- ...rrectly.functionTypeWithTrailingComma.json | 31 +++++++ ...eExpressions.parsesCorrectly.keyword1.json | 6 +- ...eExpressions.parsesCorrectly.keyword2.json | 3 +- ...eExpressions.parsesCorrectly.keyword3.json | 3 +- ...ns.parsesCorrectly.methodInRecordType.json | 59 +++++++------ ...eExpressions.parsesCorrectly.newType1.json | 11 ++- ...sions.parsesCorrectly.nonNullableType.json | 4 +- ...ions.parsesCorrectly.nonNullableType2.json | 4 +- ...ressions.parsesCorrectly.nullableType.json | 4 +- ...essions.parsesCorrectly.nullableType2.json | 4 +- ...ions.parsesCorrectly.optionalNullable.json | 4 +- ...ressions.parsesCorrectly.optionalType.json | 4 +- ...pressions.parsesCorrectly.recordType1.json | 16 ++-- ...pressions.parsesCorrectly.recordType2.json | 36 ++++---- ...pressions.parsesCorrectly.recordType3.json | 49 ++++++----- ...pressions.parsesCorrectly.recordType4.json | 58 ++++++------- ...pressions.parsesCorrectly.recordType5.json | 67 ++++++++------- ...pressions.parsesCorrectly.recordType6.json | 73 ++++++++-------- ...pressions.parsesCorrectly.recordType7.json | 84 +++++++++--------- ...pressions.parsesCorrectly.recordType8.json | 38 ++++----- ...Expressions.parsesCorrectly.thisType1.json | 11 ++- ...sesCorrectly.topLevelNoParenUnionType.json | 9 +- ...esCorrectly.trailingCommaInRecordType.json | 38 ++++----- ...ions.parsesCorrectly.tsConstructoType.json | 17 ++++ ...ssions.parsesCorrectly.tsFunctionType.json | 17 ++++ ...xpressions.parsesCorrectly.tupleType0.json | 5 +- ...xpressions.parsesCorrectly.tupleType1.json | 8 +- ...xpressions.parsesCorrectly.tupleType2.json | 11 ++- ...xpressions.parsesCorrectly.tupleType3.json | 14 +-- ...sCorrectly.tupleTypeWithTrailingComma.json | 18 ++++ ...orrectly.typeArgumentsNotFollowingDot.json | 18 ++++ ...xpressions.parsesCorrectly.typeOfType.json | 13 +++ ...ssions.parsesCorrectly.typeReference1.json | 12 ++- ...ssions.parsesCorrectly.typeReference2.json | 15 ++-- ...ssions.parsesCorrectly.typeReference3.json | 8 +- ...Expressions.parsesCorrectly.unionType.json | 37 +++++--- ...pressions.parsesCorrectly.unknownType.json | 3 +- ...ressions.parsesCorrectly.variadicType.json | 4 +- .../baselines/reference/checkJsdocTypeTag1.js | 7 +- .../reference/checkJsdocTypeTag1.symbols | 4 +- .../reference/checkJsdocTypeTag1.types | 6 +- ...zerReferencingConstructorLocals.errors.txt | 16 ++-- ...initializerReferencingConstructorLocals.js | 2 - ...eferencingConstructorParameters.errors.txt | 4 +- ...ializerReferencingConstructorParameters.js | 1 - .../reference/invalidTypeOfTarget.errors.txt | 19 +++-- .../reference/invalidTypeOfTarget.js | 4 +- .../reference/jsdocFunctionType.symbols | 63 ++++++++++++++ .../reference/jsdocFunctionType.types | 70 +++++++++++++++ .../reference/jsdocInTypescript.errors.txt | 85 +++++++++++++++++++ .../baselines/reference/jsdocInTypescript.js | 46 ++++++++++ .../reference/jsdocInTypescript2.errors.txt | 9 ++ .../baselines/reference/jsdocInTypescript2.js | 10 +++ .../reference/jsdocTemplateTag.symbols | 30 +++---- .../reference/jsdocTemplateTag.types | 10 +-- .../jsdocTypesInTypeAnnotations.errors.txt | 29 +++++++ tests/baselines/reference/jsweird.symbols | 14 +++ tests/baselines/reference/jsweird.types | 16 ++++ ...vateInstanceMemberAccessibility.errors.txt | 9 +- .../privateInstanceMemberAccessibility.js | 1 - .../reference/syntaxErrors.errors.txt | 42 ++++----- .../thisTypeInFunctionsNegative.errors.txt | 21 +---- .../reference/thisTypeInFunctionsNegative.js | 6 +- 72 files changed, 970 insertions(+), 476 deletions(-) create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructoType.json create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json create mode 100644 tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json create mode 100644 tests/baselines/reference/jsdocFunctionType.symbols create mode 100644 tests/baselines/reference/jsdocFunctionType.types create mode 100644 tests/baselines/reference/jsdocInTypescript.errors.txt create mode 100644 tests/baselines/reference/jsdocInTypescript.js create mode 100644 tests/baselines/reference/jsdocInTypescript2.errors.txt create mode 100644 tests/baselines/reference/jsdocInTypescript2.js create mode 100644 tests/baselines/reference/jsdocTypesInTypeAnnotations.errors.txt create mode 100644 tests/baselines/reference/jsweird.symbols create mode 100644 tests/baselines/reference/jsweird.types diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json index 13826b63d9c..370e139b512 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json @@ -54,10 +54,10 @@ "pos": 34, "end": 42, "type": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 35, "end": 41, - "name": { + "typeName": { "kind": "Identifier", "pos": 35, "end": 41, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json index 68081a1b9e4..7fb632c7a35 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json @@ -1,5 +1,6 @@ { "kind": "JSDocAllType", "pos": 1, - "end": 2 + "end": 2, + "flags": "JSDoc" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json index cd9255d392c..b1e7fa13dc9 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json @@ -1,15 +1,18 @@ { - "kind": "JSDocArrayType", + "kind": "ArrayType", "pos": 1, "end": 4, + "flags": "JSDoc", "elementType": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 2, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 2, + "flags": "JSDoc", "text": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json index 1fe6d184599..125c706510d 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json @@ -1,19 +1,23 @@ { - "kind": "JSDocArrayType", + "kind": "ArrayType", "pos": 1, "end": 6, + "flags": "JSDoc", "elementType": { - "kind": "JSDocArrayType", + "kind": "ArrayType", "pos": 1, "end": 4, + "flags": "JSDoc", "elementType": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 2, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 2, + "flags": "JSDoc", "text": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json index 2fe27c67a1b..ca2b2e175cd 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json @@ -2,22 +2,27 @@ "kind": "JSDocOptionalType", "pos": 1, "end": 7, + "flags": "JSDoc", "type": { - "kind": "JSDocArrayType", + "kind": "ArrayType", "pos": 1, "end": 6, + "flags": "JSDoc", "elementType": { - "kind": "JSDocArrayType", + "kind": "ArrayType", "pos": 1, "end": 4, + "flags": "JSDoc", "elementType": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 2, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 2, + "flags": "JSDoc", "text": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json index 244c568ae05..6c00c3a8912 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json @@ -1,30 +1,28 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 13, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 13, - "members": { - "0": { - "kind": "CallSignature", - "pos": 2, - "end": 12, - "parameters": { - "length": 0, - "pos": 3, - "end": 3 - }, - "type": { - "kind": "NumberKeyword", - "pos": 5, - "end": 12 - } - }, - "length": 1, + "flags": "JSDoc", + "members": { + "0": { + "kind": "CallSignature", "pos": 2, - "end": 12 - } + "end": 12, + "flags": "JSDoc", + "parameters": { + "length": 0, + "pos": 3, + "end": 3 + }, + "type": { + "kind": "NumberKeyword", + "pos": 5, + "end": 12, + "flags": "JSDoc" + } + }, + "length": 1, + "pos": 2, + "end": 12 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json index 209b9440a87..d33287fb251 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json @@ -2,25 +2,30 @@ "kind": "JSDocFunctionType", "pos": 1, "end": 26, + "flags": "JSDoc", "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 16, + "flags": "JSDoc", "type": { "kind": "StringKeyword", "pos": 10, - "end": 16 + "end": 16, + "flags": "JSDoc" } }, "1": { "kind": "Parameter", "pos": 17, "end": 25, + "flags": "JSDoc", "type": { "kind": "BooleanKeyword", "pos": 17, - "end": 25 + "end": 25, + "flags": "JSDoc" } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json index d3be94a76ff..c589fd75317 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json @@ -2,6 +2,7 @@ "kind": "JSDocFunctionType", "pos": 1, "end": 11, + "flags": "JSDoc", "parameters": { "length": 0, "pos": 10, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json index 209b9440a87..d33287fb251 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json @@ -2,25 +2,30 @@ "kind": "JSDocFunctionType", "pos": 1, "end": 26, + "flags": "JSDoc", "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 16, + "flags": "JSDoc", "type": { "kind": "StringKeyword", "pos": 10, - "end": 16 + "end": 16, + "flags": "JSDoc" } }, "1": { "kind": "Parameter", "pos": 17, "end": 25, + "flags": "JSDoc", "type": { "kind": "BooleanKeyword", "pos": 17, - "end": 25 + "end": 25, + "flags": "JSDoc" } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json new file mode 100644 index 00000000000..a3d7fd40267 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json @@ -0,0 +1,31 @@ +{ + "kind": "JSDocFunctionType", + "pos": 1, + "end": 13, + "flags": "JSDoc", + "parameters": { + "0": { + "kind": "Parameter", + "pos": 10, + "end": 11, + "flags": "JSDoc", + "type": { + "kind": "TypeReference", + "pos": 10, + "end": 11, + "flags": "JSDoc", + "typeName": { + "kind": "Identifier", + "pos": 10, + "end": 11, + "flags": "JSDoc", + "text": "a" + } + } + }, + "length": 1, + "pos": 10, + "end": 12, + "hasTrailingComma": true + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json index 80b1378b291..b37c372a30c 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json @@ -1,11 +1,13 @@ { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 4, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 4, + "flags": "JSDoc", "originalKeywordKind": "VarKeyword", "text": "var" } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json index 4148937b278..a733da557af 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json @@ -1,5 +1,6 @@ { "kind": "NullKeyword", "pos": 1, - "end": 5 + "end": 5, + "flags": "JSDoc" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json index c61912f9eb8..c991d6cecc4 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json @@ -1,5 +1,6 @@ { "kind": "UndefinedKeyword", "pos": 1, - "end": 10 + "end": 10, + "flags": "JSDoc" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json index fab9a581bd9..296a5b0cc31 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json @@ -1,36 +1,35 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 16, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 16, - "members": { - "0": { - "kind": "MethodSignature", - "pos": 2, - "end": 15, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - }, - "parameters": { - "length": 0, - "pos": 6, - "end": 6 - }, - "type": { - "kind": "NumberKeyword", - "pos": 8, - "end": 15 - } - }, - "length": 1, + "flags": "JSDoc", + "members": { + "0": { + "kind": "MethodSignature", "pos": 2, - "end": 15 - } + "end": 15, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "flags": "JSDoc", + "text": "foo" + }, + "parameters": { + "length": 0, + "pos": 6, + "end": 6 + }, + "type": { + "kind": "NumberKeyword", + "pos": 8, + "end": 15, + "flags": "JSDoc" + } + }, + "length": 1, + "pos": 2, + "end": 15 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json index 194037970c5..f5956cd2ddb 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json @@ -1,25 +1,30 @@ { "kind": "JSDocConstructorType", - "pos": 1, + "pos": 4, "end": 8, + "flags": "JSDoc", "type": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 5, "end": 8, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "FirstNode", "pos": 5, "end": 8, + "flags": "JSDoc", "left": { "kind": "Identifier", "pos": 5, "end": 6, + "flags": "JSDoc", "text": "a" }, "right": { "kind": "Identifier", "pos": 7, "end": 8, + "flags": "JSDoc", "text": "b" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json index e089754a0de..5096e2c5ae1 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json @@ -2,9 +2,11 @@ "kind": "JSDocNonNullableType", "pos": 1, "end": 8, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 2, - "end": 8 + "end": 8, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json index 377b19d0f70..75bed7d45b6 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json @@ -2,9 +2,11 @@ "kind": "JSDocNonNullableType", "pos": 1, "end": 8, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 1, - "end": 7 + "end": 7, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json index 9c4457fba12..3b57e9c760a 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json @@ -2,9 +2,11 @@ "kind": "JSDocNullableType", "pos": 1, "end": 8, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 2, - "end": 8 + "end": 8, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json index 03aea7be8c5..1f0adde5ee1 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json @@ -2,9 +2,11 @@ "kind": "JSDocNullableType", "pos": 1, "end": 8, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 1, - "end": 7 + "end": 7, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json index f4940c28475..069de4aa09d 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json @@ -2,9 +2,11 @@ "kind": "JSDocOptionalType", "pos": 1, "end": 3, + "flags": "JSDoc", "type": { "kind": "JSDocUnknownType", "pos": 1, - "end": 2 + "end": 2, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json index 6069107cc6e..9faa4db0744 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json @@ -2,9 +2,11 @@ "kind": "JSDocOptionalType", "pos": 1, "end": 8, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 1, - "end": 7 + "end": 7, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json index 12be4806629..eb669992ca2 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json @@ -1,15 +1,11 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 3, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 3, - "members": { - "length": 0, - "pos": 2, - "end": 2 - } + "flags": "JSDoc", + "members": { + "length": 0, + "pos": 2, + "end": 2 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json index 4bed6d0b918..274a1abd531 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json @@ -1,26 +1,24 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 6, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 6, - "members": { - "0": { - "kind": "PropertySignature", + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", + "pos": 2, + "end": 5, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 2, "end": 5, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - } - }, - "length": 1, - "pos": 2, - "end": 5 - } + "flags": "JSDoc", + "text": "foo" + } + }, + "length": 1, + "pos": 2, + "end": 5 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json index 565738a6ba9..6451edee68b 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json @@ -1,31 +1,30 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 14, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 14, - "members": { - "0": { - "kind": "PropertySignature", - "pos": 2, - "end": 13, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - }, - "type": { - "kind": "NumberKeyword", - "pos": 6, - "end": 13 - } - }, - "length": 1, + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", "pos": 2, - "end": 13 - } + "end": 13, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "flags": "JSDoc", + "text": "foo" + }, + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13, + "flags": "JSDoc" + } + }, + "length": 1, + "pos": 2, + "end": 13 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json index 74bb20ab30b..2fb902cc7d3 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json @@ -1,37 +1,37 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 11, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 11, - "members": { - "0": { - "kind": "PropertySignature", + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", + "pos": 2, + "end": 6, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 2, - "end": 6, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - } - }, - "1": { - "kind": "PropertySignature", + "end": 5, + "flags": "JSDoc", + "text": "foo" + } + }, + "1": { + "kind": "PropertySignature", + "pos": 6, + "end": 10, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 6, "end": 10, - "name": { - "kind": "Identifier", - "pos": 6, - "end": 10, - "text": "bar" - } - }, - "length": 2, - "pos": 2, - "end": 10 - } + "flags": "JSDoc", + "text": "bar" + } + }, + "length": 2, + "pos": 2, + "end": 10 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json index b57de3aea3c..083d498df5f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json @@ -1,42 +1,43 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 19, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 19, - "members": { - "0": { - "kind": "PropertySignature", + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", + "pos": 2, + "end": 14, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 2, - "end": 14, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - }, - "type": { - "kind": "NumberKeyword", - "pos": 6, - "end": 13 - } + "end": 5, + "flags": "JSDoc", + "text": "foo" }, - "1": { - "kind": "PropertySignature", + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13, + "flags": "JSDoc" + } + }, + "1": { + "kind": "PropertySignature", + "pos": 14, + "end": 18, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 14, "end": 18, - "name": { - "kind": "Identifier", - "pos": 14, - "end": 18, - "text": "bar" - } - }, - "length": 2, - "pos": 2, - "end": 18 - } + "flags": "JSDoc", + "text": "bar" + } + }, + "length": 2, + "pos": 2, + "end": 18 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json index 6c980da4085..7c3e7898528 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json @@ -1,42 +1,43 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 19, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 19, - "members": { - "0": { - "kind": "PropertySignature", - "pos": 2, - "end": 6, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - } - }, - "1": { - "kind": "PropertySignature", - "pos": 6, - "end": 18, - "name": { - "kind": "Identifier", - "pos": 6, - "end": 10, - "text": "bar" - }, - "type": { - "kind": "NumberKeyword", - "pos": 11, - "end": 18 - } - }, - "length": 2, + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", "pos": 2, - "end": 18 - } + "end": 6, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "flags": "JSDoc", + "text": "foo" + } + }, + "1": { + "kind": "PropertySignature", + "pos": 6, + "end": 18, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 6, + "end": 10, + "flags": "JSDoc", + "text": "bar" + }, + "type": { + "kind": "NumberKeyword", + "pos": 11, + "end": 18, + "flags": "JSDoc" + } + }, + "length": 2, + "pos": 2, + "end": 18 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json index fb9f8c055cb..484c8eab770 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json @@ -1,47 +1,49 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 27, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 27, - "members": { - "0": { - "kind": "PropertySignature", - "pos": 2, - "end": 14, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 5, - "text": "foo" - }, - "type": { - "kind": "NumberKeyword", - "pos": 6, - "end": 13 - } - }, - "1": { - "kind": "PropertySignature", - "pos": 14, - "end": 26, - "name": { - "kind": "Identifier", - "pos": 14, - "end": 18, - "text": "bar" - }, - "type": { - "kind": "NumberKeyword", - "pos": 19, - "end": 26 - } - }, - "length": 2, + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", "pos": 2, - "end": 26 - } + "end": 14, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "flags": "JSDoc", + "text": "foo" + }, + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13, + "flags": "JSDoc" + } + }, + "1": { + "kind": "PropertySignature", + "pos": 14, + "end": 26, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 14, + "end": 18, + "flags": "JSDoc", + "text": "bar" + }, + "type": { + "kind": "NumberKeyword", + "pos": 19, + "end": 26, + "flags": "JSDoc" + } + }, + "length": 2, + "pos": 2, + "end": 26 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json index 748b593d235..661a02217aa 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json @@ -1,27 +1,25 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 11, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 11, - "members": { - "0": { - "kind": "PropertySignature", + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", + "pos": 2, + "end": 10, + "flags": "JSDoc", + "name": { + "kind": "Identifier", "pos": 2, "end": 10, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 10, - "originalKeywordKind": "FunctionKeyword", - "text": "function" - } - }, - "length": 1, - "pos": 2, - "end": 10 - } + "flags": "JSDoc", + "originalKeywordKind": "FunctionKeyword", + "text": "function" + } + }, + "length": 1, + "pos": 2, + "end": 10 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json index f0b8038b586..cb6cfba99fe 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json @@ -1,25 +1,30 @@ { "kind": "JSDocThisType", - "pos": 1, + "pos": 5, "end": 9, + "flags": "JSDoc", "type": { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 6, "end": 9, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "FirstNode", "pos": 6, "end": 9, + "flags": "JSDoc", "left": { "kind": "Identifier", "pos": 6, "end": 7, + "flags": "JSDoc", "text": "a" }, "right": { "kind": "Identifier", "pos": 8, "end": 9, + "flags": "JSDoc", "text": "b" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json index dd9ef74f8c6..3ca80d437b5 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json @@ -1,17 +1,20 @@ { - "kind": "JSDocUnionType", + "kind": "UnionType", "pos": 1, "end": 14, + "flags": "JSDoc", "types": { "0": { "kind": "NumberKeyword", "pos": 1, - "end": 7 + "end": 7, + "flags": "JSDoc" }, "1": { "kind": "StringKeyword", "pos": 8, - "end": 14 + "end": 14, + "flags": "JSDoc" }, "length": 2, "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json index 1694cf9aa73..899fcc6a649 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json @@ -1,26 +1,24 @@ { - "kind": "JSDocRecordType", + "kind": "TypeLiteral", "pos": 1, "end": 5, - "literal": { - "kind": "TypeLiteral", - "pos": 1, - "end": 5, - "members": { - "0": { - "kind": "PropertySignature", - "pos": 2, - "end": 4, - "name": { - "kind": "Identifier", - "pos": 2, - "end": 3, - "text": "a" - } - }, - "length": 1, + "flags": "JSDoc", + "members": { + "0": { + "kind": "PropertySignature", "pos": 2, - "end": 4 - } + "end": 4, + "flags": "JSDoc", + "name": { + "kind": "Identifier", + "pos": 2, + "end": 3, + "flags": "JSDoc", + "text": "a" + } + }, + "length": 1, + "pos": 2, + "end": 4 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructoType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructoType.json new file mode 100644 index 00000000000..1b124c78dac --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructoType.json @@ -0,0 +1,17 @@ +{ + "kind": "ConstructorType", + "pos": 1, + "end": 17, + "flags": "JSDoc", + "parameters": { + "length": 0, + "pos": 6, + "end": 6 + }, + "type": { + "kind": "StringKeyword", + "pos": 10, + "end": 17, + "flags": "JSDoc" + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json new file mode 100644 index 00000000000..32dd097a8f9 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json @@ -0,0 +1,17 @@ +{ + "kind": "FunctionType", + "pos": 1, + "end": 13, + "flags": "JSDoc", + "parameters": { + "length": 0, + "pos": 2, + "end": 2 + }, + "type": { + "kind": "StringKeyword", + "pos": 6, + "end": 13, + "flags": "JSDoc" + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json index 2b5580f7622..979f7e1d783 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json @@ -1,8 +1,9 @@ { - "kind": "JSDocTupleType", + "kind": "TupleType", "pos": 1, "end": 3, - "types": { + "flags": "JSDoc", + "elementTypes": { "length": 0, "pos": 2, "end": 2 diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json index f741169be4b..9f913923b68 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json @@ -1,12 +1,14 @@ { - "kind": "JSDocTupleType", + "kind": "TupleType", "pos": 1, "end": 9, - "types": { + "flags": "JSDoc", + "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, - "end": 8 + "end": 8, + "flags": "JSDoc" }, "length": 1, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json index 939eec1cb0c..9b87dc74995 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json @@ -1,17 +1,20 @@ { - "kind": "JSDocTupleType", + "kind": "TupleType", "pos": 1, "end": 16, - "types": { + "flags": "JSDoc", + "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, - "end": 8 + "end": 8, + "flags": "JSDoc" }, "1": { "kind": "StringKeyword", "pos": 9, - "end": 15 + "end": 15, + "flags": "JSDoc" }, "length": 2, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json index 50b0a702a84..5877b92ae64 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json @@ -1,22 +1,26 @@ { - "kind": "JSDocTupleType", + "kind": "TupleType", "pos": 1, "end": 24, - "types": { + "flags": "JSDoc", + "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, - "end": 8 + "end": 8, + "flags": "JSDoc" }, "1": { "kind": "StringKeyword", "pos": 9, - "end": 15 + "end": 15, + "flags": "JSDoc" }, "2": { "kind": "BooleanKeyword", "pos": 16, - "end": 23 + "end": 23, + "flags": "JSDoc" }, "length": 3, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json new file mode 100644 index 00000000000..48438f90c68 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json @@ -0,0 +1,18 @@ +{ + "kind": "TupleType", + "pos": 1, + "end": 10, + "flags": "JSDoc", + "elementTypes": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8, + "flags": "JSDoc" + }, + "length": 1, + "pos": 2, + "end": 9, + "hasTrailingComma": true + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json new file mode 100644 index 00000000000..a7a7ffbdf50 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json @@ -0,0 +1,18 @@ +{ + "kind": "TypeReference", + "pos": 1, + "end": 4, + "flags": "JSDoc", + "typeName": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "flags": "JSDoc", + "text": "a" + }, + "typeArguments": { + "length": 0, + "pos": 3, + "end": 3 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json new file mode 100644 index 00000000000..a889c3ef3a1 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json @@ -0,0 +1,13 @@ +{ + "kind": "TypeQuery", + "pos": 1, + "end": 9, + "flags": "JSDoc", + "exprName": { + "kind": "Identifier", + "pos": 7, + "end": 9, + "flags": "JSDoc", + "text": "M" + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json index 282bc8c8e64..62d6b12c8e5 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json @@ -1,18 +1,22 @@ { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 11, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 2, - "text": "a" + "flags": "JSDoc", + "text": "a", + "jsdocDot": true }, "typeArguments": { "0": { "kind": "NumberKeyword", "pos": 4, - "end": 10 + "end": 10, + "flags": "JSDoc" }, "length": 1, "pos": 4, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json index 570db907956..4ea0a37ee41 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json @@ -1,23 +1,28 @@ { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 18, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "Identifier", "pos": 1, "end": 2, - "text": "a" + "flags": "JSDoc", + "text": "a", + "jsdocDot": true }, "typeArguments": { "0": { "kind": "NumberKeyword", "pos": 4, - "end": 10 + "end": 10, + "flags": "JSDoc" }, "1": { "kind": "StringKeyword", "pos": 11, - "end": 17 + "end": 17, + "flags": "JSDoc" }, "length": 2, "pos": 4, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json index 683c17e582e..632c7ba87e9 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json @@ -1,21 +1,25 @@ { - "kind": "JSDocTypeReference", + "kind": "TypeReference", "pos": 1, "end": 11, - "name": { + "flags": "JSDoc", + "typeName": { "kind": "FirstNode", "pos": 1, "end": 11, + "flags": "JSDoc", "left": { "kind": "Identifier", "pos": 1, "end": 2, + "flags": "JSDoc", "text": "a" }, "right": { "kind": "Identifier", "pos": 3, "end": 11, + "flags": "JSDoc", "originalKeywordKind": "FunctionKeyword", "text": "function" } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json index f9301d05cc5..a6e8ab18df2 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json @@ -1,20 +1,29 @@ { - "kind": "JSDocUnionType", + "kind": "ParenthesizedType", "pos": 1, "end": 16, - "types": { - "0": { - "kind": "NumberKeyword", - "pos": 2, - "end": 8 - }, - "1": { - "kind": "StringKeyword", - "pos": 9, - "end": 15 - }, - "length": 2, + "flags": "JSDoc", + "type": { + "kind": "UnionType", "pos": 2, - "end": 15 + "end": 15, + "flags": "JSDoc", + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8, + "flags": "JSDoc" + }, + "1": { + "kind": "StringKeyword", + "pos": 9, + "end": 15, + "flags": "JSDoc" + }, + "length": 2, + "pos": 2, + "end": 15 + } } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json index 0fb7af7ef23..3dff66b0347 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json @@ -1,5 +1,6 @@ { "kind": "JSDocUnknownType", "pos": 1, - "end": 2 + "end": 2, + "flags": "JSDoc" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json index 2cf6079533c..00b950750e9 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json @@ -2,9 +2,11 @@ "kind": "JSDocVariadicType", "pos": 1, "end": 10, + "flags": "JSDoc", "type": { "kind": "NumberKeyword", "pos": 4, - "end": 10 + "end": 10, + "flags": "JSDoc" } } \ No newline at end of file diff --git a/tests/baselines/reference/checkJsdocTypeTag1.js b/tests/baselines/reference/checkJsdocTypeTag1.js index 664a02c6047..0613a237d7b 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.js +++ b/tests/baselines/reference/checkJsdocTypeTag1.js @@ -20,7 +20,7 @@ x(1); /** @type {function} */ const y = (a) => a + 1; -x(1); +y(1); /** @type {function (number)} */ const x1 = (a) => a + 1; @@ -38,7 +38,8 @@ var props = {}; /** * @type {Object} */ -var props = {}; +var props = {}; + //// [0.js] // @ts-check @@ -57,7 +58,7 @@ var x = function (a) { return a + 1; }; x(1); /** @type {function} */ var y = function (a) { return a + 1; }; -x(1); +y(1); /** @type {function (number)} */ var x1 = function (a) { return a + 1; }; x1(0); diff --git a/tests/baselines/reference/checkJsdocTypeTag1.symbols b/tests/baselines/reference/checkJsdocTypeTag1.symbols index cd337f8b556..281b59d37a0 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.symbols +++ b/tests/baselines/reference/checkJsdocTypeTag1.symbols @@ -37,8 +37,8 @@ const y = (a) => a + 1; >a : Symbol(a, Decl(0.js, 20, 11)) >a : Symbol(a, Decl(0.js, 20, 11)) -x(1); ->x : Symbol(x, Decl(0.js, 16, 5)) +y(1); +>y : Symbol(y, Decl(0.js, 20, 5)) /** @type {function (number)} */ const x1 = (a) => a + 1; diff --git a/tests/baselines/reference/checkJsdocTypeTag1.types b/tests/baselines/reference/checkJsdocTypeTag1.types index 8e59a2cdb7c..a0c0c53cfeb 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.types +++ b/tests/baselines/reference/checkJsdocTypeTag1.types @@ -53,9 +53,9 @@ const y = (a) => a + 1; >a : any >1 : 1 -x(1); ->x(1) : any ->x : Function +y(1); +>y(1) : any +>y : Function >1 : 1 /** @type {function (number)} */ diff --git a/tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt b/tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt index a3909e481f6..146048ceb93 100644 --- a/tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt +++ b/tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt @@ -1,18 +1,16 @@ tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(4,9): error TS2304: Cannot find name 'z'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(5,15): error TS2304: Cannot find name 'z'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(6,14): error TS2339: Property 'z' does not exist on type 'C'. -tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(7,15): error TS1003: Identifier expected. -tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(7,20): error TS2339: Property 'z' does not exist on type 'C'. +tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(7,15): error TS2304: Cannot find name 'this'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(9,9): error TS2304: Cannot find name 'z'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(14,9): error TS2304: Cannot find name 'z'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(15,15): error TS2304: Cannot find name 'z'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(16,14): error TS2339: Property 'z' does not exist on type 'D'. -tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(17,15): error TS1003: Identifier expected. -tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(17,20): error TS2339: Property 'z' does not exist on type 'D'. +tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(17,15): error TS2304: Cannot find name 'this'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts(19,9): error TS2304: Cannot find name 'z'. -==== tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts (12 errors) ==== +==== tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts (10 errors) ==== // Initializer expressions for instance member variables are evaluated in the scope of the class constructor body but are not permitted to reference parameters or local variables of the constructor. class C { @@ -27,9 +25,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencin !!! error TS2339: Property 'z' does not exist on type 'C'. d: typeof this.z; // error ~~~~ -!!! error TS1003: Identifier expected. - ~ -!!! error TS2339: Property 'z' does not exist on type 'C'. +!!! error TS2304: Cannot find name 'this'. constructor(x) { z = 1; ~ @@ -49,9 +45,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencin !!! error TS2339: Property 'z' does not exist on type 'D'. d: typeof this.z; // error ~~~~ -!!! error TS1003: Identifier expected. - ~ -!!! error TS2339: Property 'z' does not exist on type 'D'. +!!! error TS2304: Cannot find name 'this'. constructor(x: T) { z = 1; ~ diff --git a/tests/baselines/reference/initializerReferencingConstructorLocals.js b/tests/baselines/reference/initializerReferencingConstructorLocals.js index a4922e954d7..2dd3fdd0745 100644 --- a/tests/baselines/reference/initializerReferencingConstructorLocals.js +++ b/tests/baselines/reference/initializerReferencingConstructorLocals.js @@ -27,7 +27,6 @@ var C = (function () { function C(x) { this.a = z; // error this.c = this.z; // error - this.d = this.z; // error z = 1; } return C; @@ -36,7 +35,6 @@ var D = (function () { function D(x) { this.a = z; // error this.c = this.z; // error - this.d = this.z; // error z = 1; } return D; diff --git a/tests/baselines/reference/initializerReferencingConstructorParameters.errors.txt b/tests/baselines/reference/initializerReferencingConstructorParameters.errors.txt index eb6744d656b..0c92d8c52a6 100644 --- a/tests/baselines/reference/initializerReferencingConstructorParameters.errors.txt +++ b/tests/baselines/reference/initializerReferencingConstructorParameters.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencin tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(5,15): error TS2304: Cannot find name 'x'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(10,9): error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'? tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(11,15): error TS2304: Cannot find name 'x'. -tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(17,15): error TS1003: Identifier expected. +tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(17,15): error TS2304: Cannot find name 'this'. tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts(23,9): error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'? @@ -33,7 +33,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencin a = this.x; // ok b: typeof this.x; // error ~~~~ -!!! error TS1003: Identifier expected. +!!! error TS2304: Cannot find name 'this'. constructor(public x) { } } diff --git a/tests/baselines/reference/initializerReferencingConstructorParameters.js b/tests/baselines/reference/initializerReferencingConstructorParameters.js index 881913d5b5f..9326636fbd6 100644 --- a/tests/baselines/reference/initializerReferencingConstructorParameters.js +++ b/tests/baselines/reference/initializerReferencingConstructorParameters.js @@ -44,7 +44,6 @@ var E = (function () { function E(x) { this.x = x; this.a = this.x; // ok - this.b = this.x; // error } return E; }()); diff --git a/tests/baselines/reference/invalidTypeOfTarget.errors.txt b/tests/baselines/reference/invalidTypeOfTarget.errors.txt index 3c5f43c85d4..e658ab68c81 100644 --- a/tests/baselines/reference/invalidTypeOfTarget.errors.txt +++ b/tests/baselines/reference/invalidTypeOfTarget.errors.txt @@ -4,12 +4,15 @@ tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(3,16): error TS1003: Identifier expected. tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(4,16): error TS1003: Identifier expected. tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(5,16): error TS1003: Identifier expected. -tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(6,16): error TS1003: Identifier expected. -tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(7,16): error TS1003: Identifier expected. +tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(6,16): error TS2304: Cannot find name 'null'. +tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(7,16): error TS2552: Cannot find name 'function'. Did you mean 'Function'? +tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(7,25): error TS1005: '=' expected. +tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(7,25): error TS2304: Cannot find name 'f'. +tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(7,29): error TS1005: ',' expected. tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts(8,16): error TS1003: Identifier expected. -==== tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts (9 errors) ==== +==== tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts (12 errors) ==== var x1: typeof {}; ~ !!! error TS1003: Identifier expected. @@ -29,10 +32,16 @@ tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts !!! error TS1003: Identifier expected. var x6: typeof null; ~~~~ -!!! error TS1003: Identifier expected. +!!! error TS2304: Cannot find name 'null'. var x7: typeof function f() { }; ~~~~~~~~ -!!! error TS1003: Identifier expected. +!!! error TS2552: Cannot find name 'function'. Did you mean 'Function'? + ~ +!!! error TS1005: '=' expected. + ~ +!!! error TS2304: Cannot find name 'f'. + ~ +!!! error TS1005: ',' expected. var x8: typeof /123/; ~ !!! error TS1003: Identifier expected. \ No newline at end of file diff --git a/tests/baselines/reference/invalidTypeOfTarget.js b/tests/baselines/reference/invalidTypeOfTarget.js index 9945af643e6..ebc5bb70875 100644 --- a/tests/baselines/reference/invalidTypeOfTarget.js +++ b/tests/baselines/reference/invalidTypeOfTarget.js @@ -14,6 +14,6 @@ var x2 = function () { return ; }; var x3 = 1; var x4 = ''; var x5; -var x6 = null; -var x7 = function f() { }; +var x6; +var x7 = f(), _a = void 0; var x8 = /123/; diff --git a/tests/baselines/reference/jsdocFunctionType.symbols b/tests/baselines/reference/jsdocFunctionType.symbols new file mode 100644 index 00000000000..18592bf2cdc --- /dev/null +++ b/tests/baselines/reference/jsdocFunctionType.symbols @@ -0,0 +1,63 @@ +=== tests/cases/conformance/jsdoc/functions.js === +/** + * @param {function(this: string, number): number} c is just passing on through + * @return {function(this: string, number): number} + */ +function id1(c) { +>id1 : Symbol(id1, Decl(functions.js, 0, 0)) +>c : Symbol(c, Decl(functions.js, 4, 13)) + + return c +>c : Symbol(c, Decl(functions.js, 4, 13)) +} + +var x = id1(function (n) { return this.length + n }); +>x : Symbol(x, Decl(functions.js, 8, 3)) +>id1 : Symbol(id1, Decl(functions.js, 0, 0)) +>n : Symbol(n, Decl(functions.js, 8, 22)) +>this.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this : Symbol(this, Decl(functions.js, 1, 20)) +>length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>n : Symbol(n, Decl(functions.js, 8, 22)) + +/** + * @param {function(new: { length: number }, number): number} c is just passing on through + * @return {function(new: { length: number }, number): number} + */ +function id2(c) { +>id2 : Symbol(id2, Decl(functions.js, 8, 53)) +>c : Symbol(c, Decl(functions.js, 14, 13)) + + return c +>c : Symbol(c, Decl(functions.js, 14, 13)) +} + +class C { +>C : Symbol(C, Decl(functions.js, 16, 1)) + + /** @param {number} n */ + constructor(n) { +>n : Symbol(n, Decl(functions.js, 20, 16)) + + this.length = n; +>this.length : Symbol(C.length, Decl(functions.js, 20, 20)) +>this : Symbol(C, Decl(functions.js, 16, 1)) +>length : Symbol(C.length, Decl(functions.js, 20, 20)) +>n : Symbol(n, Decl(functions.js, 20, 16)) + } +} + +var y = id2(C); +>y : Symbol(y, Decl(functions.js, 25, 3)) +>id2 : Symbol(id2, Decl(functions.js, 8, 53)) +>C : Symbol(C, Decl(functions.js, 16, 1)) + +var z = new y(12); +>z : Symbol(z, Decl(functions.js, 26, 3)) +>y : Symbol(y, Decl(functions.js, 25, 3)) + +z.length; +>z.length : Symbol(length, Decl(functions.js, 12, 27)) +>z : Symbol(z, Decl(functions.js, 26, 3)) +>length : Symbol(length, Decl(functions.js, 12, 27)) + diff --git a/tests/baselines/reference/jsdocFunctionType.types b/tests/baselines/reference/jsdocFunctionType.types new file mode 100644 index 00000000000..65f3f929a5c --- /dev/null +++ b/tests/baselines/reference/jsdocFunctionType.types @@ -0,0 +1,70 @@ +=== tests/cases/conformance/jsdoc/functions.js === +/** + * @param {function(this: string, number): number} c is just passing on through + * @return {function(this: string, number): number} + */ +function id1(c) { +>id1 : (c: (this: string, arg1: number) => number) => (this: string, arg1: number) => number +>c : (this: string, arg1: number) => number + + return c +>c : (this: string, arg1: number) => number +} + +var x = id1(function (n) { return this.length + n }); +>x : (this: string, arg1: number) => number +>id1(function (n) { return this.length + n }) : (this: string, arg1: number) => number +>id1 : (c: (this: string, arg1: number) => number) => (this: string, arg1: number) => number +>function (n) { return this.length + n } : (this: string, n: number) => number +>n : number +>this.length + n : number +>this.length : number +>this : string +>length : number +>n : number + +/** + * @param {function(new: { length: number }, number): number} c is just passing on through + * @return {function(new: { length: number }, number): number} + */ +function id2(c) { +>id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } +>c : new (arg1: number) => { length: number; } + + return c +>c : new (arg1: number) => { length: number; } +} + +class C { +>C : C + + /** @param {number} n */ + constructor(n) { +>n : number + + this.length = n; +>this.length = n : number +>this.length : number +>this : this +>length : number +>n : number + } +} + +var y = id2(C); +>y : new (arg1: number) => { length: number; } +>id2(C) : new (arg1: number) => { length: number; } +>id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } +>C : typeof C + +var z = new y(12); +>z : { length: number; } +>new y(12) : { length: number; } +>y : new (arg1: number) => { length: number; } +>12 : 12 + +z.length; +>z.length : number +>z : { length: number; } +>length : number + diff --git a/tests/baselines/reference/jsdocInTypescript.errors.txt b/tests/baselines/reference/jsdocInTypescript.errors.txt new file mode 100644 index 00000000000..3e5e0ca027f --- /dev/null +++ b/tests/baselines/reference/jsdocInTypescript.errors.txt @@ -0,0 +1,85 @@ +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(2,10): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(4,15): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(4,27): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(7,20): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(7,32): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(10,18): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(10,31): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(11,12): error TS2554: Expected 1 arguments, but got 2. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(13,14): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(14,11): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(15,8): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(16,15): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(17,11): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(18,5): error TS2322: Type '{}' is not assignable to type 'string'. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(18,16): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(19,5): error TS2322: Type '{}' is not assignable to type 'string'. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(19,17): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(20,17): error TS8020: JSDoc types can only used inside documentation comments. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(21,5): error TS2322: Type 'undefined' is not assignable to type 'number | null'. +tests/cases/conformance/jsdoc/jsdocInTypescript.ts(21,17): error TS8020: JSDoc types can only used inside documentation comments. + + +==== tests/cases/conformance/jsdoc/jsdocInTypescript.ts (20 errors) ==== + // grammar error from checker + var ara: Array. = [1,2,3]; + ~~~~~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + + function f(x: ?number, y: Array.) { + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + ~~~~~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + return x ? x + y[1] : y[0]; + } + function hof(ctor: function(new: number, string)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + ~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + return new ctor('hi'); + } + function hof2(f: function(this: number, string): string) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + ~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + return f(12, 'hullo'); + ~~~~~~~~~~~~~~ +!!! error TS2554: Expected 1 arguments, but got 2. + } + var whatevs: * = 1001; + ~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var ques: ? = 'what'; + ~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var g: function(number, number): number = (n,m) => n + m; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var variadic: ...boolean = [true, false, true]; + ~~~~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var most: !string = 'definite'; + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var weird1: new:string = {}; + ~~~~~~ +!!! error TS2322: Type '{}' is not assignable to type 'string'. + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var weird2: this:string = {}; + ~~~~~~ +!!! error TS2322: Type '{}' is not assignable to type 'string'. + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var postfixdef: number! = 101; + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + var postfixopt: number? = undefined; + ~~~~~~~~~~ +!!! error TS2322: Type 'undefined' is not assignable to type 'number | null'. + ~~~~~~~ +!!! error TS8020: JSDoc types can only used inside documentation comments. + \ No newline at end of file diff --git a/tests/baselines/reference/jsdocInTypescript.js b/tests/baselines/reference/jsdocInTypescript.js new file mode 100644 index 00000000000..665707e15d1 --- /dev/null +++ b/tests/baselines/reference/jsdocInTypescript.js @@ -0,0 +1,46 @@ +//// [jsdocInTypescript.ts] +// grammar error from checker +var ara: Array. = [1,2,3]; + +function f(x: ?number, y: Array.) { + return x ? x + y[1] : y[0]; +} +function hof(ctor: function(new: number, string)) { + return new ctor('hi'); +} +function hof2(f: function(this: number, string): string) { + return f(12, 'hullo'); +} +var whatevs: * = 1001; +var ques: ? = 'what'; +var g: function(number, number): number = (n,m) => n + m; +var variadic: ...boolean = [true, false, true]; +var most: !string = 'definite'; +var weird1: new:string = {}; +var weird2: this:string = {}; +var postfixdef: number! = 101; +var postfixopt: number? = undefined; + + +//// [jsdocInTypescript.js] +"use strict"; +// grammar error from checker +var ara = [1, 2, 3]; +function f(x, y) { + return x ? x + y[1] : y[0]; +} +function hof(ctor) { + return new ctor('hi'); +} +function hof2(f) { + return f(12, 'hullo'); +} +var whatevs = 1001; +var ques = 'what'; +var g = function (n, m) { return n + m; }; +var variadic = [true, false, true]; +var most = 'definite'; +var weird1 = {}; +var weird2 = {}; +var postfixdef = 101; +var postfixopt = undefined; diff --git a/tests/baselines/reference/jsdocInTypescript2.errors.txt b/tests/baselines/reference/jsdocInTypescript2.errors.txt new file mode 100644 index 00000000000..4616212c211 --- /dev/null +++ b/tests/baselines/reference/jsdocInTypescript2.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/jsdoc/jsdocInTypescript2.ts(2,27): error TS1109: Expression expected. + + +==== tests/cases/conformance/jsdoc/jsdocInTypescript2.ts (1 errors) ==== + // parse error (blocks grammar errors from checker) + function parse1(n: number=) { } + ~ +!!! error TS1109: Expression expected. + \ No newline at end of file diff --git a/tests/baselines/reference/jsdocInTypescript2.js b/tests/baselines/reference/jsdocInTypescript2.js new file mode 100644 index 00000000000..0624d5af1d8 --- /dev/null +++ b/tests/baselines/reference/jsdocInTypescript2.js @@ -0,0 +1,10 @@ +//// [jsdocInTypescript2.ts] +// parse error (blocks grammar errors from checker) +function parse1(n: number=) { } + + +//// [jsdocInTypescript2.js] +// parse error (blocks grammar errors from checker) +function parse1(n) { + if (n === void 0) { n = ; } +} diff --git a/tests/baselines/reference/jsdocTemplateTag.symbols b/tests/baselines/reference/jsdocTemplateTag.symbols index 699e93339ed..98eee628178 100644 --- a/tests/baselines/reference/jsdocTemplateTag.symbols +++ b/tests/baselines/reference/jsdocTemplateTag.symbols @@ -1,36 +1,32 @@ -=== tests/cases/conformance/jsdoc/jsdocTemplateTag.ts === +=== tests/cases/conformance/jsdoc/forgot.js === /** * @param {T} a * @template T */ -function f(a: T) { ->f : Symbol(f, Decl(jsdocTemplateTag.ts, 0, 0)) ->T : Symbol(T, Decl(jsdocTemplateTag.ts, 4, 11)) ->a : Symbol(a, Decl(jsdocTemplateTag.ts, 4, 14)) ->T : Symbol(T, Decl(jsdocTemplateTag.ts, 4, 11)) +function f(a) { +>f : Symbol(f, Decl(forgot.js, 0, 0)) +>a : Symbol(a, Decl(forgot.js, 4, 11)) return () => a ->a : Symbol(a, Decl(jsdocTemplateTag.ts, 4, 14)) +>a : Symbol(a, Decl(forgot.js, 4, 11)) } let n = f(1)() ->n : Symbol(n, Decl(jsdocTemplateTag.ts, 7, 3)) ->f : Symbol(f, Decl(jsdocTemplateTag.ts, 0, 0)) +>n : Symbol(n, Decl(forgot.js, 7, 3)) +>f : Symbol(f, Decl(forgot.js, 0, 0)) /** * @param {T} a * @template T * @returns {function(): T} */ -function g(a: T) { ->g : Symbol(g, Decl(jsdocTemplateTag.ts, 7, 14)) ->T : Symbol(T, Decl(jsdocTemplateTag.ts, 14, 11)) ->a : Symbol(a, Decl(jsdocTemplateTag.ts, 14, 14)) ->T : Symbol(T, Decl(jsdocTemplateTag.ts, 14, 11)) +function g(a) { +>g : Symbol(g, Decl(forgot.js, 7, 14)) +>a : Symbol(a, Decl(forgot.js, 14, 11)) return () => a ->a : Symbol(a, Decl(jsdocTemplateTag.ts, 14, 14)) +>a : Symbol(a, Decl(forgot.js, 14, 11)) } let s = g('hi')() ->s : Symbol(s, Decl(jsdocTemplateTag.ts, 17, 3)) ->g : Symbol(g, Decl(jsdocTemplateTag.ts, 7, 14)) +>s : Symbol(s, Decl(forgot.js, 17, 3)) +>g : Symbol(g, Decl(forgot.js, 7, 14)) diff --git a/tests/baselines/reference/jsdocTemplateTag.types b/tests/baselines/reference/jsdocTemplateTag.types index 72b0529d97e..b1d8c46720d 100644 --- a/tests/baselines/reference/jsdocTemplateTag.types +++ b/tests/baselines/reference/jsdocTemplateTag.types @@ -1,13 +1,11 @@ -=== tests/cases/conformance/jsdoc/jsdocTemplateTag.ts === +=== tests/cases/conformance/jsdoc/forgot.js === /** * @param {T} a * @template T */ -function f(a: T) { +function f(a) { >f : (a: T) => () => T ->T : T >a : T ->T : T return () => a >() => a : () => T @@ -25,11 +23,9 @@ let n = f(1)() * @template T * @returns {function(): T} */ -function g(a: T) { +function g(a) { >g : (a: T) => () => T ->T : T >a : T ->T : T return () => a >() => a : () => T diff --git a/tests/baselines/reference/jsdocTypesInTypeAnnotations.errors.txt b/tests/baselines/reference/jsdocTypesInTypeAnnotations.errors.txt new file mode 100644 index 00000000000..72f74609078 --- /dev/null +++ b/tests/baselines/reference/jsdocTypesInTypeAnnotations.errors.txt @@ -0,0 +1,29 @@ +tests/cases/conformance/jsdoc/f.js(5,15): error TS2304: Cannot find name 'F'. +tests/cases/conformance/jsdoc/f.js(5,15): error TS8010: 'types' can only be used in a .ts file. +tests/cases/conformance/jsdoc/normal.ts(4,12): error TS7006: Parameter 'c' implicitly has an 'any' type. + + +==== tests/cases/conformance/jsdoc/node.d.ts (0 errors) ==== + declare function require(id: string): any; + declare var module: any, exports: any; + +==== tests/cases/conformance/jsdoc/f.js (2 errors) ==== + var F = function () { + this.x = 1; + }; + + function f(p: F) { p.x; } + ~ +!!! error TS2304: Cannot find name 'F'. + ~ +!!! error TS8010: 'types' can only be used in a .ts file. + +==== tests/cases/conformance/jsdoc/normal.ts (1 errors) ==== + class C { p: number } + + /** @param {C} p */ + function g(c) { return c.p } + ~ +!!! error TS7006: Parameter 'c' implicitly has an 'any' type. + + \ No newline at end of file diff --git a/tests/baselines/reference/jsweird.symbols b/tests/baselines/reference/jsweird.symbols new file mode 100644 index 00000000000..8bed15c4468 --- /dev/null +++ b/tests/baselines/reference/jsweird.symbols @@ -0,0 +1,14 @@ +=== tests/cases/conformance/jsdoc/crash.js === +/** + * @param {function(new:number, string)} c crashes with correct syntax too + * @return {number} + */ +function sub4(c) { +>sub4 : Symbol(sub4, Decl(crash.js, 0, 0)) +>c : Symbol(c, Decl(crash.js, 4, 14)) + + return new c('hi') +>c : Symbol(c, Decl(crash.js, 4, 14)) +} + + diff --git a/tests/baselines/reference/jsweird.types b/tests/baselines/reference/jsweird.types new file mode 100644 index 00000000000..f77bb369570 --- /dev/null +++ b/tests/baselines/reference/jsweird.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/jsdoc/crash.js === +/** + * @param {function(new:number, string)} c crashes with correct syntax too + * @return {number} + */ +function sub4(c) { +>sub4 : (c: new (arg1: string) => number) => number +>c : new (arg1: string) => number + + return new c('hi') +>new c('hi') : number +>c : new (arg1: string) => number +>'hi' : "hi" +} + + diff --git a/tests/baselines/reference/privateInstanceMemberAccessibility.errors.txt b/tests/baselines/reference/privateInstanceMemberAccessibility.errors.txt index adca4e30e10..ae7dac2f18c 100644 --- a/tests/baselines/reference/privateInstanceMemberAccessibility.errors.txt +++ b/tests/baselines/reference/privateInstanceMemberAccessibility.errors.txt @@ -2,12 +2,11 @@ tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAcces Property 'foo' is private in type 'Base' but not in type 'Derived'. tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(6,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(8,22): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. -tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(10,15): error TS1003: Identifier expected. -tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(10,21): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. +tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(10,15): error TS2304: Cannot find name 'super'. tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts(12,12): error TS1005: ';' expected. -==== tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts (6 errors) ==== +==== tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts (5 errors) ==== class Base { private foo: string; } @@ -26,9 +25,7 @@ tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAcces } z: typeof super.foo; // error ~~~~~ -!!! error TS1003: Identifier expected. - ~~~ -!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. +!!! error TS2304: Cannot find name 'super'. a: this.foo; // error ~ diff --git a/tests/baselines/reference/privateInstanceMemberAccessibility.js b/tests/baselines/reference/privateInstanceMemberAccessibility.js index 8448f142bbb..40b8c886cc0 100644 --- a/tests/baselines/reference/privateInstanceMemberAccessibility.js +++ b/tests/baselines/reference/privateInstanceMemberAccessibility.js @@ -34,7 +34,6 @@ var Derived = (function (_super) { function Derived() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.x = _super.prototype.foo; // error - _this.z = _super.prototype.foo; // error return _this; } Derived.prototype.y = function () { diff --git a/tests/baselines/reference/syntaxErrors.errors.txt b/tests/baselines/reference/syntaxErrors.errors.txt index 8e3005891a5..02ad52a15e5 100644 --- a/tests/baselines/reference/syntaxErrors.errors.txt +++ b/tests/baselines/reference/syntaxErrors.errors.txt @@ -1,31 +1,19 @@ -tests/cases/conformance/jsdoc/foo.js(2,15): error TS1005: '}' expected. -tests/cases/conformance/jsdoc/foo.js(3,19): error TS1005: '}' expected. -tests/cases/conformance/jsdoc/foo.js(4,18): error TS1003: Identifier expected. -tests/cases/conformance/jsdoc/foo.js(4,19): error TS1005: '}' expected. +tests/cases/conformance/jsdoc/badTypeArguments.js(1,15): error TS1099: Type argument list cannot be empty. +tests/cases/conformance/jsdoc/badTypeArguments.js(2,22): error TS1009: Trailing comma not allowed. -==== tests/cases/conformance/jsdoc/foo.js (4 errors) ==== - /** - * @param {(x)=>void} x - ~~ -!!! error TS1005: '}' expected. - * @param {typeof String} y - ~~~~~~ -!!! error TS1005: '}' expected. - * @param {string & number} z - -!!! error TS1003: Identifier expected. - ~ -!!! error TS1005: '}' expected. - **/ - function foo(x, y, z) { } +==== tests/cases/conformance/jsdoc/dummyType.d.ts (0 errors) ==== + declare class C { t: T } -==== tests/cases/conformance/jsdoc/skipped.js (0 errors) ==== - // @ts-nocheck - /** - * @param {(x)=>void} x - * @param {typeof String} y - * @param {string & number} z - **/ - function bar(x, y, z) { } +==== tests/cases/conformance/jsdoc/badTypeArguments.js (2 errors) ==== + /** @param {C.<>} x */ + ~~ +!!! error TS1099: Type argument list cannot be empty. + /** @param {C.} y */ + ~ +!!! error TS1009: Trailing comma not allowed. + function f(x, y) { + return x.t + y.t; + } + var x = f({ t: 1000 }, { t: 3000 }); \ No newline at end of file diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index ad8978847f4..4f566c1a7ae 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -88,18 +88,13 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,24): e tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(171,28): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(171,32): error TS1005: ',' expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,30): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,32): error TS1138: Parameter declaration expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,39): error TS1005: ';' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,40): error TS1128: Declaration or statement expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,42): error TS2693: 'number' only refers to a type, but is being used as a value here. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,49): error TS1005: ';' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,1): error TS7027: Unreachable code detected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(172,32): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,29): error TS2304: Cannot find name 'm'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,32): error TS1005: ';' expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): error TS2304: Cannot find name 'm'. -==== tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts (65 errors) ==== +==== tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts (60 errors) ==== class C { n: number; explicitThis(this: this, m: number): number { @@ -419,20 +414,10 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e ~ !!! error TS1005: ',' expected. ~~~ -!!! error TS1138: Parameter declaration expected. - ~ -!!! error TS1005: ';' expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~~~~~~ -!!! error TS2693: 'number' only refers to a type, but is being used as a value here. - ~ -!!! error TS1005: ';' expected. +!!! error TS1003: Identifier expected. // can't name parameters 'this' in a lambda. c.explicitProperty = (this, m) => m + this.n; - ~ -!!! error TS7027: Unreachable code detected. ~ !!! error TS2304: Cannot find name 'm'. ~~ diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.js b/tests/baselines/reference/thisTypeInFunctionsNegative.js index 6cf6f477827..4b0e18f9b94 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.js +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.js @@ -350,10 +350,8 @@ function decorated(, C) { if ( === void 0) { = this; } return this.n; } -function initializer() { } -new C(); -number; -{ +function initializer() { + if ( === void 0) { = new C(); } return this.n; } // can't name parameters 'this' in a lambda.