From 002bb6f04b5fb7fecf8decf1c331d07b222b27e5 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 15:23:38 -0700 Subject: [PATCH 001/342] Added tests. --- .../matchable/equalityWithUnionTypes01.ts | 20 +++++++++++++++ .../matchable/switchCaseWithUnionTypes01.ts | 25 +++++++++++++++++++ .../typeAssertionsWithUnionTypes01.ts | 16 ++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts new file mode 100644 index 00000000000..d83277b975a --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts @@ -0,0 +1,20 @@ +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +var x = { p1: 10, p2: 20 }; +var y: number | I2 = x; +var z: I1 = x; + +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts new file mode 100644 index 00000000000..bdbfaf2df47 --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts @@ -0,0 +1,25 @@ + +var strOrNum: string | number; +var numOrBool: number | boolean; +var str: string; +var num: number; +var bool: boolean; + +switch (strOrNum) { + // Identical + case strOrNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numOrBool: + break; + + // No relation + case bool: + break; +} \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts new file mode 100644 index 00000000000..3010c5f159a --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts @@ -0,0 +1,16 @@ +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +var x = { p1: 10, p2: 20 }; +var y: number | I2 = x; +var z: I1 = x; + +var a = z; +var b = z; +var c = z; +var d = y; From 7426aca392e1d62c6e9985e2cd6909bc9432be80 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 15:23:51 -0700 Subject: [PATCH 002/342] Accepted baselines. --- .../equalityWithUnionTypes01.errors.txt | 47 ++++++++++++++++++ .../reference/equalityWithUnionTypes01.js | 34 +++++++++++++ .../switchCaseWithUnionTypes01.errors.txt | 40 ++++++++++++++++ .../reference/switchCaseWithUnionTypes01.js | 48 +++++++++++++++++++ .../typeAssertionsWithUnionTypes01.errors.txt | 35 ++++++++++++++ .../typeAssertionsWithUnionTypes01.js | 27 +++++++++++ 6 files changed, 231 insertions(+) create mode 100644 tests/baselines/reference/equalityWithUnionTypes01.errors.txt create mode 100644 tests/baselines/reference/equalityWithUnionTypes01.js create mode 100644 tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt create mode 100644 tests/baselines/reference/switchCaseWithUnionTypes01.js create mode 100644 tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt create mode 100644 tests/baselines/reference/typeAssertionsWithUnionTypes01.js diff --git a/tests/baselines/reference/equalityWithUnionTypes01.errors.txt b/tests/baselines/reference/equalityWithUnionTypes01.errors.txt new file mode 100644 index 00000000000..985ba9e5867 --- /dev/null +++ b/tests/baselines/reference/equalityWithUnionTypes01.errors.txt @@ -0,0 +1,47 @@ +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(13,5): error TS2365: Operator '===' cannot be applied to types 'number | I2' and 'I1'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(13,16): error TS2365: Operator '===' cannot be applied to types 'I1' and 'number | I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(15,10): error TS2365: Operator '!==' cannot be applied to types 'number | I2' and 'I1'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(15,21): error TS2365: Operator '!==' cannot be applied to types 'I1' and 'number | I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(17,10): error TS2365: Operator '==' cannot be applied to types 'number | I2' and 'I1'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(17,20): error TS2365: Operator '==' cannot be applied to types 'I1' and 'number | I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(19,10): error TS2365: Operator '!=' cannot be applied to types 'number | I2' and 'I1'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(19,20): error TS2365: Operator '!=' cannot be applied to types 'I1' and 'number | I2'. + + +==== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts (8 errors) ==== + interface I1 { + p1: number + } + + interface I2 extends I1 { + p2: number; + } + + var x = { p1: 10, p2: 20 }; + var y: number | I2 = x; + var z: I1 = x; + + if (y === z || z === y) { + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'number | I2' and 'I1'. + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'I1' and 'number | I2'. + } + else if (y !== z || z !== y) { + ~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types 'number | I2' and 'I1'. + ~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types 'I1' and 'number | I2'. + } + else if (y == z || z == y) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'number | I2' and 'I1'. + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'I1' and 'number | I2'. + } + else if (y != z || z != y) { + ~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types 'number | I2' and 'I1'. + ~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types 'I1' and 'number | I2'. + } \ No newline at end of file diff --git a/tests/baselines/reference/equalityWithUnionTypes01.js b/tests/baselines/reference/equalityWithUnionTypes01.js new file mode 100644 index 00000000000..05e9f25cd69 --- /dev/null +++ b/tests/baselines/reference/equalityWithUnionTypes01.js @@ -0,0 +1,34 @@ +//// [equalityWithUnionTypes01.ts] +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +var x = { p1: 10, p2: 20 }; +var y: number | I2 = x; +var z: I1 = x; + +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} + +//// [equalityWithUnionTypes01.js] +var x = { p1: 10, p2: 20 }; +var y = x; +var z = x; +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt new file mode 100644 index 00000000000..ee60c210253 --- /dev/null +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt @@ -0,0 +1,40 @@ +tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts(19,10): error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. + Type 'boolean' is not assignable to type 'string | number'. + Type 'boolean' is not assignable to type 'number'. +tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string | number'. + Type 'boolean' is not assignable to type 'number'. + + +==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts (2 errors) ==== + + var strOrNum: string | number; + var numOrBool: number | boolean; + var str: string; + var num: number; + var bool: boolean; + + switch (strOrNum) { + // Identical + case strOrNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numOrBool: + ~~~~~~~~~ +!!! error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. +!!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. + break; + + // No relation + case bool: + ~~~~ +!!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. + break; + } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.js b/tests/baselines/reference/switchCaseWithUnionTypes01.js new file mode 100644 index 00000000000..5c34ea674dc --- /dev/null +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.js @@ -0,0 +1,48 @@ +//// [switchCaseWithUnionTypes01.ts] + +var strOrNum: string | number; +var numOrBool: number | boolean; +var str: string; +var num: number; +var bool: boolean; + +switch (strOrNum) { + // Identical + case strOrNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numOrBool: + break; + + // No relation + case bool: + break; +} + +//// [switchCaseWithUnionTypes01.js] +var strOrNum; +var numOrBool; +var str; +var num; +var bool; +switch (strOrNum) { + // Identical + case strOrNum: + break; + // Constituents + case str: + case num: + break; + // Overlap in constituents + case numOrBool: + break; + // No relation + case bool: + break; +} diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt new file mode 100644 index 00000000000..2a9dceaf8a6 --- /dev/null +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -0,0 +1,35 @@ +tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(13,9): error TS2352: Neither type 'I1' nor type 'number | I2' is assignable to the other. + Type 'I1' is not assignable to type 'I2'. + Property 'p2' is missing in type 'I1'. +tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. +tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(16,9): error TS2352: Neither type 'number | I2' nor type 'I1' is assignable to the other. + Type 'number' is not assignable to type 'I1'. + + +==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts (3 errors) ==== + interface I1 { + p1: number + } + + interface I2 extends I1 { + p2: number; + } + + var x = { p1: 10, p2: 20 }; + var y: number | I2 = x; + var z: I1 = x; + + var a = z; + ~~~~~~~~~~~~~~ +!!! error TS2352: Neither type 'I1' nor type 'number | I2' is assignable to the other. +!!! error TS2352: Type 'I1' is not assignable to type 'I2'. +!!! error TS2352: Property 'p2' is missing in type 'I1'. + var b = z; + ~~~~~~~~~ +!!! error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. + var c = z; + var d = y; + ~~~~~ +!!! error TS2352: Neither type 'number | I2' nor type 'I1' is assignable to the other. +!!! error TS2352: Type 'number' is not assignable to type 'I1'. + \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.js b/tests/baselines/reference/typeAssertionsWithUnionTypes01.js new file mode 100644 index 00000000000..9cc448f6217 --- /dev/null +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.js @@ -0,0 +1,27 @@ +//// [typeAssertionsWithUnionTypes01.ts] +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +var x = { p1: 10, p2: 20 }; +var y: number | I2 = x; +var z: I1 = x; + +var a = z; +var b = z; +var c = z; +var d = y; + + +//// [typeAssertionsWithUnionTypes01.js] +var x = { p1: 10, p2: 20 }; +var y = x; +var z = x; +var a = z; +var b = z; +var c = z; +var d = y; From 43f158d4185ce3432edadee7aefc299dc641435b Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 16:17:26 -0700 Subject: [PATCH 003/342] Added "comparability" relation. It's currently equivalent to assignability. --- src/compiler/checker.ts | 47 +++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f64c25217bd..cebbe9380e3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -211,6 +211,7 @@ namespace ts { let subtypeRelation: Map = {}; let assignableRelation: Map = {}; + let comparableRelation: Map = {}; let identityRelation: Map = {}; // This is for caching the result of getSymbolDisplayBuilder. Do not access directly. @@ -4738,6 +4739,14 @@ namespace ts { return checkTypeAssignableTo(source, target, /*errorNode*/ undefined); } + /** + * This is *not* a bi-directional relationship. + * If one needs to check both directions for comparability, use a second call to this function or 'checkTypeComparableTo'. + */ + function isTypeComparableTo(source: Type, target: Type): boolean { + return checkTypeComparableTo(source, target, /*errorNode*/ undefined); + } + function checkTypeSubtypeOf(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { return checkTypeRelatedTo(source, target, subtypeRelation, errorNode, headMessage, containingMessageChain); } @@ -4746,6 +4755,14 @@ namespace ts { return checkTypeRelatedTo(source, target, assignableRelation, errorNode, headMessage, containingMessageChain); } + /** + * This is *not* a bi-directional relationship. + * If one needs to check both directions for comparability, use a second call to this function or 'isTypeComparableTo'. + */ + function checkTypeComparableTo(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { + return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); + } + function isSignatureAssignableTo(source: Signature, target: Signature): boolean { let sourceType = getOrCreateTypeFromSignature(source); let targetType = getOrCreateTypeFromSignature(target); @@ -4756,7 +4773,7 @@ namespace ts { * Checks if 'source' is related to 'target' (e.g.: is a assignable to). * @param source The left-hand-side of the relation. * @param target The right-hand-side of the relation. - * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', or 'subTypeRelation'. + * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', 'subTypeRelation', or 'comparableRelation'. * Used as both to determine which checks are performed and as a cache of previously computed results. * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used. * @param headMessage If the error chain should be prepended by a head message, then headMessage will be used. @@ -4781,6 +4798,7 @@ namespace ts { Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); + const isAssignableOrComparableRelation = relation === assignableRelation || relation === comparableRelation; let result = isRelatedTo(source, target, errorNode !== undefined, headMessage); if (overflow) { error(errorNode, Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source), typeToString(target)); @@ -4834,7 +4852,7 @@ namespace ts { if (source === nullType && target !== undefinedType) return Ternary.True; if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; if (source.flags & TypeFlags.StringLiteral && target === stringType) return Ternary.True; - if (relation === assignableRelation) { + if (isAssignableOrComparableRelation) { if (isTypeAny(source)) return Ternary.True; if (source === numberType && target.flags & TypeFlags.Enum) return Ternary.True; } @@ -4942,8 +4960,8 @@ namespace ts { } if (source.flags & TypeFlags.Union && target.flags & TypeFlags.Union || source.flags & TypeFlags.Intersection && target.flags & TypeFlags.Intersection) { - if (result = eachTypeRelatedToSomeType(source, target)) { - if (result &= eachTypeRelatedToSomeType(target, source)) { + if (result = eachTypeRelatedToSomeType(source, target, /*reportErrors*/ false)) { + if (result &= eachTypeRelatedToSomeType(target, source, /*reportErrors*/ false)) { return result; } } @@ -4958,7 +4976,7 @@ namespace ts { function isKnownProperty(type: Type, name: string): boolean { if (type.flags & TypeFlags.ObjectType) { const resolved = resolveStructuredTypeMembers(type); - if (relation === assignableRelation && (type === globalObjectType || resolved.properties.length === 0) || + if (isAssignableOrComparableRelation && (type === globalObjectType || resolved.properties.length === 0) || resolved.stringIndexType || resolved.numberIndexType || getPropertyOfType(type, name)) { return true; } @@ -4992,11 +5010,11 @@ namespace ts { return false; } - function eachTypeRelatedToSomeType(source: UnionOrIntersectionType, target: UnionOrIntersectionType): Ternary { + function eachTypeRelatedToSomeType(source: UnionOrIntersectionType, target: UnionOrIntersectionType, reportErrors: boolean): Ternary { let result = Ternary.True; let sourceTypes = source.types; for (let sourceType of sourceTypes) { - let related = typeRelatedToSomeType(sourceType, target, false); + let related = typeRelatedToSomeType(sourceType, target, reportErrors); if (!related) { return Ternary.False; } @@ -9381,8 +9399,9 @@ namespace ts { let targetType = getTypeFromTypeNode(node.type); if (produceDiagnostics && targetType !== unknownType) { let widenedType = getWidenedType(exprType); - if (!(isTypeAssignableTo(targetType, widenedType))) { - checkTypeAssignableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + + if (!isTypeComparableTo(targetType, widenedType)) { + checkTypeComparableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); } } return targetType; @@ -10225,7 +10244,7 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - if (!isTypeAssignableTo(leftType, rightType) && !isTypeAssignableTo(rightType, leftType)) { + if (!isTypeComparableTo(leftType, rightType) && !isTypeComparableTo(rightType, leftType)) { reportOperatorError(); } return booleanType; @@ -12689,12 +12708,12 @@ namespace ts { if (produceDiagnostics && clause.kind === SyntaxKind.CaseClause) { let caseClause = clause; - // TypeScript 1.0 spec (April 2014):5.9 + // TypeScript 1.0 spec (April 2014): 5.9 // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. let caseType = checkExpression(caseClause.expression); - if (!isTypeAssignableTo(expressionType, caseType)) { - // check 'expressionType isAssignableTo caseType' failed, try the reversed check and report errors if it fails - checkTypeAssignableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); + + if (!isTypeComparableTo(expressionType, caseType)) { + checkTypeComparableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); } } forEach(clause.statements, checkSourceElement); From 1edb007acc899879488cecd850241c384dfb92a5 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 17:00:28 -0700 Subject: [PATCH 004/342] Check for partial satisfiability when using the comparable relationship. --- src/compiler/checker.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cebbe9380e3..52a9d6db1e7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4877,11 +4877,17 @@ namespace ts { // Note that the "each" checks must precede the "some" checks to produce the correct results if (source.flags & TypeFlags.Union) { + if (relation === comparableRelation && (result = someTypeRelatedToType(source as UnionType, target, reportErrors))) { + return result; + } if (result = eachTypeRelatedToType(source, target, reportErrors)) { return result; } } else if (target.flags & TypeFlags.Intersection) { + if (relation === comparableRelation && (result = typeRelatedToSomeType(source, target as IntersectionType, reportErrors))) { + return result; + } if (result = typeRelatedToEachType(source, target, reportErrors)) { return result; } From 9a5e3e3498e4d381df146c21abf7cd3d0e9ad8b1 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 23:53:17 -0700 Subject: [PATCH 005/342] Avoid a redundant stricter check when using the new relation. --- src/compiler/checker.ts | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 52a9d6db1e7..c976b92b5a4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4877,18 +4877,26 @@ namespace ts { // Note that the "each" checks must precede the "some" checks to produce the correct results if (source.flags & TypeFlags.Union) { - if (relation === comparableRelation && (result = someTypeRelatedToType(source as UnionType, target, reportErrors))) { - return result; + if (relation === comparableRelation) { + result = someTypeRelatedToType(source as UnionType, target, reportErrors); } - if (result = eachTypeRelatedToType(source, target, reportErrors)) { + else { + result = eachTypeRelatedToType(source, target, reportErrors); + } + + if (result) { return result; } } else if (target.flags & TypeFlags.Intersection) { - if (relation === comparableRelation && (result = typeRelatedToSomeType(source, target as IntersectionType, reportErrors))) { - return result; + if (relation === comparableRelation) { + result = typeRelatedToSomeType(source, target as IntersectionType, reportErrors); } - if (result = typeRelatedToEachType(source, target, reportErrors)) { + else { + result = typeRelatedToEachType(source, target, reportErrors); + } + + if (result) { return result; } } @@ -4897,7 +4905,8 @@ namespace ts { // on either side that need to be prioritized. For example, A | B = (A | B) & (C | D) or // A & B = (A & B) | (C & D). if (source.flags & TypeFlags.Intersection) { - // If target is a union type the following check will report errors so we suppress them here + // If target is a union type then the check following this one will report errors, + // so we'll suppress any errors we could run into here. if (result = someTypeRelatedToType(source, target, reportErrors && !(target.flags & TypeFlags.Union))) { return result; } From 42b3ce4d0c6a7b8ac5e89136ce54a6ed01f699e4 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 27 Oct 2015 23:58:24 -0700 Subject: [PATCH 006/342] Rename the relationship to "matchable by". --- src/compiler/checker.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c976b92b5a4..02ecc43aa4d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -211,7 +211,7 @@ namespace ts { let subtypeRelation: Map = {}; let assignableRelation: Map = {}; - let comparableRelation: Map = {}; + let matchableRelation: Map = {}; let identityRelation: Map = {}; // This is for caching the result of getSymbolDisplayBuilder. Do not access directly. @@ -4743,8 +4743,8 @@ namespace ts { * This is *not* a bi-directional relationship. * If one needs to check both directions for comparability, use a second call to this function or 'checkTypeComparableTo'. */ - function isTypeComparableTo(source: Type, target: Type): boolean { - return checkTypeComparableTo(source, target, /*errorNode*/ undefined); + function isTypeMatchableBy(source: Type, target: Type): boolean { + return checkTypeMatchableBy(source, target, /*errorNode*/ undefined); } function checkTypeSubtypeOf(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { @@ -4757,10 +4757,10 @@ namespace ts { /** * This is *not* a bi-directional relationship. - * If one needs to check both directions for comparability, use a second call to this function or 'isTypeComparableTo'. + * If one needs to check both directions for comparability, use a second call to this function or 'isTypeMatchableBy'. */ - function checkTypeComparableTo(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { - return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); + function checkTypeMatchableBy(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { + return checkTypeRelatedTo(source, target, matchableRelation, errorNode, headMessage, containingMessageChain); } function isSignatureAssignableTo(source: Signature, target: Signature): boolean { @@ -4773,7 +4773,7 @@ namespace ts { * Checks if 'source' is related to 'target' (e.g.: is a assignable to). * @param source The left-hand-side of the relation. * @param target The right-hand-side of the relation. - * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', 'subTypeRelation', or 'comparableRelation'. + * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', 'subTypeRelation', or 'matchableRelation'. * Used as both to determine which checks are performed and as a cache of previously computed results. * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used. * @param headMessage If the error chain should be prepended by a head message, then headMessage will be used. @@ -4798,7 +4798,7 @@ namespace ts { Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); - const isAssignableOrComparableRelation = relation === assignableRelation || relation === comparableRelation; + const isAssignableOrComparableRelation = relation === assignableRelation || relation === matchableRelation; let result = isRelatedTo(source, target, errorNode !== undefined, headMessage); if (overflow) { error(errorNode, Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source), typeToString(target)); @@ -4877,7 +4877,7 @@ namespace ts { // Note that the "each" checks must precede the "some" checks to produce the correct results if (source.flags & TypeFlags.Union) { - if (relation === comparableRelation) { + if (relation === matchableRelation) { result = someTypeRelatedToType(source as UnionType, target, reportErrors); } else { @@ -4889,7 +4889,7 @@ namespace ts { } } else if (target.flags & TypeFlags.Intersection) { - if (relation === comparableRelation) { + if (relation === matchableRelation) { result = typeRelatedToSomeType(source, target as IntersectionType, reportErrors); } else { @@ -9415,8 +9415,8 @@ namespace ts { if (produceDiagnostics && targetType !== unknownType) { let widenedType = getWidenedType(exprType); - if (!isTypeComparableTo(targetType, widenedType)) { - checkTypeComparableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + if (!isTypeMatchableBy(targetType, widenedType)) { + checkTypeMatchableBy(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); } } return targetType; @@ -10259,7 +10259,7 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - if (!isTypeComparableTo(leftType, rightType) && !isTypeComparableTo(rightType, leftType)) { + if (!isTypeMatchableBy(leftType, rightType) && !isTypeMatchableBy(rightType, leftType)) { reportOperatorError(); } return booleanType; @@ -12727,8 +12727,8 @@ namespace ts { // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. let caseType = checkExpression(caseClause.expression); - if (!isTypeComparableTo(expressionType, caseType)) { - checkTypeComparableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); + if (!isTypeMatchableBy(expressionType, caseType)) { + checkTypeMatchableBy(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); } } forEach(clause.statements, checkSourceElement); From 929808ef07eb6b394a1a8ea5802f31ed4c7eff7e Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 28 Oct 2015 17:09:27 -0700 Subject: [PATCH 007/342] Accepted baselines. --- .../reference/castingTuple.errors.txt | 23 +----- .../equalityWithUnionTypes01.errors.txt | 47 ------------- .../equalityWithUnionTypes01.symbols | 55 +++++++++++++++ .../reference/equalityWithUnionTypes01.types | 70 +++++++++++++++++++ .../switchCaseWithUnionTypes01.errors.txt | 9 +-- .../typeAssertionsWithUnionTypes01.errors.txt | 14 +--- 6 files changed, 128 insertions(+), 90 deletions(-) delete mode 100644 tests/baselines/reference/equalityWithUnionTypes01.errors.txt create mode 100644 tests/baselines/reference/equalityWithUnionTypes01.symbols create mode 100644 tests/baselines/reference/equalityWithUnionTypes01.types diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 62a36c9c156..128ee5b5bb4 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,7 +1,3 @@ -tests/cases/conformance/types/tuple/castingTuple.ts(13,23): error TS2352: Neither type '[number, string]' nor type '[number, string, boolean]' is assignable to the other. - Property '2' is missing in type '[number, string]'. -tests/cases/conformance/types/tuple/castingTuple.ts(16,21): error TS2352: Neither type '[C, D]' nor type '[C, D, A]' is assignable to the other. - Property '2' is missing in type '[C, D]'. tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2352: Neither type '[number, string]' nor type '[number, number]' is assignable to the other. Types of property '1' are incompatible. Type 'string' is not assignable to type 'number'. @@ -10,15 +6,10 @@ tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2352: Neithe Type 'C' is not assignable to type 'A'. Property 'a' is missing in type 'C'. tests/cases/conformance/types/tuple/castingTuple.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. -tests/cases/conformance/types/tuple/castingTuple.ts(30,14): error TS2352: Neither type '[number, string]' nor type 'number[]' is assignable to the other. - Types of property 'pop' are incompatible. - Type '() => number | string' is not assignable to type '() => number'. - Type 'number | string' is not assignable to type 'number'. - Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot find name 't4'. -==== tests/cases/conformance/types/tuple/castingTuple.ts (7 errors) ==== +==== tests/cases/conformance/types/tuple/castingTuple.ts (4 errors) ==== interface I { } class A { a = 10; } class C implements I { c }; @@ -32,15 +23,9 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot var numStrTuple: [number, string] = [5, "foo"]; var emptyObjTuple = <[{}, {}]>numStrTuple; var numStrBoolTuple = <[number, string, boolean]>numStrTuple; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[number, string]' nor type '[number, string, boolean]' is assignable to the other. -!!! error TS2352: Property '2' is missing in type '[number, string]'. var classCDTuple: [C, D] = [new C(), new D()]; var interfaceIITuple = <[I, I]>classCDTuple; var classCDATuple = <[C, D, A]>classCDTuple; - ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[C, D]' nor type '[C, D, A]' is assignable to the other. -!!! error TS2352: Property '2' is missing in type '[C, D]'. var eleFromCDA1 = classCDATuple[2]; // A var eleFromCDA2 = classCDATuple[5]; // C | D | A var t10: [E1, E2] = [E1.one, E2.one]; @@ -66,12 +51,6 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[number, string]' nor type 'number[]' is assignable to the other. -!!! error TS2352: Types of property 'pop' are incompatible. -!!! error TS2352: Type '() => number | string' is not assignable to type '() => number'. -!!! error TS2352: Type 'number | string' is not assignable to type 'number'. -!!! error TS2352: Type 'string' is not assignable to type 'number'. t4[2] = 10; ~~ !!! error TS2304: Cannot find name 't4'. diff --git a/tests/baselines/reference/equalityWithUnionTypes01.errors.txt b/tests/baselines/reference/equalityWithUnionTypes01.errors.txt deleted file mode 100644 index 985ba9e5867..00000000000 --- a/tests/baselines/reference/equalityWithUnionTypes01.errors.txt +++ /dev/null @@ -1,47 +0,0 @@ -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(13,5): error TS2365: Operator '===' cannot be applied to types 'number | I2' and 'I1'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(13,16): error TS2365: Operator '===' cannot be applied to types 'I1' and 'number | I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(15,10): error TS2365: Operator '!==' cannot be applied to types 'number | I2' and 'I1'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(15,21): error TS2365: Operator '!==' cannot be applied to types 'I1' and 'number | I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(17,10): error TS2365: Operator '==' cannot be applied to types 'number | I2' and 'I1'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(17,20): error TS2365: Operator '==' cannot be applied to types 'I1' and 'number | I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(19,10): error TS2365: Operator '!=' cannot be applied to types 'number | I2' and 'I1'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts(19,20): error TS2365: Operator '!=' cannot be applied to types 'I1' and 'number | I2'. - - -==== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts (8 errors) ==== - interface I1 { - p1: number - } - - interface I2 extends I1 { - p2: number; - } - - var x = { p1: 10, p2: 20 }; - var y: number | I2 = x; - var z: I1 = x; - - if (y === z || z === y) { - ~~~~~~~ -!!! error TS2365: Operator '===' cannot be applied to types 'number | I2' and 'I1'. - ~~~~~~~ -!!! error TS2365: Operator '===' cannot be applied to types 'I1' and 'number | I2'. - } - else if (y !== z || z !== y) { - ~~~~~~~ -!!! error TS2365: Operator '!==' cannot be applied to types 'number | I2' and 'I1'. - ~~~~~~~ -!!! error TS2365: Operator '!==' cannot be applied to types 'I1' and 'number | I2'. - } - else if (y == z || z == y) { - ~~~~~~ -!!! error TS2365: Operator '==' cannot be applied to types 'number | I2' and 'I1'. - ~~~~~~ -!!! error TS2365: Operator '==' cannot be applied to types 'I1' and 'number | I2'. - } - else if (y != z || z != y) { - ~~~~~~ -!!! error TS2365: Operator '!=' cannot be applied to types 'number | I2' and 'I1'. - ~~~~~~ -!!! error TS2365: Operator '!=' cannot be applied to types 'I1' and 'number | I2'. - } \ No newline at end of file diff --git a/tests/baselines/reference/equalityWithUnionTypes01.symbols b/tests/baselines/reference/equalityWithUnionTypes01.symbols new file mode 100644 index 00000000000..2baf5034f77 --- /dev/null +++ b/tests/baselines/reference/equalityWithUnionTypes01.symbols @@ -0,0 +1,55 @@ +=== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts === +interface I1 { +>I1 : Symbol(I1, Decl(equalityWithUnionTypes01.ts, 0, 0)) + + p1: number +>p1 : Symbol(p1, Decl(equalityWithUnionTypes01.ts, 0, 14)) +} + +interface I2 extends I1 { +>I2 : Symbol(I2, Decl(equalityWithUnionTypes01.ts, 2, 1)) +>I1 : Symbol(I1, Decl(equalityWithUnionTypes01.ts, 0, 0)) + + p2: number; +>p2 : Symbol(p2, Decl(equalityWithUnionTypes01.ts, 4, 25)) +} + +var x = { p1: 10, p2: 20 }; +>x : Symbol(x, Decl(equalityWithUnionTypes01.ts, 8, 3)) +>p1 : Symbol(p1, Decl(equalityWithUnionTypes01.ts, 8, 9)) +>p2 : Symbol(p2, Decl(equalityWithUnionTypes01.ts, 8, 17)) + +var y: number | I2 = x; +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +>I2 : Symbol(I2, Decl(equalityWithUnionTypes01.ts, 2, 1)) +>x : Symbol(x, Decl(equalityWithUnionTypes01.ts, 8, 3)) + +var z: I1 = x; +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>I1 : Symbol(I1, Decl(equalityWithUnionTypes01.ts, 0, 0)) +>x : Symbol(x, Decl(equalityWithUnionTypes01.ts, 8, 3)) + +if (y === z || z === y) { +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +} +else if (y !== z || z !== y) { +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +} +else if (y == z || z == y) { +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +} +else if (y != z || z != y) { +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>z : Symbol(z, Decl(equalityWithUnionTypes01.ts, 10, 3)) +>y : Symbol(y, Decl(equalityWithUnionTypes01.ts, 9, 3)) +} diff --git a/tests/baselines/reference/equalityWithUnionTypes01.types b/tests/baselines/reference/equalityWithUnionTypes01.types new file mode 100644 index 00000000000..e6a5ce487d9 --- /dev/null +++ b/tests/baselines/reference/equalityWithUnionTypes01.types @@ -0,0 +1,70 @@ +=== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts === +interface I1 { +>I1 : I1 + + p1: number +>p1 : number +} + +interface I2 extends I1 { +>I2 : I2 +>I1 : I1 + + p2: number; +>p2 : number +} + +var x = { p1: 10, p2: 20 }; +>x : { p1: number; p2: number; } +>{ p1: 10, p2: 20 } : { p1: number; p2: number; } +>p1 : number +>10 : number +>p2 : number +>20 : number + +var y: number | I2 = x; +>y : number | I2 +>I2 : I2 +>x : { p1: number; p2: number; } + +var z: I1 = x; +>z : I1 +>I1 : I1 +>x : { p1: number; p2: number; } + +if (y === z || z === y) { +>y === z || z === y : boolean +>y === z : boolean +>y : number | I2 +>z : I1 +>z === y : boolean +>z : I1 +>y : number | I2 +} +else if (y !== z || z !== y) { +>y !== z || z !== y : boolean +>y !== z : boolean +>y : number | I2 +>z : I1 +>z !== y : boolean +>z : I1 +>y : number | I2 +} +else if (y == z || z == y) { +>y == z || z == y : boolean +>y == z : boolean +>y : number | I2 +>z : I1 +>z == y : boolean +>z : I1 +>y : number | I2 +} +else if (y != z || z != y) { +>y != z || z != y : boolean +>y != z : boolean +>y : number | I2 +>z : I1 +>z != y : boolean +>z : I1 +>y : number | I2 +} diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt index ee60c210253..a59c9ec57f7 100644 --- a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt @@ -1,11 +1,8 @@ -tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts(19,10): error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. - Type 'boolean' is not assignable to type 'string | number'. - Type 'boolean' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string | number'. Type 'boolean' is not assignable to type 'number'. -==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts (2 errors) ==== +==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts (1 errors) ==== var strOrNum: string | number; var numOrBool: number | boolean; @@ -25,10 +22,6 @@ tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTyp // Overlap in constituents case numOrBool: - ~~~~~~~~~ -!!! error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. break; // No relation diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt index 2a9dceaf8a6..022617c8ba0 100644 --- a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -1,12 +1,7 @@ -tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(13,9): error TS2352: Neither type 'I1' nor type 'number | I2' is assignable to the other. - Type 'I1' is not assignable to type 'I2'. - Property 'p2' is missing in type 'I1'. tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. -tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(16,9): error TS2352: Neither type 'number | I2' nor type 'I1' is assignable to the other. - Type 'number' is not assignable to type 'I1'. -==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts (3 errors) ==== +==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== interface I1 { p1: number } @@ -20,16 +15,9 @@ tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnio var z: I1 = x; var a = z; - ~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'I1' nor type 'number | I2' is assignable to the other. -!!! error TS2352: Type 'I1' is not assignable to type 'I2'. -!!! error TS2352: Property 'p2' is missing in type 'I1'. var b = z; ~~~~~~~~~ !!! error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. var c = z; var d = y; - ~~~~~ -!!! error TS2352: Neither type 'number | I2' nor type 'I1' is assignable to the other. -!!! error TS2352: Type 'number' is not assignable to type 'I1'. \ No newline at end of file From 262352ec5bd8514edcfbeaacaff31664b37b6aef Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 28 Oct 2015 16:09:45 -0700 Subject: [PATCH 008/342] Added tests on intersection types. --- .../equalityWithIntersectionTypes01.ts | 24 ++++++++++++++++++ .../switchCaseWithIntersectionTypes01.ts | 25 +++++++++++++++++++ .../typeAssertionsWithIntersectionTypes01.ts | 20 +++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts create mode 100644 tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts new file mode 100644 index 00000000000..74c0ebb7412 --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts @@ -0,0 +1,24 @@ +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +interface I3 { + p3: number; +} + +var x = { p1: 10, p2: 20, p3: 30 }; +var y: I1 & I3 = x; +var z: I2 = x; + +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts new file mode 100644 index 00000000000..fd629306b10 --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts @@ -0,0 +1,25 @@ + +var strAndNum: string & number; +var numAndBool: number & boolean; +var str: string; +var num: number; +var bool: boolean; + +switch (strAndNum) { + // Identical + case strAndNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numAndBool: + break; + + // No relation + case bool: + break; +} \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts new file mode 100644 index 00000000000..1afc760ef85 --- /dev/null +++ b/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts @@ -0,0 +1,20 @@ +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +interface I3 { + p3: number; +} + +var x = { p1: 10, p2: 20, p3: 30 }; +var y: I1 & I3 = x; +var z: I2 = x; + +var a = z; +var b = z; +var c = z; +var d = y; From bdb1db5ae4576e0a1f2472352e7c9e537150556e Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 28 Oct 2015 16:11:14 -0700 Subject: [PATCH 009/342] Matchable should have no effect on intersections. --- src/compiler/checker.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 02ecc43aa4d..3e2b6a7317f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4889,12 +4889,7 @@ namespace ts { } } else if (target.flags & TypeFlags.Intersection) { - if (relation === matchableRelation) { - result = typeRelatedToSomeType(source, target as IntersectionType, reportErrors); - } - else { - result = typeRelatedToEachType(source, target, reportErrors); - } + result = typeRelatedToEachType(source, target, reportErrors); if (result) { return result; From 441dd78114f6e64f43f5a9c94d89e6df18758786 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 28 Oct 2015 17:10:02 -0700 Subject: [PATCH 010/342] Accepted baselines. --- ...equalityWithIntersectionTypes01.errors.txt | 51 +++++++++++++++++++ .../equalityWithIntersectionTypes01.js | 38 ++++++++++++++ ...itchCaseWithIntersectionTypes01.errors.txt | 40 +++++++++++++++ .../switchCaseWithIntersectionTypes01.js | 48 +++++++++++++++++ ...sertionsWithIntersectionTypes01.errors.txt | 34 +++++++++++++ .../typeAssertionsWithIntersectionTypes01.js | 31 +++++++++++ 6 files changed, 242 insertions(+) create mode 100644 tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt create mode 100644 tests/baselines/reference/equalityWithIntersectionTypes01.js create mode 100644 tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt create mode 100644 tests/baselines/reference/switchCaseWithIntersectionTypes01.js create mode 100644 tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt create mode 100644 tests/baselines/reference/typeAssertionsWithIntersectionTypes01.js diff --git a/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt b/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt new file mode 100644 index 00000000000..da18a774204 --- /dev/null +++ b/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt @@ -0,0 +1,51 @@ +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(17,5): error TS2365: Operator '===' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(17,16): error TS2365: Operator '===' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(19,10): error TS2365: Operator '!==' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(19,21): error TS2365: Operator '!==' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(21,10): error TS2365: Operator '==' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(21,20): error TS2365: Operator '==' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(23,10): error TS2365: Operator '!=' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(23,20): error TS2365: Operator '!=' cannot be applied to types 'I2' and 'I1 & I3'. + + +==== tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts (8 errors) ==== + interface I1 { + p1: number + } + + interface I2 extends I1 { + p2: number; + } + + interface I3 { + p3: number; + } + + var x = { p1: 10, p2: 20, p3: 30 }; + var y: I1 & I3 = x; + var z: I2 = x; + + if (y === z || z === y) { + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'I1 & I3' and 'I2'. + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'I2' and 'I1 & I3'. + } + else if (y !== z || z !== y) { + ~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types 'I1 & I3' and 'I2'. + ~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types 'I2' and 'I1 & I3'. + } + else if (y == z || z == y) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'I1 & I3' and 'I2'. + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'I2' and 'I1 & I3'. + } + else if (y != z || z != y) { + ~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types 'I1 & I3' and 'I2'. + ~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types 'I2' and 'I1 & I3'. + } \ No newline at end of file diff --git a/tests/baselines/reference/equalityWithIntersectionTypes01.js b/tests/baselines/reference/equalityWithIntersectionTypes01.js new file mode 100644 index 00000000000..151809bb6f8 --- /dev/null +++ b/tests/baselines/reference/equalityWithIntersectionTypes01.js @@ -0,0 +1,38 @@ +//// [equalityWithIntersectionTypes01.ts] +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +interface I3 { + p3: number; +} + +var x = { p1: 10, p2: 20, p3: 30 }; +var y: I1 & I3 = x; +var z: I2 = x; + +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} + +//// [equalityWithIntersectionTypes01.js] +var x = { p1: 10, p2: 20, p3: 30 }; +var y = x; +var z = x; +if (y === z || z === y) { +} +else if (y !== z || z !== y) { +} +else if (y == z || z == y) { +} +else if (y != z || z != y) { +} diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt new file mode 100644 index 00000000000..5c2e8ad30fe --- /dev/null +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt @@ -0,0 +1,40 @@ +tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. + Type 'number & boolean' is not assignable to type 'string'. + Type 'boolean' is not assignable to type 'string'. +tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string & number'. + Type 'boolean' is not assignable to type 'string'. + + +==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== + + var strAndNum: string & number; + var numAndBool: number & boolean; + var str: string; + var num: number; + var bool: boolean; + + switch (strAndNum) { + // Identical + case strAndNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numAndBool: + ~~~~~~~~~~ +!!! error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. +!!! error TS2322: Type 'number & boolean' is not assignable to type 'string'. +!!! error TS2322: Type 'boolean' is not assignable to type 'string'. + break; + + // No relation + case bool: + ~~~~ +!!! error TS2322: Type 'boolean' is not assignable to type 'string & number'. +!!! error TS2322: Type 'boolean' is not assignable to type 'string'. + break; + } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.js b/tests/baselines/reference/switchCaseWithIntersectionTypes01.js new file mode 100644 index 00000000000..4e0ddf7ea76 --- /dev/null +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.js @@ -0,0 +1,48 @@ +//// [switchCaseWithIntersectionTypes01.ts] + +var strAndNum: string & number; +var numAndBool: number & boolean; +var str: string; +var num: number; +var bool: boolean; + +switch (strAndNum) { + // Identical + case strAndNum: + break; + + // Constituents + case str: + case num: + break; + + // Overlap in constituents + case numAndBool: + break; + + // No relation + case bool: + break; +} + +//// [switchCaseWithIntersectionTypes01.js] +var strAndNum; +var numAndBool; +var str; +var num; +var bool; +switch (strAndNum) { + // Identical + case strAndNum: + break; + // Constituents + case str: + case num: + break; + // Overlap in constituents + case numAndBool: + break; + // No relation + case bool: + break; +} diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt new file mode 100644 index 00000000000..b5041f6fe55 --- /dev/null +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt @@ -0,0 +1,34 @@ +tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. + Type 'I2' is not assignable to type 'I3'. + Property 'p3' is missing in type 'I2'. +tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. + + +==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== + interface I1 { + p1: number + } + + interface I2 extends I1 { + p2: number; + } + + interface I3 { + p3: number; + } + + var x = { p1: 10, p2: 20, p3: 30 }; + var y: I1 & I3 = x; + var z: I2 = x; + + var a = z; + ~~~~~~~~~~ +!!! error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. +!!! error TS2352: Type 'I2' is not assignable to type 'I3'. +!!! error TS2352: Property 'p3' is missing in type 'I2'. + var b = z; + ~~~~~ +!!! error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. + var c = z; + var d = y; + \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.js b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.js new file mode 100644 index 00000000000..31fc831f95f --- /dev/null +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.js @@ -0,0 +1,31 @@ +//// [typeAssertionsWithIntersectionTypes01.ts] +interface I1 { + p1: number +} + +interface I2 extends I1 { + p2: number; +} + +interface I3 { + p3: number; +} + +var x = { p1: 10, p2: 20, p3: 30 }; +var y: I1 & I3 = x; +var z: I2 = x; + +var a = z; +var b = z; +var c = z; +var d = y; + + +//// [typeAssertionsWithIntersectionTypes01.js] +var x = { p1: 10, p2: 20, p3: 30 }; +var y = x; +var z = x; +var a = z; +var b = z; +var c = z; +var d = y; From 841789d162e91f6a88e1db411b7bd22ffc6e23f2 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 29 Oct 2015 16:36:25 -0700 Subject: [PATCH 011/342] Renamed the relationship back to "comparable". --- src/compiler/checker.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 3e2b6a7317f..ac44a748d6c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -211,7 +211,7 @@ namespace ts { let subtypeRelation: Map = {}; let assignableRelation: Map = {}; - let matchableRelation: Map = {}; + let comparableRelation: Map = {}; let identityRelation: Map = {}; // This is for caching the result of getSymbolDisplayBuilder. Do not access directly. @@ -4743,8 +4743,8 @@ namespace ts { * This is *not* a bi-directional relationship. * If one needs to check both directions for comparability, use a second call to this function or 'checkTypeComparableTo'. */ - function isTypeMatchableBy(source: Type, target: Type): boolean { - return checkTypeMatchableBy(source, target, /*errorNode*/ undefined); + function isTypeComparableTo(source: Type, target: Type): boolean { + return checkTypeComparableTo(source, target, /*errorNode*/ undefined); } function checkTypeSubtypeOf(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { @@ -4757,10 +4757,10 @@ namespace ts { /** * This is *not* a bi-directional relationship. - * If one needs to check both directions for comparability, use a second call to this function or 'isTypeMatchableBy'. + * If one needs to check both directions for comparability, use a second call to this function or 'isTypeComparableTo'. */ - function checkTypeMatchableBy(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { - return checkTypeRelatedTo(source, target, matchableRelation, errorNode, headMessage, containingMessageChain); + function checkTypeComparableTo(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { + return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); } function isSignatureAssignableTo(source: Signature, target: Signature): boolean { @@ -4773,7 +4773,7 @@ namespace ts { * Checks if 'source' is related to 'target' (e.g.: is a assignable to). * @param source The left-hand-side of the relation. * @param target The right-hand-side of the relation. - * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', 'subTypeRelation', or 'matchableRelation'. + * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', 'subTypeRelation', or 'comparableRelation'. * Used as both to determine which checks are performed and as a cache of previously computed results. * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used. * @param headMessage If the error chain should be prepended by a head message, then headMessage will be used. @@ -4798,7 +4798,7 @@ namespace ts { Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); - const isAssignableOrComparableRelation = relation === assignableRelation || relation === matchableRelation; + const isAssignableOrComparableRelation = relation === assignableRelation || relation === comparableRelation; let result = isRelatedTo(source, target, errorNode !== undefined, headMessage); if (overflow) { error(errorNode, Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source), typeToString(target)); @@ -4877,7 +4877,7 @@ namespace ts { // Note that the "each" checks must precede the "some" checks to produce the correct results if (source.flags & TypeFlags.Union) { - if (relation === matchableRelation) { + if (relation === comparableRelation) { result = someTypeRelatedToType(source as UnionType, target, reportErrors); } else { @@ -9410,8 +9410,8 @@ namespace ts { if (produceDiagnostics && targetType !== unknownType) { let widenedType = getWidenedType(exprType); - if (!isTypeMatchableBy(targetType, widenedType)) { - checkTypeMatchableBy(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + if (!isTypeComparableTo(targetType, widenedType)) { + checkTypeComparableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); } } return targetType; @@ -10254,7 +10254,7 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - if (!isTypeMatchableBy(leftType, rightType) && !isTypeMatchableBy(rightType, leftType)) { + if (!isTypeComparableTo(leftType, rightType) && !isTypeComparableTo(rightType, leftType)) { reportOperatorError(); } return booleanType; @@ -12722,8 +12722,8 @@ namespace ts { // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. let caseType = checkExpression(caseClause.expression); - if (!isTypeMatchableBy(expressionType, caseType)) { - checkTypeMatchableBy(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); + if (!isTypeComparableTo(expressionType, caseType)) { + checkTypeComparableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); } } forEach(clause.statements, checkSourceElement); From 5cb95d4044aefb378c6ee85f939bb625f697518f Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 29 Oct 2015 16:40:34 -0700 Subject: [PATCH 012/342] Renamed test directory. --- .../{matchable => comparable}/equalityWithIntersectionTypes01.ts | 0 .../{matchable => comparable}/equalityWithUnionTypes01.ts | 0 .../switchCaseWithIntersectionTypes01.ts | 0 .../{matchable => comparable}/switchCaseWithUnionTypes01.ts | 0 .../typeAssertionsWithIntersectionTypes01.ts | 0 .../{matchable => comparable}/typeAssertionsWithUnionTypes01.ts | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/equalityWithIntersectionTypes01.ts (100%) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/equalityWithUnionTypes01.ts (100%) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/switchCaseWithIntersectionTypes01.ts (100%) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/switchCaseWithUnionTypes01.ts (100%) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/typeAssertionsWithIntersectionTypes01.ts (100%) rename tests/cases/conformance/types/typeRelationships/{matchable => comparable}/typeAssertionsWithUnionTypes01.ts (100%) diff --git a/tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/equalityWithUnionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/equalityWithUnionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts diff --git a/tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts b/tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts similarity index 100% rename from tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts rename to tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts From ab7c4e5e43077df3d1b090c6f3f4cae2b734e580 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 29 Oct 2015 16:40:54 -0700 Subject: [PATCH 013/342] Accepted baselines. --- .../equalityWithIntersectionTypes01.errors.txt | 18 +++++++++--------- .../reference/equalityWithUnionTypes01.symbols | 2 +- .../reference/equalityWithUnionTypes01.types | 2 +- ...witchCaseWithIntersectionTypes01.errors.txt | 6 +++--- .../switchCaseWithUnionTypes01.errors.txt | 4 ++-- ...ssertionsWithIntersectionTypes01.errors.txt | 6 +++--- .../typeAssertionsWithUnionTypes01.errors.txt | 4 ++-- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt b/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt index da18a774204..8bffff2218b 100644 --- a/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/equalityWithIntersectionTypes01.errors.txt @@ -1,14 +1,14 @@ -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(17,5): error TS2365: Operator '===' cannot be applied to types 'I1 & I3' and 'I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(17,16): error TS2365: Operator '===' cannot be applied to types 'I2' and 'I1 & I3'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(19,10): error TS2365: Operator '!==' cannot be applied to types 'I1 & I3' and 'I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(19,21): error TS2365: Operator '!==' cannot be applied to types 'I2' and 'I1 & I3'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(21,10): error TS2365: Operator '==' cannot be applied to types 'I1 & I3' and 'I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(21,20): error TS2365: Operator '==' cannot be applied to types 'I2' and 'I1 & I3'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(23,10): error TS2365: Operator '!=' cannot be applied to types 'I1 & I3' and 'I2'. -tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts(23,20): error TS2365: Operator '!=' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(17,5): error TS2365: Operator '===' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(17,16): error TS2365: Operator '===' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(19,10): error TS2365: Operator '!==' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(19,21): error TS2365: Operator '!==' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(21,10): error TS2365: Operator '==' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(21,20): error TS2365: Operator '==' cannot be applied to types 'I2' and 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(23,10): error TS2365: Operator '!=' cannot be applied to types 'I1 & I3' and 'I2'. +tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts(23,20): error TS2365: Operator '!=' cannot be applied to types 'I2' and 'I1 & I3'. -==== tests/cases/conformance/types/typeRelationships/matchable/equalityWithIntersectionTypes01.ts (8 errors) ==== +==== tests/cases/conformance/types/typeRelationships/comparable/equalityWithIntersectionTypes01.ts (8 errors) ==== interface I1 { p1: number } diff --git a/tests/baselines/reference/equalityWithUnionTypes01.symbols b/tests/baselines/reference/equalityWithUnionTypes01.symbols index 2baf5034f77..52332cf2e60 100644 --- a/tests/baselines/reference/equalityWithUnionTypes01.symbols +++ b/tests/baselines/reference/equalityWithUnionTypes01.symbols @@ -1,4 +1,4 @@ -=== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts === +=== tests/cases/conformance/types/typeRelationships/comparable/equalityWithUnionTypes01.ts === interface I1 { >I1 : Symbol(I1, Decl(equalityWithUnionTypes01.ts, 0, 0)) diff --git a/tests/baselines/reference/equalityWithUnionTypes01.types b/tests/baselines/reference/equalityWithUnionTypes01.types index e6a5ce487d9..27bf01c048b 100644 --- a/tests/baselines/reference/equalityWithUnionTypes01.types +++ b/tests/baselines/reference/equalityWithUnionTypes01.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/types/typeRelationships/matchable/equalityWithUnionTypes01.ts === +=== tests/cases/conformance/types/typeRelationships/comparable/equalityWithUnionTypes01.ts === interface I1 { >I1 : I1 diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt index 5c2e8ad30fe..967a59071af 100644 --- a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. Type 'number & boolean' is not assignable to type 'string'. Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string & number'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string & number'. Type 'boolean' is not assignable to type 'string'. -==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== +==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== var strAndNum: string & number; var numAndBool: number & boolean; diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt index a59c9ec57f7..66f01cc1d34 100644 --- a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string | number'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string | number'. Type 'boolean' is not assignable to type 'number'. -==== tests/cases/conformance/types/typeRelationships/matchable/switchCaseWithUnionTypes01.ts (1 errors) ==== +==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts (1 errors) ==== var strOrNum: string | number; var numOrBool: number | boolean; diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt index b5041f6fe55..162e55a225e 100644 --- a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. Type 'I2' is not assignable to type 'I3'. Property 'p3' is missing in type 'I2'. -tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. -==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== +==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== interface I1 { p1: number } diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt index 022617c8ba0..68ab174ff98 100644 --- a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. -==== tests/cases/conformance/types/typeRelationships/matchable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== +==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== interface I1 { p1: number } From e224083038b15ecd20990bd4e4fb223c1928bc9e Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 3 Nov 2015 17:17:53 -0800 Subject: [PATCH 014/342] Updated error message. --- src/compiler/checker.ts | 11 +++++++++-- src/compiler/diagnosticMessages.json | 8 ++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ac44a748d6c..a804cacb7de 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4832,7 +4832,14 @@ namespace ts { sourceType = typeToString(source, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType); targetType = typeToString(target, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType); } - reportError(message || Diagnostics.Type_0_is_not_assignable_to_type_1, sourceType, targetType); + + if (!message) { + message = relation === comparableRelation ? + Diagnostics.Type_0_is_not_comparable_with_type_1 : + Diagnostics.Type_0_is_not_assignable_to_type_1 + } + + reportError(message, sourceType, targetType); } // Compare two types and return @@ -9411,7 +9418,7 @@ namespace ts { let widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { - checkTypeComparableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + checkTypeComparableTo(exprType, targetType, node); } } return targetType; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 4fdeb122983..4f1b4869918 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -888,6 +888,10 @@ "category": "Error", "code": 2322 }, + "Type '{0}' is not comparable with type '{1}'.": { + "category": "Error", + "code": 2323 + }, "Property '{0}' is missing in type '{1}'.": { "category": "Error", "code": 2324 @@ -996,10 +1000,6 @@ "category": "Error", "code": 2351 }, - "Neither type '{0}' nor type '{1}' is assignable to the other.": { - "category": "Error", - "code": 2352 - }, "Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.": { "category": "Error", "code": 2353 From fa6e181ffaa3ac357f139f551cba71b8d004d70a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 3 Nov 2015 17:29:27 -0800 Subject: [PATCH 015/342] Accepted baselines. --- .../baselines/reference/arrayCast.errors.txt | 10 ++++---- .../reference/asOperator2.errors.txt | 4 ++-- .../asOperatorContextualType.errors.txt | 8 +++---- .../reference/asOperatorNames.errors.txt | 4 ++-- .../reference/castingTuple.errors.txt | 22 ++++++++--------- .../reference/contextualTyping39.errors.txt | 8 +++---- .../reference/contextualTyping41.errors.txt | 8 +++---- ...efaultArgsInFunctionExpressions.errors.txt | 8 +++---- tests/baselines/reference/fuzzy.errors.txt | 6 ++--- .../genericTypeAssertions1.errors.txt | 8 +++---- .../genericTypeAssertions2.errors.txt | 6 ++--- .../genericTypeAssertions4.errors.txt | 8 +++---- .../genericTypeAssertions5.errors.txt | 8 +++---- .../genericTypeAssertions6.errors.txt | 16 ++++++------- .../reference/intTypeCheck.errors.txt | 4 ++-- .../reference/literals-negative.errors.txt | 4 ++-- .../noImplicitAnyInCastExpression.errors.txt | 6 ++--- ...bjectTypesIdentityWithPrivates3.errors.txt | 6 ++--- .../switchAssignmentCompat.errors.txt | 4 ++-- ...itchCaseWithIntersectionTypes01.errors.txt | 20 ++++++++-------- .../switchCaseWithUnionTypes01.errors.txt | 8 +++---- ...itchCasesExpressionTypeMismatch.errors.txt | 12 +++++----- .../reference/switchStatements.errors.txt | 6 ++--- .../reference/typeAssertions.errors.txt | 24 +++++++++---------- ...sertionsWithIntersectionTypes01.errors.txt | 14 +++++------ .../typeAssertionsWithUnionTypes01.errors.txt | 4 ++-- 26 files changed, 118 insertions(+), 118 deletions(-) diff --git a/tests/baselines/reference/arrayCast.errors.txt b/tests/baselines/reference/arrayCast.errors.txt index 815813ea727..c73f3ce879c 100644 --- a/tests/baselines/reference/arrayCast.errors.txt +++ b/tests/baselines/reference/arrayCast.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/arrayCast.ts(3,23): error TS2352: Neither type '{ foo: string; }[]' nor type '{ id: number; }[]' is assignable to the other. - Type '{ foo: string; }' is not assignable to type '{ id: number; }'. +tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' is not comparable with type '{ id: number; }[]'. + Type '{ foo: string; }' is not comparable with type '{ id: number; }'. Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. @@ -8,9 +8,9 @@ tests/cases/compiler/arrayCast.ts(3,23): error TS2352: Neither type '{ foo: stri // has type { foo: string }[], which is not assignable to { id: number }[]. <{ id: number; }[]>[{ foo: "s" }]; ~~~~~~~~ -!!! error TS2352: Neither type '{ foo: string; }[]' nor type '{ id: number; }[]' is assignable to the other. -!!! error TS2352: Type '{ foo: string; }' is not assignable to type '{ id: number; }'. -!!! error TS2352: Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. +!!! error TS2323: Type '{ foo: string; }[]' is not comparable with type '{ id: number; }[]'. +!!! error TS2323: Type '{ foo: string; }' is not comparable with type '{ id: number; }'. +!!! error TS2323: Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. // Should succeed, as the {} element causes the type of the array to be {}[] <{ id: number; }[]>[{ foo: "s" }, {}]; \ No newline at end of file diff --git a/tests/baselines/reference/asOperator2.errors.txt b/tests/baselines/reference/asOperator2.errors.txt index 3b074038c26..d3eb568d79a 100644 --- a/tests/baselines/reference/asOperator2.errors.txt +++ b/tests/baselines/reference/asOperator2.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2352: Neither type 'number' nor type 'string' is assignable to the other. +tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2323: Type 'number' is not comparable with type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperator2.ts (1 errors) ==== var x = 23 as string; ~~~~~~~~~~~~ -!!! error TS2352: Neither type 'number' nor type 'string' is assignable to the other. +!!! error TS2323: Type 'number' is not comparable with type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorContextualType.errors.txt b/tests/baselines/reference/asOperatorContextualType.errors.txt index c53b407b5cf..a2ea2a7f83e 100644 --- a/tests/baselines/reference/asOperatorContextualType.errors.txt +++ b/tests/baselines/reference/asOperatorContextualType.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2352: Neither type '(v: number) => number' nor type '(x: number) => string' is assignable to the other. - Type 'number' is not assignable to type 'string'. +tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2323: Type '(v: number) => number' is not comparable with type '(x: number) => string'. + Type 'number' is not comparable with type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts (1 errors) ==== // should error var x = (v => v) as (x: number) => string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '(v: number) => number' nor type '(x: number) => string' is assignable to the other. -!!! error TS2352: Type 'number' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2323: Type '(v: number) => number' is not comparable with type '(x: number) => string'. +!!! error TS2323: Type 'number' is not comparable with type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorNames.errors.txt b/tests/baselines/reference/asOperatorNames.errors.txt index e3dfaab9884..61847f5dba1 100644 --- a/tests/baselines/reference/asOperatorNames.errors.txt +++ b/tests/baselines/reference/asOperatorNames.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2352: Neither type 'number' nor type 'string' is assignable to the other. +tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2323: Type 'number' is not comparable with type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperatorNames.ts (1 errors) ==== var a = 20; var b = a as string; ~~~~~~~~~~~ -!!! error TS2352: Neither type 'number' nor type 'string' is assignable to the other. +!!! error TS2323: Type 'number' is not comparable with type 'string'. var as = "hello"; var as1 = as as string; \ No newline at end of file diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 128ee5b5bb4..04caf8e22c5 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2352: Neither type '[number, string]' nor type '[number, number]' is assignable to the other. +tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2323: Type '[number, string]' is not comparable with type '[number, number]'. Types of property '1' are incompatible. - Type 'string' is not assignable to type 'number'. -tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2352: Neither type '[C, D]' nor type '[A, I]' is assignable to the other. + Type 'string' is not comparable with type 'number'. +tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2323: Type '[C, D]' is not comparable with type '[A, I]'. Types of property '0' are incompatible. - Type 'C' is not assignable to type 'A'. + Type 'C' is not comparable with type 'A'. Property 'a' is missing in type 'C'. tests/cases/conformance/types/tuple/castingTuple.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot find name 't4'. @@ -39,15 +39,15 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot // error var t3 = <[number, number]>numStrTuple; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[number, string]' nor type '[number, number]' is assignable to the other. -!!! error TS2352: Types of property '1' are incompatible. -!!! error TS2352: Type 'string' is not assignable to type 'number'. +!!! error TS2323: Type '[number, string]' is not comparable with type '[number, number]'. +!!! error TS2323: Types of property '1' are incompatible. +!!! error TS2323: Type 'string' is not comparable with type 'number'. var t9 = <[A, I]>classCDTuple; ~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[C, D]' nor type '[A, I]' is assignable to the other. -!!! error TS2352: Types of property '0' are incompatible. -!!! error TS2352: Type 'C' is not assignable to type 'A'. -!!! error TS2352: Property 'a' is missing in type 'C'. +!!! error TS2323: Type '[C, D]' is not comparable with type '[A, I]'. +!!! error TS2323: Types of property '0' are incompatible. +!!! error TS2323: Type 'C' is not comparable with type 'A'. +!!! error TS2323: Property 'a' is missing in type 'C'. var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. diff --git a/tests/baselines/reference/contextualTyping39.errors.txt b/tests/baselines/reference/contextualTyping39.errors.txt index e43624fbead..844f302cb59 100644 --- a/tests/baselines/reference/contextualTyping39.errors.txt +++ b/tests/baselines/reference/contextualTyping39.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping39.ts(1,11): error TS2352: Neither type '() => string' nor type '() => number' is assignable to the other. - Type 'string' is not assignable to type 'number'. +tests/cases/compiler/contextualTyping39.ts(1,11): error TS2323: Type '() => string' is not comparable with type '() => number'. + Type 'string' is not comparable with type 'number'. ==== tests/cases/compiler/contextualTyping39.ts (1 errors) ==== var foo = <{ (): number; }> function() { return "err"; }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '() => string' nor type '() => number' is assignable to the other. -!!! error TS2352: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2323: Type '() => string' is not comparable with type '() => number'. +!!! error TS2323: Type 'string' is not comparable with type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping41.errors.txt b/tests/baselines/reference/contextualTyping41.errors.txt index 1ed6da1b782..2f1ac620b7a 100644 --- a/tests/baselines/reference/contextualTyping41.errors.txt +++ b/tests/baselines/reference/contextualTyping41.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping41.ts(1,11): error TS2352: Neither type '() => string' nor type '{ (): number; (i: number): number; }' is assignable to the other. - Type 'string' is not assignable to type 'number'. +tests/cases/compiler/contextualTyping41.ts(1,11): error TS2323: Type '() => string' is not comparable with type '{ (): number; (i: number): number; }'. + Type 'string' is not comparable with type 'number'. ==== tests/cases/compiler/contextualTyping41.ts (1 errors) ==== var foo = <{():number; (i:number):number; }> (function(){return "err";}); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '() => string' nor type '{ (): number; (i: number): number; }' is assignable to the other. -!!! error TS2352: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2323: Type '() => string' is not comparable with type '{ (): number; (i: number): number; }'. +!!! error TS2323: Type 'string' is not comparable with type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt index 156fdcc4c7a..82851017207 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt @@ -2,9 +2,9 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Ar tests/cases/compiler/defaultArgsInFunctionExpressions.ts(5,1): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(11,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2352: Neither type 'string' nor type 'number' is assignable to the other. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2323: Type 'string' is not comparable with type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(17,41): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2352: Neither type 'string' nor type 'number' is assignable to the other. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2323: Type 'string' is not comparable with type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: Cannot find name 'T'. @@ -32,7 +32,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg with the type annotation var f3 = function (a: (s: string) => any = (s) => s) { }; ~~~~~~~~~ -!!! error TS2352: Neither type 'string' nor type 'number' is assignable to the other. +!!! error TS2323: Type 'string' is not comparable with type 'number'. // Type check using the function's contextual type var f4: (a: number) => void = function (a = "") { }; @@ -42,7 +42,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg using the function's contextual type var f5: (a: (s: string) => any) => void = function (a = s => s) { }; ~~~~~~~~~ -!!! error TS2352: Neither type 'string' nor type 'number' is assignable to the other. +!!! error TS2323: Type 'string' is not comparable with type 'number'. // Instantiated module module T { } diff --git a/tests/baselines/reference/fuzzy.errors.txt b/tests/baselines/reference/fuzzy.errors.txt index 72ac4c816f9..f79bc817a10 100644 --- a/tests/baselines/reference/fuzzy.errors.txt +++ b/tests/baselines/reference/fuzzy.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/fuzzy.ts(21,20): error TS2322: Type '{ anything: number; on Types of property 'oneI' are incompatible. Type 'this' is not assignable to type 'I'. Type 'C' is not assignable to type 'I'. -tests/cases/compiler/fuzzy.ts(25,20): error TS2352: Neither type '{ oneI: this; }' nor type 'R' is assignable to the other. +tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is not comparable with type 'R'. Property 'anything' is missing in type '{ oneI: this; }'. @@ -43,8 +43,8 @@ tests/cases/compiler/fuzzy.ts(25,20): error TS2352: Neither type '{ oneI: this; worksToo():R { return ({ oneI: this }); ~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '{ oneI: this; }' nor type 'R' is assignable to the other. -!!! error TS2352: Property 'anything' is missing in type '{ oneI: this; }'. +!!! error TS2323: Type '{ oneI: this; }' is not comparable with type 'R'. +!!! error TS2323: Property 'anything' is missing in type '{ oneI: this; }'. } } } diff --git a/tests/baselines/reference/genericTypeAssertions1.errors.txt b/tests/baselines/reference/genericTypeAssertions1.errors.txt index 5479c5f948e..1e4439ce2ae 100644 --- a/tests/baselines/reference/genericTypeAssertions1.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions1.errors.txt @@ -2,8 +2,8 @@ tests/cases/compiler/genericTypeAssertions1.ts(3,5): error TS2322: Type 'A>' is not assignable to type 'A'. Type 'A' is not assignable to type 'number'. -tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2352: Neither type 'A' nor type 'A>' is assignable to the other. - Type 'number' is not assignable to type 'A'. +tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A' is not comparable with type 'A>'. + Type 'number' is not comparable with type 'A'. ==== tests/cases/compiler/genericTypeAssertions1.ts (3 errors) ==== @@ -18,5 +18,5 @@ tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2352: Neither type !!! error TS2322: Type 'A>' is not assignable to type 'A'. !!! error TS2322: Type 'A' is not assignable to type 'number'. ~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'A' nor type 'A>' is assignable to the other. -!!! error TS2352: Type 'number' is not assignable to type 'A'. \ No newline at end of file +!!! error TS2323: Type 'A' is not comparable with type 'A>'. +!!! error TS2323: Type 'number' is not comparable with type 'A'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions2.errors.txt b/tests/baselines/reference/genericTypeAssertions2.errors.txt index eda4c83646c..ce20955ec1a 100644 --- a/tests/baselines/reference/genericTypeAssertions2.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions2.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/genericTypeAssertions2.ts(10,5): error TS2322: Type 'B' is not assignable to type 'B'. Property 'bar' is missing in type 'A'. -tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2352: Neither type 'undefined[]' nor type 'A' is assignable to the other. +tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undefined[]' is not comparable with type 'A'. Property 'foo' is missing in type 'undefined[]'. @@ -33,5 +33,5 @@ tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2352: Neither typ var r4: A = >new A(); var r5: A = >[]; // error ~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'undefined[]' nor type 'A' is assignable to the other. -!!! error TS2352: Property 'foo' is missing in type 'undefined[]'. \ No newline at end of file +!!! error TS2323: Type 'undefined[]' is not comparable with type 'A'. +!!! error TS2323: Property 'foo' is missing in type 'undefined[]'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions4.errors.txt b/tests/baselines/reference/genericTypeAssertions4.errors.txt index 055de774b39..3456b233f67 100644 --- a/tests/baselines/reference/genericTypeAssertions4.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions4.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2352: Neither type 'B' nor type 'T' is assignable to the other. -tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2352: Neither type 'C' nor type 'T' is assignable to the other. +tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2323: Type 'B' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is not comparable with type 'T'. ==== tests/cases/compiler/genericTypeAssertions4.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2352: Neither type y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2352: Neither type 'B' nor type 'T' is assignable to the other. +!!! error TS2323: Type 'B' is not comparable with type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2352: Neither type 'C' nor type 'T' is assignable to the other. +!!! error TS2323: Type 'C' is not comparable with type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions5.errors.txt b/tests/baselines/reference/genericTypeAssertions5.errors.txt index e315a7f122a..b621decb062 100644 --- a/tests/baselines/reference/genericTypeAssertions5.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions5.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2352: Neither type 'B' nor type 'T' is assignable to the other. -tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2352: Neither type 'C' nor type 'T' is assignable to the other. +tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2323: Type 'B' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is not comparable with type 'T'. ==== tests/cases/compiler/genericTypeAssertions5.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2352: Neither type y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2352: Neither type 'B' nor type 'T' is assignable to the other. +!!! error TS2323: Type 'B' is not comparable with type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2352: Neither type 'C' nor type 'T' is assignable to the other. +!!! error TS2323: Type 'C' is not comparable with type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions6.errors.txt b/tests/baselines/reference/genericTypeAssertions6.errors.txt index 29ca99ecb1a..3637a5cbb5b 100644 --- a/tests/baselines/reference/genericTypeAssertions6.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2352: Neither type 'U' nor type 'T' is assignable to the other. -tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2352: Neither type 'T' nor type 'U' is assignable to the other. -tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2352: Neither type 'U' nor type 'T' is assignable to the other. - Type 'Date' is not assignable to type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2323: Type 'U' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2323: Type 'T' is not comparable with type 'U'. +tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is not comparable with type 'T'. + Type 'Date' is not comparable with type 'T'. ==== tests/cases/compiler/genericTypeAssertions6.ts (3 errors) ==== @@ -14,10 +14,10 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2352: Neither typ f(x: T, y: U) { x = y; ~~~~ -!!! error TS2352: Neither type 'U' nor type 'T' is assignable to the other. +!!! error TS2323: Type 'U' is not comparable with type 'T'. y = x; ~~~~ -!!! error TS2352: Neither type 'T' nor type 'U' is assignable to the other. +!!! error TS2323: Type 'T' is not comparable with type 'U'. } } @@ -29,8 +29,8 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2352: Neither typ var d = new Date(); var e = new Date(); ~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'U' nor type 'T' is assignable to the other. -!!! error TS2352: Type 'Date' is not assignable to type 'T'. +!!! error TS2323: Type 'U' is not comparable with type 'T'. +!!! error TS2323: Type 'Date' is not comparable with type 'T'. } } diff --git a/tests/baselines/reference/intTypeCheck.errors.txt b/tests/baselines/reference/intTypeCheck.errors.txt index e48d1b1dc73..defcc276844 100644 --- a/tests/baselines/reference/intTypeCheck.errors.txt +++ b/tests/baselines/reference/intTypeCheck.errors.txt @@ -61,7 +61,7 @@ tests/cases/compiler/intTypeCheck.ts(176,22): error TS2304: Cannot find name 'i6 tests/cases/compiler/intTypeCheck.ts(177,17): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. tests/cases/compiler/intTypeCheck.ts(182,5): error TS2322: Type '{}' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(183,5): error TS2322: Type 'Object' is not assignable to type 'i7'. -tests/cases/compiler/intTypeCheck.ts(185,17): error TS2352: Neither type 'Base' nor type 'i7' is assignable to the other. +tests/cases/compiler/intTypeCheck.ts(185,17): error TS2323: Type 'Base' is not comparable with type 'i7'. tests/cases/compiler/intTypeCheck.ts(187,5): error TS2322: Type '() => void' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,5): error TS2322: Type 'boolean' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,21): error TS1109: Expression expected. @@ -377,7 +377,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: Cannot use 'new' wit var obj69: i7 = new obj66; var obj70: i7 = new Base; ~~~~~~~~~~~~ -!!! error TS2352: Neither type 'Base' nor type 'i7' is assignable to the other. +!!! error TS2323: Type 'Base' is not comparable with type 'i7'. var obj71: i7 = null; var obj72: i7 = function () { }; ~~~~~ diff --git a/tests/baselines/reference/literals-negative.errors.txt b/tests/baselines/reference/literals-negative.errors.txt index d783e5dfa02..f2a56614cbc 100644 --- a/tests/baselines/reference/literals-negative.errors.txt +++ b/tests/baselines/reference/literals-negative.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/literals-negative.ts(5,9): error TS2352: Neither type 'number' nor type 'boolean' is assignable to the other. +tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is not comparable with type 'boolean'. ==== tests/cases/compiler/literals-negative.ts (1 errors) ==== @@ -8,7 +8,7 @@ tests/cases/compiler/literals-negative.ts(5,9): error TS2352: Neither type 'numb var s = (null); var b = (n); ~~~~~~~~~~~~ -!!! error TS2352: Neither type 'number' nor type 'boolean' is assignable to the other. +!!! error TS2323: Type 'number' is not comparable with type 'boolean'. function isVoid() : void { } diff --git a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt index 66a7773ab49..333a940cc37 100644 --- a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt +++ b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2352: Neither type '{ c: null; }' nor type 'IFoo' is assignable to the other. +tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type '{ c: null; }' is not comparable with type 'IFoo'. Property 'a' is missing in type '{ c: null; }'. @@ -20,5 +20,5 @@ tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2352: Neith // Neither types is assignable to each other ({ c: null }); ~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '{ c: null; }' nor type 'IFoo' is assignable to the other. -!!! error TS2352: Property 'a' is missing in type '{ c: null; }'. \ No newline at end of file +!!! error TS2323: Type '{ c: null; }' is not comparable with type 'IFoo'. +!!! error TS2323: Property 'a' is missing in type '{ c: null; }'. \ No newline at end of file diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt index 9cbaa730022..6bd4dfd0544 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2352: Neither type 'C3' nor type 'C4' is assignable to the other. +tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2323: Type 'C3' is not comparable with type 'C4'. Property 'y' is missing in type 'C3'. @@ -29,5 +29,5 @@ tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectType var c3: C3; c3; // Should fail (private x originates in the same declaration, but different types) ~~~~~~ -!!! error TS2352: Neither type 'C3' nor type 'C4' is assignable to the other. -!!! error TS2352: Property 'y' is missing in type 'C3'. \ No newline at end of file +!!! error TS2323: Type 'C3' is not comparable with type 'C4'. +!!! error TS2323: Property 'y' is missing in type 'C3'. \ No newline at end of file diff --git a/tests/baselines/reference/switchAssignmentCompat.errors.txt b/tests/baselines/reference/switchAssignmentCompat.errors.txt index 6a2755365ab..cdfcc423f03 100644 --- a/tests/baselines/reference/switchAssignmentCompat.errors.txt +++ b/tests/baselines/reference/switchAssignmentCompat.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2322: Type 'typeof Foo' is not assignable to type 'number'. +tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable with type 'number'. ==== tests/cases/compiler/switchAssignmentCompat.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2322: Type 'typeof switch (0) { case Foo: break; // Error expected ~~~ -!!! error TS2322: Type 'typeof Foo' is not assignable to type 'number'. +!!! error TS2323: Type 'typeof Foo' is not comparable with type 'number'. } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt index 967a59071af..417d4394bd8 100644 --- a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. - Type 'number & boolean' is not assignable to type 'string'. - Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string & number'. - Type 'boolean' is not assignable to type 'string'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2323: Type 'number & boolean' is not comparable with type 'string & number'. + Type 'number & boolean' is not comparable with type 'string'. + Type 'boolean' is not comparable with type 'string'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable with type 'string & number'. + Type 'boolean' is not comparable with type 'string'. ==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== @@ -26,15 +26,15 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithInterse // Overlap in constituents case numAndBool: ~~~~~~~~~~ -!!! error TS2322: Type 'number & boolean' is not assignable to type 'string & number'. -!!! error TS2322: Type 'number & boolean' is not assignable to type 'string'. -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2323: Type 'number & boolean' is not comparable with type 'string & number'. +!!! error TS2323: Type 'number & boolean' is not comparable with type 'string'. +!!! error TS2323: Type 'boolean' is not comparable with type 'string'. break; // No relation case bool: ~~~~ -!!! error TS2322: Type 'boolean' is not assignable to type 'string & number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2323: Type 'boolean' is not comparable with type 'string & number'. +!!! error TS2323: Type 'boolean' is not comparable with type 'string'. break; } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt index 66f01cc1d34..3fbcb4c4658 100644 --- a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts(23,10): error TS2322: Type 'boolean' is not assignable to type 'string | number'. - Type 'boolean' is not assignable to type 'number'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable with type 'string | number'. + Type 'boolean' is not comparable with type 'number'. ==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts (1 errors) ==== @@ -27,7 +27,7 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTy // No relation case bool: ~~~~ -!!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. +!!! error TS2323: Type 'boolean' is not comparable with type 'string | number'. +!!! error TS2323: Type 'boolean' is not comparable with type 'number'. break; } \ No newline at end of file diff --git a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt index de739af007d..c3009179995 100644 --- a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt +++ b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2322: Type 'typeof Foo' is not assignable to type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2322: Type 'boolean' is not assignable to type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable with type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2323: Type 'string' is not comparable with type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2323: Type 'boolean' is not comparable with type 'number'. ==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (3 errors) ==== @@ -9,14 +9,14 @@ tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2322: T switch (0) { case Foo: break; // Error ~~~ -!!! error TS2322: Type 'typeof Foo' is not assignable to type 'number'. +!!! error TS2323: Type 'typeof Foo' is not comparable with type 'number'. case "sss": break; // Error ~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2323: Type 'string' is not comparable with type 'number'. case 123: break; // No Error case true: break; // Error ~~~~ -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. +!!! error TS2323: Type 'boolean' is not comparable with type 'number'. } var s: any = 0; diff --git a/tests/baselines/reference/switchStatements.errors.txt b/tests/baselines/reference/switchStatements.errors.txt index c99b0eba909..eddc9eaa833 100644 --- a/tests/baselines/reference/switchStatements.errors.txt +++ b/tests/baselines/reference/switchStatements.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): error TS2322: Type '{ id: number; name: string; }' is not assignable to type 'C'. +tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): error TS2323: Type '{ id: number; name: string; }' is not comparable with type 'C'. Object literal may only specify known properties, and 'name' does not exist in type 'C'. @@ -39,8 +39,8 @@ tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): case new D(): case { id: 12, name: '' }: ~~~~~~~~ -!!! error TS2322: Type '{ id: number; name: string; }' is not assignable to type 'C'. -!!! error TS2322: Object literal may only specify known properties, and 'name' does not exist in type 'C'. +!!! error TS2323: Type '{ id: number; name: string; }' is not comparable with type 'C'. +!!! error TS2323: Object literal may only specify known properties, and 'name' does not exist in type 'C'. case new C(): } diff --git a/tests/baselines/reference/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index a2ad28801c8..1e9e45171f6 100644 --- a/tests/baselines/reference/typeAssertions.errors.txt +++ b/tests/baselines/reference/typeAssertions.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(5,5): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2352: Neither type 'SomeOther' nor type 'SomeBase' is assignable to the other. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2323: Type 'SomeOther' is not comparable with type 'SomeBase'. Property 'p' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2352: Neither type 'SomeOther' nor type 'SomeDerived' is assignable to the other. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2323: Type 'SomeOther' is not comparable with type 'SomeDerived'. Property 'x' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2352: Neither type 'SomeDerived' nor type 'SomeOther' is assignable to the other. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2323: Type 'SomeDerived' is not comparable with type 'SomeOther'. Property 'q' is missing in type 'SomeDerived'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2352: Neither type 'SomeBase' nor type 'SomeOther' is assignable to the other. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2323: Type 'SomeBase' is not comparable with type 'SomeOther'. Property 'q' is missing in type 'SomeBase'. @@ -44,24 +44,24 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): err someBase = someBase; someBase = someOther; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'SomeOther' nor type 'SomeBase' is assignable to the other. -!!! error TS2352: Property 'p' is missing in type 'SomeOther'. +!!! error TS2323: Type 'SomeOther' is not comparable with type 'SomeBase'. +!!! error TS2323: Property 'p' is missing in type 'SomeOther'. someDerived = someDerived; someDerived = someBase; someDerived = someOther; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'SomeOther' nor type 'SomeDerived' is assignable to the other. -!!! error TS2352: Property 'x' is missing in type 'SomeOther'. +!!! error TS2323: Type 'SomeOther' is not comparable with type 'SomeDerived'. +!!! error TS2323: Property 'x' is missing in type 'SomeOther'. someOther = someDerived; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'SomeDerived' nor type 'SomeOther' is assignable to the other. -!!! error TS2352: Property 'q' is missing in type 'SomeDerived'. +!!! error TS2323: Type 'SomeDerived' is not comparable with type 'SomeOther'. +!!! error TS2323: Property 'q' is missing in type 'SomeDerived'. someOther = someBase; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type 'SomeBase' nor type 'SomeOther' is assignable to the other. -!!! error TS2352: Property 'q' is missing in type 'SomeBase'. +!!! error TS2323: Type 'SomeBase' is not comparable with type 'SomeOther'. +!!! error TS2323: Property 'q' is missing in type 'SomeBase'. someOther = someOther; diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt index 162e55a225e..1b0cd98533d 100644 --- a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. - Type 'I2' is not assignable to type 'I3'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2323: Type 'I2' is not comparable with type 'I1 & I3'. + Type 'I2' is not comparable with type 'I3'. Property 'p3' is missing in type 'I2'. -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2323: Type 'I2' is not comparable with type 'I3'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== @@ -23,12 +23,12 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithInt var a = z; ~~~~~~~~~~ -!!! error TS2352: Neither type 'I2' nor type 'I1 & I3' is assignable to the other. -!!! error TS2352: Type 'I2' is not assignable to type 'I3'. -!!! error TS2352: Property 'p3' is missing in type 'I2'. +!!! error TS2323: Type 'I2' is not comparable with type 'I1 & I3'. +!!! error TS2323: Type 'I2' is not comparable with type 'I3'. +!!! error TS2323: Property 'p3' is missing in type 'I2'. var b = z; ~~~~~ -!!! error TS2352: Neither type 'I2' nor type 'I3' is assignable to the other. +!!! error TS2323: Type 'I2' is not comparable with type 'I3'. var c = z; var d = y; \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt index 68ab174ff98..21d1bccdd5d 100644 --- a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2323: Type 'I1' is not comparable with type 'number'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUni var a = z; var b = z; ~~~~~~~~~ -!!! error TS2352: Neither type 'I1' nor type 'number' is assignable to the other. +!!! error TS2323: Type 'I1' is not comparable with type 'number'. var c = z; var d = y; \ No newline at end of file From 80a50aa104054df7846d244bfbc5ed1ecfa408ac Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 3 Nov 2015 17:39:53 -0800 Subject: [PATCH 016/342] Appease the almighty linter. --- src/compiler/checker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a804cacb7de..9d069a547d9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4832,13 +4832,13 @@ namespace ts { sourceType = typeToString(source, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType); targetType = typeToString(target, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType); } - + if (!message) { message = relation === comparableRelation ? Diagnostics.Type_0_is_not_comparable_with_type_1 : - Diagnostics.Type_0_is_not_assignable_to_type_1 + Diagnostics.Type_0_is_not_assignable_to_type_1; } - + reportError(message, sourceType, targetType); } From 42c49cea0d1b393ab57bf748ae1c3bb42e00ca57 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Nov 2015 13:05:46 -0800 Subject: [PATCH 017/342] Style. --- src/compiler/checker.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9d069a547d9..f16722b7c57 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4882,13 +4882,13 @@ namespace ts { let saveErrorInfo = errorInfo; - // Note that the "each" checks must precede the "some" checks to produce the correct results + // Note that these checks are specifically ordered to produce correct results. if (source.flags & TypeFlags.Union) { if (relation === comparableRelation) { result = someTypeRelatedToType(source as UnionType, target, reportErrors); } else { - result = eachTypeRelatedToType(source, target, reportErrors); + result = eachTypeRelatedToType(source as UnionType, target, reportErrors); } if (result) { @@ -4896,25 +4896,25 @@ namespace ts { } } else if (target.flags & TypeFlags.Intersection) { - result = typeRelatedToEachType(source, target, reportErrors); + result = typeRelatedToEachType(source, target as IntersectionType, reportErrors); if (result) { return result; } } else { - // It is necessary to try "some" checks on both sides because there may be nested "each" checks + // It is necessary to try these "some" checks on both sides because there may be nested "each" checks // on either side that need to be prioritized. For example, A | B = (A | B) & (C | D) or // A & B = (A & B) | (C & D). if (source.flags & TypeFlags.Intersection) { // If target is a union type then the check following this one will report errors, // so we'll suppress any errors we could run into here. - if (result = someTypeRelatedToType(source, target, reportErrors && !(target.flags & TypeFlags.Union))) { + if (result = someTypeRelatedToType(source as IntersectionType, target, reportErrors && !(target.flags & TypeFlags.Union))) { return result; } } if (target.flags & TypeFlags.Union) { - if (result = typeRelatedToSomeType(source, target, reportErrors)) { + if (result = typeRelatedToSomeType(source, target as UnionType, reportErrors)) { return result; } } @@ -12727,6 +12727,7 @@ namespace ts { let caseClause = clause; // TypeScript 1.0 spec (April 2014): 5.9 // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. + // TODO (drosen): this needs to be amended to reflect the "comparable" relationship. let caseType = checkExpression(caseClause.expression); if (!isTypeComparableTo(expressionType, caseType)) { From 6c8c1223f29bbd657cb042fef80f0fa0ccf39226 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Nov 2015 13:19:15 -0800 Subject: [PATCH 018/342] 'with' to 'to' --- src/compiler/checker.ts | 2 +- src/compiler/diagnosticMessages.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f16722b7c57..1d859cee660 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4835,7 +4835,7 @@ namespace ts { if (!message) { message = relation === comparableRelation ? - Diagnostics.Type_0_is_not_comparable_with_type_1 : + Diagnostics.Type_0_is_not_comparable_to_type_1 : Diagnostics.Type_0_is_not_assignable_to_type_1; } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 4f1b4869918..c295a828175 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -888,7 +888,7 @@ "category": "Error", "code": 2322 }, - "Type '{0}' is not comparable with type '{1}'.": { + "Type '{0}' is not comparable to type '{1}'.": { "category": "Error", "code": 2323 }, From f6eacb9606bd983e91d18719d4b06a357c7fa837 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Nov 2015 13:19:56 -0800 Subject: [PATCH 019/342] Accepted baselines. --- .../baselines/reference/arrayCast.errors.txt | 8 ++++---- .../reference/asOperator2.errors.txt | 4 ++-- .../asOperatorContextualType.errors.txt | 8 ++++---- .../reference/asOperatorNames.errors.txt | 4 ++-- .../reference/castingTuple.errors.txt | 16 +++++++-------- .../reference/contextualTyping39.errors.txt | 8 ++++---- .../reference/contextualTyping41.errors.txt | 8 ++++---- ...efaultArgsInFunctionExpressions.errors.txt | 8 ++++---- tests/baselines/reference/fuzzy.errors.txt | 4 ++-- .../genericTypeAssertions1.errors.txt | 8 ++++---- .../genericTypeAssertions2.errors.txt | 4 ++-- .../genericTypeAssertions4.errors.txt | 8 ++++---- .../genericTypeAssertions5.errors.txt | 8 ++++---- .../genericTypeAssertions6.errors.txt | 16 +++++++-------- .../reference/intTypeCheck.errors.txt | 4 ++-- .../reference/literals-negative.errors.txt | 4 ++-- .../noImplicitAnyInCastExpression.errors.txt | 4 ++-- ...bjectTypesIdentityWithPrivates3.errors.txt | 4 ++-- .../switchAssignmentCompat.errors.txt | 4 ++-- ...itchCaseWithIntersectionTypes01.errors.txt | 20 +++++++++---------- .../switchCaseWithUnionTypes01.errors.txt | 8 ++++---- ...itchCasesExpressionTypeMismatch.errors.txt | 12 +++++------ .../reference/switchStatements.errors.txt | 4 ++-- .../reference/typeAssertions.errors.txt | 16 +++++++-------- ...sertionsWithIntersectionTypes01.errors.txt | 12 +++++------ .../typeAssertionsWithUnionTypes01.errors.txt | 4 ++-- 26 files changed, 104 insertions(+), 104 deletions(-) diff --git a/tests/baselines/reference/arrayCast.errors.txt b/tests/baselines/reference/arrayCast.errors.txt index c73f3ce879c..bb895475a18 100644 --- a/tests/baselines/reference/arrayCast.errors.txt +++ b/tests/baselines/reference/arrayCast.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' is not comparable with type '{ id: number; }[]'. - Type '{ foo: string; }' is not comparable with type '{ id: number; }'. +tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' is not comparable to type '{ id: number; }[]'. + Type '{ foo: string; }' is not comparable to type '{ id: number; }'. Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. @@ -8,8 +8,8 @@ tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' // has type { foo: string }[], which is not assignable to { id: number }[]. <{ id: number; }[]>[{ foo: "s" }]; ~~~~~~~~ -!!! error TS2323: Type '{ foo: string; }[]' is not comparable with type '{ id: number; }[]'. -!!! error TS2323: Type '{ foo: string; }' is not comparable with type '{ id: number; }'. +!!! error TS2323: Type '{ foo: string; }[]' is not comparable to type '{ id: number; }[]'. +!!! error TS2323: Type '{ foo: string; }' is not comparable to type '{ id: number; }'. !!! error TS2323: Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. // Should succeed, as the {} element causes the type of the array to be {}[] diff --git a/tests/baselines/reference/asOperator2.errors.txt b/tests/baselines/reference/asOperator2.errors.txt index d3eb568d79a..0930191aae1 100644 --- a/tests/baselines/reference/asOperator2.errors.txt +++ b/tests/baselines/reference/asOperator2.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2323: Type 'number' is not comparable with type 'string'. +tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2323: Type 'number' is not comparable to type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperator2.ts (1 errors) ==== var x = 23 as string; ~~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable with type 'string'. +!!! error TS2323: Type 'number' is not comparable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorContextualType.errors.txt b/tests/baselines/reference/asOperatorContextualType.errors.txt index a2ea2a7f83e..1a6cf43827c 100644 --- a/tests/baselines/reference/asOperatorContextualType.errors.txt +++ b/tests/baselines/reference/asOperatorContextualType.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2323: Type '(v: number) => number' is not comparable with type '(x: number) => string'. - Type 'number' is not comparable with type 'string'. +tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2323: Type '(v: number) => number' is not comparable to type '(x: number) => string'. + Type 'number' is not comparable to type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts (1 errors) ==== // should error var x = (v => v) as (x: number) => string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '(v: number) => number' is not comparable with type '(x: number) => string'. -!!! error TS2323: Type 'number' is not comparable with type 'string'. \ No newline at end of file +!!! error TS2323: Type '(v: number) => number' is not comparable to type '(x: number) => string'. +!!! error TS2323: Type 'number' is not comparable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorNames.errors.txt b/tests/baselines/reference/asOperatorNames.errors.txt index 61847f5dba1..f4ef8a64e2b 100644 --- a/tests/baselines/reference/asOperatorNames.errors.txt +++ b/tests/baselines/reference/asOperatorNames.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2323: Type 'number' is not comparable with type 'string'. +tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2323: Type 'number' is not comparable to type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperatorNames.ts (1 errors) ==== var a = 20; var b = a as string; ~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable with type 'string'. +!!! error TS2323: Type 'number' is not comparable to type 'string'. var as = "hello"; var as1 = as as string; \ No newline at end of file diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 04caf8e22c5..4430c932bfc 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2323: Type '[number, string]' is not comparable with type '[number, number]'. +tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2323: Type '[number, string]' is not comparable to type '[number, number]'. Types of property '1' are incompatible. - Type 'string' is not comparable with type 'number'. -tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2323: Type '[C, D]' is not comparable with type '[A, I]'. + Type 'string' is not comparable to type 'number'. +tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2323: Type '[C, D]' is not comparable to type '[A, I]'. Types of property '0' are incompatible. - Type 'C' is not comparable with type 'A'. + Type 'C' is not comparable to type 'A'. Property 'a' is missing in type 'C'. tests/cases/conformance/types/tuple/castingTuple.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot find name 't4'. @@ -39,14 +39,14 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot // error var t3 = <[number, number]>numStrTuple; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '[number, string]' is not comparable with type '[number, number]'. +!!! error TS2323: Type '[number, string]' is not comparable to type '[number, number]'. !!! error TS2323: Types of property '1' are incompatible. -!!! error TS2323: Type 'string' is not comparable with type 'number'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. var t9 = <[A, I]>classCDTuple; ~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '[C, D]' is not comparable with type '[A, I]'. +!!! error TS2323: Type '[C, D]' is not comparable to type '[A, I]'. !!! error TS2323: Types of property '0' are incompatible. -!!! error TS2323: Type 'C' is not comparable with type 'A'. +!!! error TS2323: Type 'C' is not comparable to type 'A'. !!! error TS2323: Property 'a' is missing in type 'C'. var array1 = numStrTuple; ~~~~~~ diff --git a/tests/baselines/reference/contextualTyping39.errors.txt b/tests/baselines/reference/contextualTyping39.errors.txt index 844f302cb59..bb797c6a43e 100644 --- a/tests/baselines/reference/contextualTyping39.errors.txt +++ b/tests/baselines/reference/contextualTyping39.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping39.ts(1,11): error TS2323: Type '() => string' is not comparable with type '() => number'. - Type 'string' is not comparable with type 'number'. +tests/cases/compiler/contextualTyping39.ts(1,11): error TS2323: Type '() => string' is not comparable to type '() => number'. + Type 'string' is not comparable to type 'number'. ==== tests/cases/compiler/contextualTyping39.ts (1 errors) ==== var foo = <{ (): number; }> function() { return "err"; }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '() => string' is not comparable with type '() => number'. -!!! error TS2323: Type 'string' is not comparable with type 'number'. \ No newline at end of file +!!! error TS2323: Type '() => string' is not comparable to type '() => number'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping41.errors.txt b/tests/baselines/reference/contextualTyping41.errors.txt index 2f1ac620b7a..e3261e11843 100644 --- a/tests/baselines/reference/contextualTyping41.errors.txt +++ b/tests/baselines/reference/contextualTyping41.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping41.ts(1,11): error TS2323: Type '() => string' is not comparable with type '{ (): number; (i: number): number; }'. - Type 'string' is not comparable with type 'number'. +tests/cases/compiler/contextualTyping41.ts(1,11): error TS2323: Type '() => string' is not comparable to type '{ (): number; (i: number): number; }'. + Type 'string' is not comparable to type 'number'. ==== tests/cases/compiler/contextualTyping41.ts (1 errors) ==== var foo = <{():number; (i:number):number; }> (function(){return "err";}); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '() => string' is not comparable with type '{ (): number; (i: number): number; }'. -!!! error TS2323: Type 'string' is not comparable with type 'number'. \ No newline at end of file +!!! error TS2323: Type '() => string' is not comparable to type '{ (): number; (i: number): number; }'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt index 82851017207..7b7166843c3 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt @@ -2,9 +2,9 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Ar tests/cases/compiler/defaultArgsInFunctionExpressions.ts(5,1): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(11,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2323: Type 'string' is not comparable with type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2323: Type 'string' is not comparable to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(17,41): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2323: Type 'string' is not comparable with type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2323: Type 'string' is not comparable to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: Cannot find name 'T'. @@ -32,7 +32,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg with the type annotation var f3 = function (a: (s: string) => any = (s) => s) { }; ~~~~~~~~~ -!!! error TS2323: Type 'string' is not comparable with type 'number'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. // Type check using the function's contextual type var f4: (a: number) => void = function (a = "") { }; @@ -42,7 +42,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg using the function's contextual type var f5: (a: (s: string) => any) => void = function (a = s => s) { }; ~~~~~~~~~ -!!! error TS2323: Type 'string' is not comparable with type 'number'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. // Instantiated module module T { } diff --git a/tests/baselines/reference/fuzzy.errors.txt b/tests/baselines/reference/fuzzy.errors.txt index f79bc817a10..f39b520759c 100644 --- a/tests/baselines/reference/fuzzy.errors.txt +++ b/tests/baselines/reference/fuzzy.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/fuzzy.ts(21,20): error TS2322: Type '{ anything: number; on Types of property 'oneI' are incompatible. Type 'this' is not assignable to type 'I'. Type 'C' is not assignable to type 'I'. -tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is not comparable with type 'R'. +tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is not comparable to type 'R'. Property 'anything' is missing in type '{ oneI: this; }'. @@ -43,7 +43,7 @@ tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is no worksToo():R { return ({ oneI: this }); ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '{ oneI: this; }' is not comparable with type 'R'. +!!! error TS2323: Type '{ oneI: this; }' is not comparable to type 'R'. !!! error TS2323: Property 'anything' is missing in type '{ oneI: this; }'. } } diff --git a/tests/baselines/reference/genericTypeAssertions1.errors.txt b/tests/baselines/reference/genericTypeAssertions1.errors.txt index 1e4439ce2ae..3e0157f9863 100644 --- a/tests/baselines/reference/genericTypeAssertions1.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions1.errors.txt @@ -2,8 +2,8 @@ tests/cases/compiler/genericTypeAssertions1.ts(3,5): error TS2322: Type 'A>' is not assignable to type 'A'. Type 'A' is not assignable to type 'number'. -tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A' is not comparable with type 'A>'. - Type 'number' is not comparable with type 'A'. +tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A' is not comparable to type 'A>'. + Type 'number' is not comparable to type 'A'. ==== tests/cases/compiler/genericTypeAssertions1.ts (3 errors) ==== @@ -18,5 +18,5 @@ tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A>' is not assignable to type 'A'. !!! error TS2322: Type 'A' is not assignable to type 'number'. ~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'A' is not comparable with type 'A>'. -!!! error TS2323: Type 'number' is not comparable with type 'A'. \ No newline at end of file +!!! error TS2323: Type 'A' is not comparable to type 'A>'. +!!! error TS2323: Type 'number' is not comparable to type 'A'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions2.errors.txt b/tests/baselines/reference/genericTypeAssertions2.errors.txt index ce20955ec1a..908255b1d33 100644 --- a/tests/baselines/reference/genericTypeAssertions2.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions2.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/genericTypeAssertions2.ts(10,5): error TS2322: Type 'B' is not assignable to type 'B'. Property 'bar' is missing in type 'A'. -tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undefined[]' is not comparable with type 'A'. +tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undefined[]' is not comparable to type 'A'. Property 'foo' is missing in type 'undefined[]'. @@ -33,5 +33,5 @@ tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undef var r4: A = >new A(); var r5: A = >[]; // error ~~~~~~~~~~~~~ -!!! error TS2323: Type 'undefined[]' is not comparable with type 'A'. +!!! error TS2323: Type 'undefined[]' is not comparable to type 'A'. !!! error TS2323: Property 'foo' is missing in type 'undefined[]'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions4.errors.txt b/tests/baselines/reference/genericTypeAssertions4.errors.txt index 3456b233f67..cffacb6b0dc 100644 --- a/tests/baselines/reference/genericTypeAssertions4.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions4.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2323: Type 'B' is not comparable with type 'T'. -tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2323: Type 'B' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is not comparable to type 'T'. ==== tests/cases/compiler/genericTypeAssertions4.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2323: Type 'B' is not comparable with type 'T'. +!!! error TS2323: Type 'B' is not comparable to type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2323: Type 'C' is not comparable with type 'T'. +!!! error TS2323: Type 'C' is not comparable to type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions5.errors.txt b/tests/baselines/reference/genericTypeAssertions5.errors.txt index b621decb062..f7f2be41825 100644 --- a/tests/baselines/reference/genericTypeAssertions5.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions5.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2323: Type 'B' is not comparable with type 'T'. -tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2323: Type 'B' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is not comparable to type 'T'. ==== tests/cases/compiler/genericTypeAssertions5.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2323: Type 'B' is not comparable with type 'T'. +!!! error TS2323: Type 'B' is not comparable to type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2323: Type 'C' is not comparable with type 'T'. +!!! error TS2323: Type 'C' is not comparable to type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions6.errors.txt b/tests/baselines/reference/genericTypeAssertions6.errors.txt index 3637a5cbb5b..4ea7d3602eb 100644 --- a/tests/baselines/reference/genericTypeAssertions6.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2323: Type 'U' is not comparable with type 'T'. -tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2323: Type 'T' is not comparable with type 'U'. -tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is not comparable with type 'T'. - Type 'Date' is not comparable with type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2323: Type 'U' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2323: Type 'T' is not comparable to type 'U'. +tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is not comparable to type 'T'. + Type 'Date' is not comparable to type 'T'. ==== tests/cases/compiler/genericTypeAssertions6.ts (3 errors) ==== @@ -14,10 +14,10 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is f(x: T, y: U) { x = y; ~~~~ -!!! error TS2323: Type 'U' is not comparable with type 'T'. +!!! error TS2323: Type 'U' is not comparable to type 'T'. y = x; ~~~~ -!!! error TS2323: Type 'T' is not comparable with type 'U'. +!!! error TS2323: Type 'T' is not comparable to type 'U'. } } @@ -29,8 +29,8 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is var d = new Date(); var e = new Date(); ~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'U' is not comparable with type 'T'. -!!! error TS2323: Type 'Date' is not comparable with type 'T'. +!!! error TS2323: Type 'U' is not comparable to type 'T'. +!!! error TS2323: Type 'Date' is not comparable to type 'T'. } } diff --git a/tests/baselines/reference/intTypeCheck.errors.txt b/tests/baselines/reference/intTypeCheck.errors.txt index defcc276844..175c5ea7979 100644 --- a/tests/baselines/reference/intTypeCheck.errors.txt +++ b/tests/baselines/reference/intTypeCheck.errors.txt @@ -61,7 +61,7 @@ tests/cases/compiler/intTypeCheck.ts(176,22): error TS2304: Cannot find name 'i6 tests/cases/compiler/intTypeCheck.ts(177,17): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. tests/cases/compiler/intTypeCheck.ts(182,5): error TS2322: Type '{}' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(183,5): error TS2322: Type 'Object' is not assignable to type 'i7'. -tests/cases/compiler/intTypeCheck.ts(185,17): error TS2323: Type 'Base' is not comparable with type 'i7'. +tests/cases/compiler/intTypeCheck.ts(185,17): error TS2323: Type 'Base' is not comparable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(187,5): error TS2322: Type '() => void' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,5): error TS2322: Type 'boolean' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,21): error TS1109: Expression expected. @@ -377,7 +377,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: Cannot use 'new' wit var obj69: i7 = new obj66; var obj70: i7 = new Base; ~~~~~~~~~~~~ -!!! error TS2323: Type 'Base' is not comparable with type 'i7'. +!!! error TS2323: Type 'Base' is not comparable to type 'i7'. var obj71: i7 = null; var obj72: i7 = function () { }; ~~~~~ diff --git a/tests/baselines/reference/literals-negative.errors.txt b/tests/baselines/reference/literals-negative.errors.txt index f2a56614cbc..40a00989717 100644 --- a/tests/baselines/reference/literals-negative.errors.txt +++ b/tests/baselines/reference/literals-negative.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is not comparable with type 'boolean'. +tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is not comparable to type 'boolean'. ==== tests/cases/compiler/literals-negative.ts (1 errors) ==== @@ -8,7 +8,7 @@ tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is n var s = (null); var b = (n); ~~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable with type 'boolean'. +!!! error TS2323: Type 'number' is not comparable to type 'boolean'. function isVoid() : void { } diff --git a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt index 333a940cc37..35b11dc5b61 100644 --- a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt +++ b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type '{ c: null; }' is not comparable with type 'IFoo'. +tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type '{ c: null; }' is not comparable to type 'IFoo'. Property 'a' is missing in type '{ c: null; }'. @@ -20,5 +20,5 @@ tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type // Neither types is assignable to each other ({ c: null }); ~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '{ c: null; }' is not comparable with type 'IFoo'. +!!! error TS2323: Type '{ c: null; }' is not comparable to type 'IFoo'. !!! error TS2323: Property 'a' is missing in type '{ c: null; }'. \ No newline at end of file diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt index 6bd4dfd0544..b74518ad062 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2323: Type 'C3' is not comparable with type 'C4'. +tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2323: Type 'C3' is not comparable to type 'C4'. Property 'y' is missing in type 'C3'. @@ -29,5 +29,5 @@ tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectType var c3: C3; c3; // Should fail (private x originates in the same declaration, but different types) ~~~~~~ -!!! error TS2323: Type 'C3' is not comparable with type 'C4'. +!!! error TS2323: Type 'C3' is not comparable to type 'C4'. !!! error TS2323: Property 'y' is missing in type 'C3'. \ No newline at end of file diff --git a/tests/baselines/reference/switchAssignmentCompat.errors.txt b/tests/baselines/reference/switchAssignmentCompat.errors.txt index cdfcc423f03..2225c711863 100644 --- a/tests/baselines/reference/switchAssignmentCompat.errors.txt +++ b/tests/baselines/reference/switchAssignmentCompat.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable with type 'number'. +tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable to type 'number'. ==== tests/cases/compiler/switchAssignmentCompat.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2323: Type 'typeof switch (0) { case Foo: break; // Error expected ~~~ -!!! error TS2323: Type 'typeof Foo' is not comparable with type 'number'. +!!! error TS2323: Type 'typeof Foo' is not comparable to type 'number'. } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt index 417d4394bd8..30e50c2a12d 100644 --- a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2323: Type 'number & boolean' is not comparable with type 'string & number'. - Type 'number & boolean' is not comparable with type 'string'. - Type 'boolean' is not comparable with type 'string'. -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable with type 'string & number'. - Type 'boolean' is not comparable with type 'string'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2323: Type 'number & boolean' is not comparable to type 'string & number'. + Type 'number & boolean' is not comparable to type 'string'. + Type 'boolean' is not comparable to type 'string'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable to type 'string & number'. + Type 'boolean' is not comparable to type 'string'. ==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== @@ -26,15 +26,15 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithInterse // Overlap in constituents case numAndBool: ~~~~~~~~~~ -!!! error TS2323: Type 'number & boolean' is not comparable with type 'string & number'. -!!! error TS2323: Type 'number & boolean' is not comparable with type 'string'. -!!! error TS2323: Type 'boolean' is not comparable with type 'string'. +!!! error TS2323: Type 'number & boolean' is not comparable to type 'string & number'. +!!! error TS2323: Type 'number & boolean' is not comparable to type 'string'. +!!! error TS2323: Type 'boolean' is not comparable to type 'string'. break; // No relation case bool: ~~~~ -!!! error TS2323: Type 'boolean' is not comparable with type 'string & number'. -!!! error TS2323: Type 'boolean' is not comparable with type 'string'. +!!! error TS2323: Type 'boolean' is not comparable to type 'string & number'. +!!! error TS2323: Type 'boolean' is not comparable to type 'string'. break; } \ No newline at end of file diff --git a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt index 3fbcb4c4658..fe5d9175fc7 100644 --- a/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithUnionTypes01.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable with type 'string | number'. - Type 'boolean' is not comparable with type 'number'. +tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts(23,10): error TS2323: Type 'boolean' is not comparable to type 'string | number'. + Type 'boolean' is not comparable to type 'number'. ==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTypes01.ts (1 errors) ==== @@ -27,7 +27,7 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithUnionTy // No relation case bool: ~~~~ -!!! error TS2323: Type 'boolean' is not comparable with type 'string | number'. -!!! error TS2323: Type 'boolean' is not comparable with type 'number'. +!!! error TS2323: Type 'boolean' is not comparable to type 'string | number'. +!!! error TS2323: Type 'boolean' is not comparable to type 'number'. break; } \ No newline at end of file diff --git a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt index c3009179995..81e5137546a 100644 --- a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt +++ b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable with type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2323: Type 'string' is not comparable with type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2323: Type 'boolean' is not comparable with type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2323: Type 'typeof Foo' is not comparable to type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2323: Type 'string' is not comparable to type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2323: Type 'boolean' is not comparable to type 'number'. ==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (3 errors) ==== @@ -9,14 +9,14 @@ tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2323: T switch (0) { case Foo: break; // Error ~~~ -!!! error TS2323: Type 'typeof Foo' is not comparable with type 'number'. +!!! error TS2323: Type 'typeof Foo' is not comparable to type 'number'. case "sss": break; // Error ~~~~~ -!!! error TS2323: Type 'string' is not comparable with type 'number'. +!!! error TS2323: Type 'string' is not comparable to type 'number'. case 123: break; // No Error case true: break; // Error ~~~~ -!!! error TS2323: Type 'boolean' is not comparable with type 'number'. +!!! error TS2323: Type 'boolean' is not comparable to type 'number'. } var s: any = 0; diff --git a/tests/baselines/reference/switchStatements.errors.txt b/tests/baselines/reference/switchStatements.errors.txt index eddc9eaa833..3ed58a6a65b 100644 --- a/tests/baselines/reference/switchStatements.errors.txt +++ b/tests/baselines/reference/switchStatements.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): error TS2323: Type '{ id: number; name: string; }' is not comparable with type 'C'. +tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): error TS2323: Type '{ id: number; name: string; }' is not comparable to type 'C'. Object literal may only specify known properties, and 'name' does not exist in type 'C'. @@ -39,7 +39,7 @@ tests/cases/conformance/statements/switchStatements/switchStatements.ts(35,20): case new D(): case { id: 12, name: '' }: ~~~~~~~~ -!!! error TS2323: Type '{ id: number; name: string; }' is not comparable with type 'C'. +!!! error TS2323: Type '{ id: number; name: string; }' is not comparable to type 'C'. !!! error TS2323: Object literal may only specify known properties, and 'name' does not exist in type 'C'. case new C(): } diff --git a/tests/baselines/reference/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index 1e9e45171f6..da2dcbd8877 100644 --- a/tests/baselines/reference/typeAssertions.errors.txt +++ b/tests/baselines/reference/typeAssertions.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(5,5): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2323: Type 'SomeOther' is not comparable with type 'SomeBase'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2323: Type 'SomeOther' is not comparable to type 'SomeBase'. Property 'p' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2323: Type 'SomeOther' is not comparable with type 'SomeDerived'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2323: Type 'SomeOther' is not comparable to type 'SomeDerived'. Property 'x' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2323: Type 'SomeDerived' is not comparable with type 'SomeOther'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2323: Type 'SomeDerived' is not comparable to type 'SomeOther'. Property 'q' is missing in type 'SomeDerived'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2323: Type 'SomeBase' is not comparable with type 'SomeOther'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2323: Type 'SomeBase' is not comparable to type 'SomeOther'. Property 'q' is missing in type 'SomeBase'. @@ -44,23 +44,23 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): err someBase = someBase; someBase = someOther; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeOther' is not comparable with type 'SomeBase'. +!!! error TS2323: Type 'SomeOther' is not comparable to type 'SomeBase'. !!! error TS2323: Property 'p' is missing in type 'SomeOther'. someDerived = someDerived; someDerived = someBase; someDerived = someOther; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeOther' is not comparable with type 'SomeDerived'. +!!! error TS2323: Type 'SomeOther' is not comparable to type 'SomeDerived'. !!! error TS2323: Property 'x' is missing in type 'SomeOther'. someOther = someDerived; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeDerived' is not comparable with type 'SomeOther'. +!!! error TS2323: Type 'SomeDerived' is not comparable to type 'SomeOther'. !!! error TS2323: Property 'q' is missing in type 'SomeDerived'. someOther = someBase; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeBase' is not comparable with type 'SomeOther'. +!!! error TS2323: Type 'SomeBase' is not comparable to type 'SomeOther'. !!! error TS2323: Property 'q' is missing in type 'SomeBase'. someOther = someOther; diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt index 1b0cd98533d..c663c6a41e4 100644 --- a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2323: Type 'I2' is not comparable with type 'I1 & I3'. - Type 'I2' is not comparable with type 'I3'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2323: Type 'I2' is not comparable to type 'I1 & I3'. + Type 'I2' is not comparable to type 'I3'. Property 'p3' is missing in type 'I2'. -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2323: Type 'I2' is not comparable with type 'I3'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2323: Type 'I2' is not comparable to type 'I3'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== @@ -23,12 +23,12 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithInt var a = z; ~~~~~~~~~~ -!!! error TS2323: Type 'I2' is not comparable with type 'I1 & I3'. -!!! error TS2323: Type 'I2' is not comparable with type 'I3'. +!!! error TS2323: Type 'I2' is not comparable to type 'I1 & I3'. +!!! error TS2323: Type 'I2' is not comparable to type 'I3'. !!! error TS2323: Property 'p3' is missing in type 'I2'. var b = z; ~~~~~ -!!! error TS2323: Type 'I2' is not comparable with type 'I3'. +!!! error TS2323: Type 'I2' is not comparable to type 'I3'. var c = z; var d = y; \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt index 21d1bccdd5d..a25b6bbb832 100644 --- a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2323: Type 'I1' is not comparable with type 'number'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2323: Type 'I1' is not comparable to type 'number'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUni var a = z; var b = z; ~~~~~~~~~ -!!! error TS2323: Type 'I1' is not comparable with type 'number'. +!!! error TS2323: Type 'I1' is not comparable to type 'number'. var c = z; var d = y; \ No newline at end of file From a37b731193a543946272ad58257db8a305fce7e7 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 5 Nov 2015 15:44:51 -0800 Subject: [PATCH 020/342] Changed type assertion error message. --- src/compiler/checker.ts | 2 +- src/compiler/diagnosticMessages.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1d859cee660..de11802cc79 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9418,7 +9418,7 @@ namespace ts { let widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { - checkTypeComparableTo(exprType, targetType, node); + checkTypeComparableTo(exprType, targetType, node, Diagnostics.Type_0_cannot_be_converted_to_type_1); } } return targetType; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index c295a828175..b5471520d25 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1000,6 +1000,10 @@ "category": "Error", "code": 2351 }, + "Type '{0}' cannot be converted to type '{1}'.": { + "category": "Error", + "code": 2352 + }, "Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.": { "category": "Error", "code": 2353 From e0385a42442d7aa29c27ab66d4d55c1e77f6314a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 5 Nov 2015 15:45:12 -0800 Subject: [PATCH 021/342] Accepted baselines. --- .../baselines/reference/arrayCast.errors.txt | 8 +++---- .../reference/asOperator2.errors.txt | 4 ++-- .../asOperatorContextualType.errors.txt | 6 ++--- .../reference/asOperatorNames.errors.txt | 4 ++-- .../reference/castingTuple.errors.txt | 18 +++++++------- .../reference/contextualTyping39.errors.txt | 6 ++--- .../reference/contextualTyping41.errors.txt | 6 ++--- ...efaultArgsInFunctionExpressions.errors.txt | 8 +++---- tests/baselines/reference/fuzzy.errors.txt | 6 ++--- .../genericTypeAssertions1.errors.txt | 6 ++--- .../genericTypeAssertions2.errors.txt | 6 ++--- .../genericTypeAssertions4.errors.txt | 8 +++---- .../genericTypeAssertions5.errors.txt | 8 +++---- .../genericTypeAssertions6.errors.txt | 14 +++++------ .../reference/intTypeCheck.errors.txt | 4 ++-- .../reference/literals-negative.errors.txt | 4 ++-- .../noImplicitAnyInCastExpression.errors.txt | 6 ++--- ...bjectTypesIdentityWithPrivates3.errors.txt | 6 ++--- .../reference/typeAssertions.errors.txt | 24 +++++++++---------- ...sertionsWithIntersectionTypes01.errors.txt | 12 +++++----- .../typeAssertionsWithUnionTypes01.errors.txt | 4 ++-- 21 files changed, 84 insertions(+), 84 deletions(-) diff --git a/tests/baselines/reference/arrayCast.errors.txt b/tests/baselines/reference/arrayCast.errors.txt index bb895475a18..61463e5557b 100644 --- a/tests/baselines/reference/arrayCast.errors.txt +++ b/tests/baselines/reference/arrayCast.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' is not comparable to type '{ id: number; }[]'. +tests/cases/compiler/arrayCast.ts(3,23): error TS2352: Type '{ foo: string; }[]' cannot be converted to type '{ id: number; }[]'. Type '{ foo: string; }' is not comparable to type '{ id: number; }'. Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. @@ -8,9 +8,9 @@ tests/cases/compiler/arrayCast.ts(3,23): error TS2323: Type '{ foo: string; }[]' // has type { foo: string }[], which is not assignable to { id: number }[]. <{ id: number; }[]>[{ foo: "s" }]; ~~~~~~~~ -!!! error TS2323: Type '{ foo: string; }[]' is not comparable to type '{ id: number; }[]'. -!!! error TS2323: Type '{ foo: string; }' is not comparable to type '{ id: number; }'. -!!! error TS2323: Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. +!!! error TS2352: Type '{ foo: string; }[]' cannot be converted to type '{ id: number; }[]'. +!!! error TS2352: Type '{ foo: string; }' is not comparable to type '{ id: number; }'. +!!! error TS2352: Object literal may only specify known properties, and 'foo' does not exist in type '{ id: number; }'. // Should succeed, as the {} element causes the type of the array to be {}[] <{ id: number; }[]>[{ foo: "s" }, {}]; \ No newline at end of file diff --git a/tests/baselines/reference/asOperator2.errors.txt b/tests/baselines/reference/asOperator2.errors.txt index 0930191aae1..92603c25cb0 100644 --- a/tests/baselines/reference/asOperator2.errors.txt +++ b/tests/baselines/reference/asOperator2.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2323: Type 'number' is not comparable to type 'string'. +tests/cases/conformance/expressions/asOperator/asOperator2.ts(1,9): error TS2352: Type 'number' cannot be converted to type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperator2.ts (1 errors) ==== var x = 23 as string; ~~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable to type 'string'. +!!! error TS2352: Type 'number' cannot be converted to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorContextualType.errors.txt b/tests/baselines/reference/asOperatorContextualType.errors.txt index 1a6cf43827c..9431d6123e2 100644 --- a/tests/baselines/reference/asOperatorContextualType.errors.txt +++ b/tests/baselines/reference/asOperatorContextualType.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2323: Type '(v: number) => number' is not comparable to type '(x: number) => string'. +tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): error TS2352: Type '(v: number) => number' cannot be converted to type '(x: number) => string'. Type 'number' is not comparable to type 'string'. @@ -6,5 +6,5 @@ tests/cases/conformance/expressions/asOperator/asOperatorContextualType.ts(2,9): // should error var x = (v => v) as (x: number) => string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '(v: number) => number' is not comparable to type '(x: number) => string'. -!!! error TS2323: Type 'number' is not comparable to type 'string'. \ No newline at end of file +!!! error TS2352: Type '(v: number) => number' cannot be converted to type '(x: number) => string'. +!!! error TS2352: Type 'number' is not comparable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/asOperatorNames.errors.txt b/tests/baselines/reference/asOperatorNames.errors.txt index f4ef8a64e2b..4f957791a24 100644 --- a/tests/baselines/reference/asOperatorNames.errors.txt +++ b/tests/baselines/reference/asOperatorNames.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2323: Type 'number' is not comparable to type 'string'. +tests/cases/conformance/expressions/asOperator/asOperatorNames.ts(2,9): error TS2352: Type 'number' cannot be converted to type 'string'. ==== tests/cases/conformance/expressions/asOperator/asOperatorNames.ts (1 errors) ==== var a = 20; var b = a as string; ~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable to type 'string'. +!!! error TS2352: Type 'number' cannot be converted to type 'string'. var as = "hello"; var as1 = as as string; \ No newline at end of file diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 4430c932bfc..6d5549c6bf2 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2323: Type '[number, string]' is not comparable to type '[number, number]'. +tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2352: Type '[number, string]' cannot be converted to type '[number, number]'. Types of property '1' are incompatible. Type 'string' is not comparable to type 'number'. -tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2323: Type '[C, D]' is not comparable to type '[A, I]'. +tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2352: Type '[C, D]' cannot be converted to type '[A, I]'. Types of property '0' are incompatible. Type 'C' is not comparable to type 'A'. Property 'a' is missing in type 'C'. @@ -39,15 +39,15 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot // error var t3 = <[number, number]>numStrTuple; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '[number, string]' is not comparable to type '[number, number]'. -!!! error TS2323: Types of property '1' are incompatible. -!!! error TS2323: Type 'string' is not comparable to type 'number'. +!!! error TS2352: Type '[number, string]' cannot be converted to type '[number, number]'. +!!! error TS2352: Types of property '1' are incompatible. +!!! error TS2352: Type 'string' is not comparable to type 'number'. var t9 = <[A, I]>classCDTuple; ~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '[C, D]' is not comparable to type '[A, I]'. -!!! error TS2323: Types of property '0' are incompatible. -!!! error TS2323: Type 'C' is not comparable to type 'A'. -!!! error TS2323: Property 'a' is missing in type 'C'. +!!! error TS2352: Type '[C, D]' cannot be converted to type '[A, I]'. +!!! error TS2352: Types of property '0' are incompatible. +!!! error TS2352: Type 'C' is not comparable to type 'A'. +!!! error TS2352: Property 'a' is missing in type 'C'. var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. diff --git a/tests/baselines/reference/contextualTyping39.errors.txt b/tests/baselines/reference/contextualTyping39.errors.txt index bb797c6a43e..9081480f4ba 100644 --- a/tests/baselines/reference/contextualTyping39.errors.txt +++ b/tests/baselines/reference/contextualTyping39.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping39.ts(1,11): error TS2323: Type '() => string' is not comparable to type '() => number'. +tests/cases/compiler/contextualTyping39.ts(1,11): error TS2352: Type '() => string' cannot be converted to type '() => number'. Type 'string' is not comparable to type 'number'. ==== tests/cases/compiler/contextualTyping39.ts (1 errors) ==== var foo = <{ (): number; }> function() { return "err"; }; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '() => string' is not comparable to type '() => number'. -!!! error TS2323: Type 'string' is not comparable to type 'number'. \ No newline at end of file +!!! error TS2352: Type '() => string' cannot be converted to type '() => number'. +!!! error TS2352: Type 'string' is not comparable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping41.errors.txt b/tests/baselines/reference/contextualTyping41.errors.txt index e3261e11843..418d435e7fe 100644 --- a/tests/baselines/reference/contextualTyping41.errors.txt +++ b/tests/baselines/reference/contextualTyping41.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/contextualTyping41.ts(1,11): error TS2323: Type '() => string' is not comparable to type '{ (): number; (i: number): number; }'. +tests/cases/compiler/contextualTyping41.ts(1,11): error TS2352: Type '() => string' cannot be converted to type '{ (): number; (i: number): number; }'. Type 'string' is not comparable to type 'number'. ==== tests/cases/compiler/contextualTyping41.ts (1 errors) ==== var foo = <{():number; (i:number):number; }> (function(){return "err";}); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '() => string' is not comparable to type '{ (): number; (i: number): number; }'. -!!! error TS2323: Type 'string' is not comparable to type 'number'. \ No newline at end of file +!!! error TS2352: Type '() => string' cannot be converted to type '{ (): number; (i: number): number; }'. +!!! error TS2352: Type 'string' is not comparable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt index 7b7166843c3..60a9e92bc95 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt @@ -2,9 +2,9 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Ar tests/cases/compiler/defaultArgsInFunctionExpressions.ts(5,1): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(11,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2323: Type 'string' is not comparable to type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2352: Type 'string' cannot be converted to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(17,41): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2323: Type 'string' is not comparable to type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2352: Type 'string' cannot be converted to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: Cannot find name 'T'. @@ -32,7 +32,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg with the type annotation var f3 = function (a: (s: string) => any = (s) => s) { }; ~~~~~~~~~ -!!! error TS2323: Type 'string' is not comparable to type 'number'. +!!! error TS2352: Type 'string' cannot be converted to type 'number'. // Type check using the function's contextual type var f4: (a: number) => void = function (a = "") { }; @@ -42,7 +42,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Contextually type the default arg using the function's contextual type var f5: (a: (s: string) => any) => void = function (a = s => s) { }; ~~~~~~~~~ -!!! error TS2323: Type 'string' is not comparable to type 'number'. +!!! error TS2352: Type 'string' cannot be converted to type 'number'. // Instantiated module module T { } diff --git a/tests/baselines/reference/fuzzy.errors.txt b/tests/baselines/reference/fuzzy.errors.txt index f39b520759c..19f0ad56a5e 100644 --- a/tests/baselines/reference/fuzzy.errors.txt +++ b/tests/baselines/reference/fuzzy.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/fuzzy.ts(21,20): error TS2322: Type '{ anything: number; on Types of property 'oneI' are incompatible. Type 'this' is not assignable to type 'I'. Type 'C' is not assignable to type 'I'. -tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is not comparable to type 'R'. +tests/cases/compiler/fuzzy.ts(25,20): error TS2352: Type '{ oneI: this; }' cannot be converted to type 'R'. Property 'anything' is missing in type '{ oneI: this; }'. @@ -43,8 +43,8 @@ tests/cases/compiler/fuzzy.ts(25,20): error TS2323: Type '{ oneI: this; }' is no worksToo():R { return ({ oneI: this }); ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '{ oneI: this; }' is not comparable to type 'R'. -!!! error TS2323: Property 'anything' is missing in type '{ oneI: this; }'. +!!! error TS2352: Type '{ oneI: this; }' cannot be converted to type 'R'. +!!! error TS2352: Property 'anything' is missing in type '{ oneI: this; }'. } } } diff --git a/tests/baselines/reference/genericTypeAssertions1.errors.txt b/tests/baselines/reference/genericTypeAssertions1.errors.txt index 3e0157f9863..aa5f14f5da8 100644 --- a/tests/baselines/reference/genericTypeAssertions1.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions1.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/genericTypeAssertions1.ts(3,5): error TS2322: Type 'A>' is not assignable to type 'A'. Type 'A' is not assignable to type 'number'. -tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A' is not comparable to type 'A>'. +tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2352: Type 'A' cannot be converted to type 'A>'. Type 'number' is not comparable to type 'A'. @@ -18,5 +18,5 @@ tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2323: Type 'A>' is not assignable to type 'A'. !!! error TS2322: Type 'A' is not assignable to type 'number'. ~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'A' is not comparable to type 'A>'. -!!! error TS2323: Type 'number' is not comparable to type 'A'. \ No newline at end of file +!!! error TS2352: Type 'A' cannot be converted to type 'A>'. +!!! error TS2352: Type 'number' is not comparable to type 'A'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions2.errors.txt b/tests/baselines/reference/genericTypeAssertions2.errors.txt index 908255b1d33..71848c5be02 100644 --- a/tests/baselines/reference/genericTypeAssertions2.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions2.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/genericTypeAssertions2.ts(10,5): error TS2322: Type 'B' is not assignable to type 'B'. Property 'bar' is missing in type 'A'. -tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undefined[]' is not comparable to type 'A'. +tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2352: Type 'undefined[]' cannot be converted to type 'A'. Property 'foo' is missing in type 'undefined[]'. @@ -33,5 +33,5 @@ tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2323: Type 'undef var r4: A = >new A(); var r5: A = >[]; // error ~~~~~~~~~~~~~ -!!! error TS2323: Type 'undefined[]' is not comparable to type 'A'. -!!! error TS2323: Property 'foo' is missing in type 'undefined[]'. \ No newline at end of file +!!! error TS2352: Type 'undefined[]' cannot be converted to type 'A'. +!!! error TS2352: Property 'foo' is missing in type 'undefined[]'. \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions4.errors.txt b/tests/baselines/reference/genericTypeAssertions4.errors.txt index cffacb6b0dc..401834930f3 100644 --- a/tests/baselines/reference/genericTypeAssertions4.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions4.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions4.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2323: Type 'B' is not comparable to type 'T'. -tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions4.ts(23,9): error TS2352: Type 'B' cannot be converted to type 'T'. +tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2352: Type 'C' cannot be converted to type 'T'. ==== tests/cases/compiler/genericTypeAssertions4.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions4.ts(24,9): error TS2323: Type 'C' is y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2323: Type 'B' is not comparable to type 'T'. +!!! error TS2352: Type 'B' cannot be converted to type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2323: Type 'C' is not comparable to type 'T'. +!!! error TS2352: Type 'C' cannot be converted to type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions5.errors.txt b/tests/baselines/reference/genericTypeAssertions5.errors.txt index f7f2be41825..45f76073363 100644 --- a/tests/baselines/reference/genericTypeAssertions5.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions5.errors.txt @@ -1,8 +1,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(19,5): error TS2322: Type 'A' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(20,5): error TS2322: Type 'B' is not assignable to type 'T'. tests/cases/compiler/genericTypeAssertions5.ts(21,5): error TS2322: Type 'C' is not assignable to type 'T'. -tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2323: Type 'B' is not comparable to type 'T'. -tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions5.ts(23,9): error TS2352: Type 'B' cannot be converted to type 'T'. +tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2352: Type 'C' cannot be converted to type 'T'. ==== tests/cases/compiler/genericTypeAssertions5.ts (5 errors) ==== @@ -36,8 +36,8 @@ tests/cases/compiler/genericTypeAssertions5.ts(24,9): error TS2323: Type 'C' is y = a; y = b; // error: cannot convert B to T ~~~~ -!!! error TS2323: Type 'B' is not comparable to type 'T'. +!!! error TS2352: Type 'B' cannot be converted to type 'T'. y = c; // error: cannot convert C to T ~~~~ -!!! error TS2323: Type 'C' is not comparable to type 'T'. +!!! error TS2352: Type 'C' cannot be converted to type 'T'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions6.errors.txt b/tests/baselines/reference/genericTypeAssertions6.errors.txt index 4ea7d3602eb..1bda683b88a 100644 --- a/tests/baselines/reference/genericTypeAssertions6.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions6.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2323: Type 'U' is not comparable to type 'T'. -tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2323: Type 'T' is not comparable to type 'U'. -tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is not comparable to type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(8,13): error TS2352: Type 'U' cannot be converted to type 'T'. +tests/cases/compiler/genericTypeAssertions6.ts(9,13): error TS2352: Type 'T' cannot be converted to type 'U'. +tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2352: Type 'U' cannot be converted to type 'T'. Type 'Date' is not comparable to type 'T'. @@ -14,10 +14,10 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is f(x: T, y: U) { x = y; ~~~~ -!!! error TS2323: Type 'U' is not comparable to type 'T'. +!!! error TS2352: Type 'U' cannot be converted to type 'T'. y = x; ~~~~ -!!! error TS2323: Type 'T' is not comparable to type 'U'. +!!! error TS2352: Type 'T' cannot be converted to type 'U'. } } @@ -29,8 +29,8 @@ tests/cases/compiler/genericTypeAssertions6.ts(19,17): error TS2323: Type 'U' is var d = new Date(); var e = new Date(); ~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'U' is not comparable to type 'T'. -!!! error TS2323: Type 'Date' is not comparable to type 'T'. +!!! error TS2352: Type 'U' cannot be converted to type 'T'. +!!! error TS2352: Type 'Date' is not comparable to type 'T'. } } diff --git a/tests/baselines/reference/intTypeCheck.errors.txt b/tests/baselines/reference/intTypeCheck.errors.txt index 175c5ea7979..29388521104 100644 --- a/tests/baselines/reference/intTypeCheck.errors.txt +++ b/tests/baselines/reference/intTypeCheck.errors.txt @@ -61,7 +61,7 @@ tests/cases/compiler/intTypeCheck.ts(176,22): error TS2304: Cannot find name 'i6 tests/cases/compiler/intTypeCheck.ts(177,17): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. tests/cases/compiler/intTypeCheck.ts(182,5): error TS2322: Type '{}' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(183,5): error TS2322: Type 'Object' is not assignable to type 'i7'. -tests/cases/compiler/intTypeCheck.ts(185,17): error TS2323: Type 'Base' is not comparable to type 'i7'. +tests/cases/compiler/intTypeCheck.ts(185,17): error TS2352: Type 'Base' cannot be converted to type 'i7'. tests/cases/compiler/intTypeCheck.ts(187,5): error TS2322: Type '() => void' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,5): error TS2322: Type 'boolean' is not assignable to type 'i7'. tests/cases/compiler/intTypeCheck.ts(190,21): error TS1109: Expression expected. @@ -377,7 +377,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: Cannot use 'new' wit var obj69: i7 = new obj66; var obj70: i7 = new Base; ~~~~~~~~~~~~ -!!! error TS2323: Type 'Base' is not comparable to type 'i7'. +!!! error TS2352: Type 'Base' cannot be converted to type 'i7'. var obj71: i7 = null; var obj72: i7 = function () { }; ~~~~~ diff --git a/tests/baselines/reference/literals-negative.errors.txt b/tests/baselines/reference/literals-negative.errors.txt index 40a00989717..2024066d9f2 100644 --- a/tests/baselines/reference/literals-negative.errors.txt +++ b/tests/baselines/reference/literals-negative.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is not comparable to type 'boolean'. +tests/cases/compiler/literals-negative.ts(5,9): error TS2352: Type 'number' cannot be converted to type 'boolean'. ==== tests/cases/compiler/literals-negative.ts (1 errors) ==== @@ -8,7 +8,7 @@ tests/cases/compiler/literals-negative.ts(5,9): error TS2323: Type 'number' is n var s = (null); var b = (n); ~~~~~~~~~~~~ -!!! error TS2323: Type 'number' is not comparable to type 'boolean'. +!!! error TS2352: Type 'number' cannot be converted to type 'boolean'. function isVoid() : void { } diff --git a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt index 35b11dc5b61..8243a9c68ce 100644 --- a/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt +++ b/tests/baselines/reference/noImplicitAnyInCastExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type '{ c: null; }' is not comparable to type 'IFoo'. +tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2352: Type '{ c: null; }' cannot be converted to type 'IFoo'. Property 'a' is missing in type '{ c: null; }'. @@ -20,5 +20,5 @@ tests/cases/compiler/noImplicitAnyInCastExpression.ts(16,2): error TS2323: Type // Neither types is assignable to each other ({ c: null }); ~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type '{ c: null; }' is not comparable to type 'IFoo'. -!!! error TS2323: Property 'a' is missing in type '{ c: null; }'. \ No newline at end of file +!!! error TS2352: Type '{ c: null; }' cannot be converted to type 'IFoo'. +!!! error TS2352: Property 'a' is missing in type '{ c: null; }'. \ No newline at end of file diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt index b74518ad062..2342065605b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2323: Type 'C3' is not comparable to type 'C4'. +tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates3.ts(25,1): error TS2352: Type 'C3' cannot be converted to type 'C4'. Property 'y' is missing in type 'C3'. @@ -29,5 +29,5 @@ tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectType var c3: C3; c3; // Should fail (private x originates in the same declaration, but different types) ~~~~~~ -!!! error TS2323: Type 'C3' is not comparable to type 'C4'. -!!! error TS2323: Property 'y' is missing in type 'C3'. \ No newline at end of file +!!! error TS2352: Type 'C3' cannot be converted to type 'C4'. +!!! error TS2352: Property 'y' is missing in type 'C3'. \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index da2dcbd8877..baabc272bf3 100644 --- a/tests/baselines/reference/typeAssertions.errors.txt +++ b/tests/baselines/reference/typeAssertions.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(5,5): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2323: Type 'SomeOther' is not comparable to type 'SomeBase'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2352: Type 'SomeOther' cannot be converted to type 'SomeBase'. Property 'p' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2323: Type 'SomeOther' is not comparable to type 'SomeDerived'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2352: Type 'SomeOther' cannot be converted to type 'SomeDerived'. Property 'x' is missing in type 'SomeOther'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2323: Type 'SomeDerived' is not comparable to type 'SomeOther'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2352: Type 'SomeDerived' cannot be converted to type 'SomeOther'. Property 'q' is missing in type 'SomeDerived'. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2323: Type 'SomeBase' is not comparable to type 'SomeOther'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2352: Type 'SomeBase' cannot be converted to type 'SomeOther'. Property 'q' is missing in type 'SomeBase'. @@ -44,24 +44,24 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): err someBase = someBase; someBase = someOther; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeOther' is not comparable to type 'SomeBase'. -!!! error TS2323: Property 'p' is missing in type 'SomeOther'. +!!! error TS2352: Type 'SomeOther' cannot be converted to type 'SomeBase'. +!!! error TS2352: Property 'p' is missing in type 'SomeOther'. someDerived = someDerived; someDerived = someBase; someDerived = someOther; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeOther' is not comparable to type 'SomeDerived'. -!!! error TS2323: Property 'x' is missing in type 'SomeOther'. +!!! error TS2352: Type 'SomeOther' cannot be converted to type 'SomeDerived'. +!!! error TS2352: Property 'x' is missing in type 'SomeOther'. someOther = someDerived; // Error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeDerived' is not comparable to type 'SomeOther'. -!!! error TS2323: Property 'q' is missing in type 'SomeDerived'. +!!! error TS2352: Type 'SomeDerived' cannot be converted to type 'SomeOther'. +!!! error TS2352: Property 'q' is missing in type 'SomeDerived'. someOther = someBase; // Error ~~~~~~~~~~~~~~~~~~~ -!!! error TS2323: Type 'SomeBase' is not comparable to type 'SomeOther'. -!!! error TS2323: Property 'q' is missing in type 'SomeBase'. +!!! error TS2352: Type 'SomeBase' cannot be converted to type 'SomeOther'. +!!! error TS2352: Property 'q' is missing in type 'SomeBase'. someOther = someOther; diff --git a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt index c663c6a41e4..42ed640e8fc 100644 --- a/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithIntersectionTypes01.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2323: Type 'I2' is not comparable to type 'I1 & I3'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(17,9): error TS2352: Type 'I2' cannot be converted to type 'I1 & I3'. Type 'I2' is not comparable to type 'I3'. Property 'p3' is missing in type 'I2'. -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2323: Type 'I2' is not comparable to type 'I3'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts(18,9): error TS2352: Type 'I2' cannot be converted to type 'I3'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithIntersectionTypes01.ts (2 errors) ==== @@ -23,12 +23,12 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithInt var a = z; ~~~~~~~~~~ -!!! error TS2323: Type 'I2' is not comparable to type 'I1 & I3'. -!!! error TS2323: Type 'I2' is not comparable to type 'I3'. -!!! error TS2323: Property 'p3' is missing in type 'I2'. +!!! error TS2352: Type 'I2' cannot be converted to type 'I1 & I3'. +!!! error TS2352: Type 'I2' is not comparable to type 'I3'. +!!! error TS2352: Property 'p3' is missing in type 'I2'. var b = z; ~~~~~ -!!! error TS2323: Type 'I2' is not comparable to type 'I3'. +!!! error TS2352: Type 'I2' cannot be converted to type 'I3'. var c = z; var d = y; \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt index a25b6bbb832..7bc2a9df9b3 100644 --- a/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt +++ b/tests/baselines/reference/typeAssertionsWithUnionTypes01.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2323: Type 'I1' is not comparable to type 'number'. +tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts(14,9): error TS2352: Type 'I1' cannot be converted to type 'number'. ==== tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUnionTypes01.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/conformance/types/typeRelationships/comparable/typeAssertionsWithUni var a = z; var b = z; ~~~~~~~~~ -!!! error TS2323: Type 'I1' is not comparable to type 'number'. +!!! error TS2352: Type 'I1' cannot be converted to type 'number'. var c = z; var d = y; \ No newline at end of file From 0a968f0868695953537a656c1a7c36f3bb70f076 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:10:43 -0800 Subject: [PATCH 022/342] Parse this type using parameter syntax Syntax is the same as a normal parameter: ```ts function f(this: void, x: number) { } ``` --- src/compiler/parser.ts | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 787a022140f..725092d12c8 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1722,7 +1722,7 @@ namespace ts { }; // Parses a comma-delimited list of elements - function parseDelimitedList(kind: ParsingContext, parseElement: () => T, considerSemicolonAsDelimeter?: boolean): NodeArray { + function parseDelimitedList(kind: ParsingContext, parseElement: () => T, considerSemicolonAsDelimiter?: boolean): NodeArray { const saveParsingContext = parsingContext; parsingContext |= 1 << kind; const result = >[]; @@ -1751,7 +1751,7 @@ namespace ts { // parse errors. For example, this can happen when people do things like use // a semicolon to delimit object literal members. Note: we'll have already // reported an error when we called parseExpected above. - if (considerSemicolonAsDelimeter && token === SyntaxKind.SemicolonToken && !scanner.hasPrecedingLineBreak()) { + if (considerSemicolonAsDelimiter && token === SyntaxKind.SemicolonToken && !scanner.hasPrecedingLineBreak()) { nextToken(); } continue; @@ -2002,7 +2002,7 @@ namespace ts { } function isStartOfParameter(): boolean { - return token === SyntaxKind.DotDotDotToken || isIdentifierOrPattern() || isModifierKind(token) || token === SyntaxKind.AtToken; + return token === SyntaxKind.DotDotDotToken || isIdentifierOrPattern() || isModifierKind(token) || token === SyntaxKind.AtToken || token === SyntaxKind.ThisKeyword; } function setModifiers(node: Node, modifiers: ModifiersArray) { @@ -2014,15 +2014,19 @@ namespace ts { function parseParameter(): ParameterDeclaration { const node = createNode(SyntaxKind.Parameter); + if (token === SyntaxKind.ThisKeyword) { + node.name = createIdentifier(/*isIdentifier*/true, undefined); + node.type = parseParameterType(); + return finishNode(node); + } + node.decorators = parseDecorators(); setModifiers(node, parseModifiers()); node.dotDotDotToken = parseOptionalToken(SyntaxKind.DotDotDotToken); // FormalParameter [Yield,Await]: // BindingElement[?Yield,?Await] - node.name = parseIdentifierOrPattern(); - if (getFullWidth(node.name) === 0 && node.flags === 0 && isModifierKind(token)) { // in cases like // 'use strict' @@ -2060,11 +2064,11 @@ namespace ts { } function fillSignature( - returnToken: SyntaxKind, - yieldContext: boolean, - awaitContext: boolean, - requireCompleteParameterList: boolean, - signature: SignatureDeclaration): void { + returnToken: SyntaxKind, + yieldContext: boolean, + awaitContext: boolean, + requireCompleteParameterList: boolean, + signature: SignatureDeclaration): void { const returnTokenRequired = returnToken === SyntaxKind.EqualsGreaterThanToken; signature.typeParameters = parseTypeParameters(); @@ -2464,7 +2468,7 @@ namespace ts { // ( ... return true; } - if (isIdentifier() || isModifierKind(token)) { + if (isIdentifier() || isModifierKind(token) || token === SyntaxKind.ThisKeyword) { nextToken(); if (token === SyntaxKind.ColonToken || token === SyntaxKind.CommaToken || token === SyntaxKind.QuestionToken || token === SyntaxKind.EqualsToken || @@ -3981,7 +3985,7 @@ namespace ts { node.flags |= NodeFlags.MultiLine; } - node.properties = parseDelimitedList(ParsingContext.ObjectLiteralMembers, parseObjectLiteralElement, /*considerSemicolonAsDelimeter*/ true); + node.properties = parseDelimitedList(ParsingContext.ObjectLiteralMembers, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true); parseExpected(SyntaxKind.CloseBraceToken); return finishNode(node); } From d8a77c00557129f3b24cffb7d35888c8519aaebf Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:30:01 -0800 Subject: [PATCH 023/342] Check this type in functions. If `this` is not provided, it defaults to `void` for functions and `this` for methods. The rules for checking are similar to parameter checking, but there's still quite a bit of duplication for this implementation. --- src/compiler/binder.ts | 3 + src/compiler/checker.ts | 161 ++++++++++++++++++++++++++++++++-------- 2 files changed, 134 insertions(+), 30 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index cc81f92fbfc..cbeb35ce56c 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1297,6 +1297,9 @@ namespace ts { // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. + if (options.strictThis) { + seenThisKeyword = true; + } return bindPropertyOrMethodOrAccessor(node, SymbolFlags.Method | ((node).questionToken ? SymbolFlags.Optional : SymbolFlags.None), isObjectLiteralMethod(node) ? SymbolFlags.PropertyExcludes : SymbolFlags.MethodExcludes); case SyntaxKind.FunctionDeclaration: diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a0040982356..3940be5d698 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -131,8 +131,8 @@ namespace ts { const noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); - const anySignature = createSignature(undefined, undefined, emptyArray, anyType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); - const unknownSignature = createSignature(undefined, undefined, emptyArray, unknownType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); + const anySignature = createSignature(undefined, undefined, emptyArray, undefined, anyType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); + const unknownSignature = createSignature(undefined, undefined, emptyArray, undefined, unknownType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true); @@ -2194,10 +2194,17 @@ namespace ts { } } - function buildDisplayForParametersAndDelimiters(parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { + function buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { writePunctuation(writer, SyntaxKind.OpenParenToken); + const useThisType = thisType && thisType.symbol; + if (useThisType) { + writeKeyword(writer, SyntaxKind.ThisKeyword); + writePunctuation(writer, SyntaxKind.ColonToken); + writeSpace(writer); + buildTypeDisplay(thisType, writer, enclosingDeclaration, flags, symbolStack); + } for (let i = 0; i < parameters.length; i++) { - if (i > 0) { + if (i > 0 || useThisType) { writePunctuation(writer, SyntaxKind.CommaToken); writeSpace(writer); } @@ -2247,7 +2254,7 @@ namespace ts { buildDisplayForTypeParametersAndDelimiters(signature.typeParameters, writer, enclosingDeclaration, flags, symbolStack); } - buildDisplayForParametersAndDelimiters(signature.parameters, writer, enclosingDeclaration, flags, symbolStack); + buildDisplayForParametersAndDelimiters(signature.thisType, signature.parameters, writer, enclosingDeclaration, flags, symbolStack); buildReturnTypeDisplay(signature, writer, enclosingDeclaration, flags, symbolStack); } @@ -3414,7 +3421,7 @@ namespace ts { // Returns true if the class or interface member given by the symbol is free of "this" references. The // function may return false for symbols that are actually free of "this" references because it is not // feasible to perform a complete analysis in all cases. In particular, property members with types - // inferred from their initializers and function members with inferred return types are convervatively + // inferred from their initializers and function members with inferred return types are conservatively // assumed not to be free of "this" references. function isIndependentMember(symbol: Symbol): boolean { if (symbol.declarations && symbol.declarations.length === 1) { @@ -3426,6 +3433,7 @@ namespace ts { return isIndependentVariableLikeDeclaration(declaration); case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: + return compilerOptions.strictThis ? false : isIndependentFunctionLikeDeclaration(declaration); case SyntaxKind.Constructor: return isIndependentFunctionLikeDeclaration(declaration); } @@ -3525,12 +3533,13 @@ namespace ts { resolveObjectTypeMembers(type, source, typeParameters, typeArguments); } - function createSignature(declaration: SignatureDeclaration, typeParameters: TypeParameter[], parameters: Symbol[], + function createSignature(declaration: SignatureDeclaration, typeParameters: TypeParameter[], parameters: Symbol[], thisType: Type, resolvedReturnType: Type, minArgumentCount: number, hasRestParameter: boolean, hasStringLiterals: boolean): Signature { const sig = new Signature(checker); sig.declaration = declaration; sig.typeParameters = typeParameters; sig.parameters = parameters; + sig.thisType = thisType; sig.resolvedReturnType = resolvedReturnType; sig.minArgumentCount = minArgumentCount; sig.hasRestParameter = hasRestParameter; @@ -3539,15 +3548,19 @@ namespace ts { } function cloneSignature(sig: Signature): Signature { - return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, + return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.thisType, sig.resolvedReturnType, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); } + function getParameterTypeAtIndex(signature: Signature, i: number, max: number, outOfRangeType?: Type): Type { + return i < max ? getTypeOfSymbol(signature.parameters[i]) : (outOfRangeType || getRestTypeOfSignature(signature)); + } + function getDefaultConstructSignatures(classType: InterfaceType): Signature[] { const baseConstructorType = getBaseConstructorTypeOfClass(classType); const baseSignatures = getSignaturesOfType(baseConstructorType, SignatureKind.Construct); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, emptyArray, classType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, emptyArray, undefined, classType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false)]; } const baseTypeNode = getBaseTypeNodeOfClass(classType); const typeArguments = map(baseTypeNode.typeArguments, getTypeFromTypeNode); @@ -4077,6 +4090,7 @@ namespace ts { const parameters: Symbol[] = []; let hasStringLiterals = false; let minArgumentCount = -1; + let thisType: Type = undefined; const isJSConstructSignature = isJSDocConstructSignature(declaration); let returnType: Type = undefined; @@ -4092,15 +4106,23 @@ namespace ts { const resolvedSymbol = resolveName(param, paramSymbol.name, SymbolFlags.Value, undefined, undefined); paramSymbol = resolvedSymbol; } - parameters.push(paramSymbol); - + if (paramSymbol.name === "this") { + thisType = param.type && getTypeOfSymbol(paramSymbol); + if (i !== 0 || declaration.kind === SyntaxKind.Constructor) { + error(param, Diagnostics.this_cannot_be_referenced_in_current_location); + } + } + else { + parameters.push(paramSymbol); + } + if (param.type && param.type.kind === SyntaxKind.StringLiteralType) { hasStringLiterals = true; } if (param.initializer || param.questionToken || param.dotDotDotToken) { if (minArgumentCount < 0) { - minArgumentCount = i; + minArgumentCount = i - (thisType ? 1 : 0); } } else { @@ -4110,7 +4132,22 @@ namespace ts { } if (minArgumentCount < 0) { - minArgumentCount = declaration.parameters.length; + minArgumentCount = declaration.parameters.length - (thisType ? 1 : 0); + } + if (!thisType && compilerOptions.strictThis) { + if (declaration.kind === SyntaxKind.FunctionDeclaration + || declaration.kind === SyntaxKind.CallSignature + || declaration.kind == SyntaxKind.FunctionExpression + || declaration.kind === SyntaxKind.FunctionType) { + thisType = voidType; + } + else if ((declaration.kind === SyntaxKind.MethodDeclaration || declaration.kind === SyntaxKind.MethodSignature) + && (isClassLike(declaration.parent) || declaration.parent.kind === SyntaxKind.InterfaceDeclaration)) { + thisType = declaration.flags & NodeFlags.Static ? + getWidenedType(checkExpression((declaration.parent).name)) : + getThisType(declaration.name); + Debug.assert(!!thisType, "couldn't find implicit this type"); + } } if (isJSConstructSignature) { @@ -4143,7 +4180,7 @@ namespace ts { } } - links.resolvedSignature = createSignature(declaration, typeParameters, parameters, returnType, minArgumentCount, hasRestParameter(declaration), hasStringLiterals); + links.resolvedSignature = createSignature(declaration, typeParameters, parameters, thisType, returnType, minArgumentCount, hasRestParameter(declaration), hasStringLiterals); } return links.resolvedSignature; } @@ -4834,7 +4871,7 @@ namespace ts { return links.resolvedType; } - function getThisType(node: TypeNode): Type { + function getThisType(node: Node): Type { const container = getThisContainer(node, /*includeArrowFunctions*/ false); const parent = container && container.parent; if (parent && (isClassLike(parent) || parent.kind === SyntaxKind.InterfaceDeclaration)) { @@ -5062,6 +5099,7 @@ namespace ts { } const result = createSignature(signature.declaration, freshTypeParameters, instantiateList(signature.parameters, mapper, instantiateSymbol), + signature.thisType ? instantiateType(signature.thisType, mapper) : undefined, instantiateType(signature.resolvedReturnType, mapper), signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); result.target = signature; @@ -5175,7 +5213,14 @@ namespace ts { } function isContextSensitiveFunctionLikeDeclaration(node: FunctionLikeDeclaration) { - return !node.typeParameters && node.parameters.length && !forEach(node.parameters, p => p.type); + if (compilerOptions.strictThis) { + return !node.typeParameters && + (!forEach(node.parameters, p => p.type) + || (node.kind !== SyntaxKind.ArrowFunction && (!node.parameters.length || (node.parameters[0].name).text !== "this"))); + } + else { + return !node.typeParameters && node.parameters.length && !forEach(node.parameters, p => p.type); + } } function getTypeWithoutSignatures(type: Type): Type { @@ -5252,6 +5297,22 @@ namespace ts { target = getErasedSignature(target); let result = Ternary.True; + if (source.thisType || target.thisType) { + const s = source.thisType || anyType; + const t = target.thisType || anyType; + if (s !== voidType) { + // void sources are assignable to anything. + let related = compareTypes(getApparentType(t), getApparentType(s), reportErrors); + if (!related) { + related = compareTypes(getApparentType(s), getApparentType(t), /*reportErrors*/ false); + if (!related) { + errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, "this", "this"); + return Ternary.False; + } + } + result &= related; + } + } const sourceMax = getNumNonRestParameters(source); const targetMax = getNumNonRestParameters(target); @@ -6434,9 +6495,7 @@ namespace ts { count = sourceMax < targetMax ? sourceMax : targetMax; } for (let i = 0; i < count; i++) { - const s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); - const t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); - callback(s, t); + callback(getParameterTypeAtIndex(source, i, sourceMax), getParameterTypeAtIndex(target, i, targetMax)); } } @@ -7313,7 +7372,12 @@ namespace ts { if (needToCaptureLexicalThis) { captureLexicalThis(node, container); } - + if (isFunctionLike(container)) { + const signature = getSignatureFromDeclaration(container); + if (signature.thisType) { + return signature.thisType; + } + } if (isClassLike(container.parent)) { const symbol = getSymbolOfNode(container.parent); return container.flags & NodeFlags.Static ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; @@ -7330,7 +7394,7 @@ namespace ts { if (container.kind === SyntaxKind.FunctionExpression) { if (getSpecialPropertyAssignmentKind(container.parent) === SpecialPropertyAssignmentKind.PrototypeProperty) { // Get the 'x' of 'x.prototype.y = f' (here, 'f' is 'container') - const className = (((container.parent as BinaryExpression) // x.protoype.y = f + const className = (((container.parent as BinaryExpression) // x.prototype.y = f .left as PropertyAccessExpression) // x.prototype.y .expression as PropertyAccessExpression) // x.prototype .expression; // x @@ -9306,7 +9370,7 @@ namespace ts { return getSignatureInstantiation(signature, getInferredTypes(context)); } - function inferTypeArguments(node: CallLikeExpression, signature: Signature, args: Expression[], excludeArgument: boolean[], context: InferenceContext): void { + function inferTypeArguments(node: CallLikeExpression, signature: Signature, args: Expression[], excludeCallee: boolean, excludeArgument: boolean[], context: InferenceContext): void { const typeParameters = signature.typeParameters; const inferenceMapper = getInferenceMapper(context); @@ -9332,6 +9396,13 @@ namespace ts { context.failedTypeParameterIndex = undefined; } + const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; + if (signature.thisType) { + const mapper = excludeCallee !== undefined ? identityMapper : inferenceMapper; + const calleeType: Type = calleeNode ? checkExpressionWithContextualType(calleeNode, signature.thisType, mapper) : voidType; + inferTypes(context, calleeType, signature.thisType); + } + // We perform two passes over the arguments. In the first pass we infer from all arguments, but use // wildcards for all context sensitive function expressions. const argCount = getEffectiveArgumentCount(node, args, signature); @@ -9361,8 +9432,13 @@ namespace ts { // Decorators will not have `excludeArgument`, as their arguments cannot be contextually typed. // Tagged template expressions will always have `undefined` for `excludeArgument[0]`. if (excludeArgument) { + if (signature.thisType && calleeNode) { + if (excludeCallee === false) { + inferTypes(context, checkExpressionWithContextualType(calleeNode, signature.thisType, inferenceMapper), signature.thisType); + } + } for (let i = 0; i < argCount; i++) { - // No need to check for omitted args and template expressions, their exlusion value is always undefined + // No need to check for omitted args and template expressions, their exclusion value is always undefined if (excludeArgument[i] === false) { const arg = args[i]; const paramType = getTypeAtPosition(signature, i); @@ -9405,6 +9481,18 @@ namespace ts { } function checkApplicableSignature(node: CallLikeExpression, args: Expression[], signature: Signature, relation: Map, excludeArgument: boolean[], reportErrors: boolean) { + const headMessage = Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1; + if (signature.thisType && signature.thisType !== voidType && node.kind !== SyntaxKind.NewExpression) { + // If the source is not of the form `x.f`, then sourceType = voidType + // If the target is voidType, then the check is skipped -- anything is compatible. + // If the the expression is a new expression, then the check is skipped. + const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; + const calleeType: Type = calleeNode ? checkExpressionWithContextualType(calleeNode, signature.thisType, undefined) : voidType; + const errorNode = reportErrors ? (calleeNode || node) : undefined; + if (!checkTypeRelatedTo(calleeType, getApparentType(signature.thisType), relation, errorNode, headMessage)) { + return false; + } + } const argCount = getEffectiveArgumentCount(node, args, signature); for (let i = 0; i < argCount; i++) { const arg = getEffectiveArgument(node, args, i); @@ -9424,7 +9512,6 @@ namespace ts { // Use argument expression as error location when reporting errors const errorNode = reportErrors ? getEffectiveArgumentErrorNode(node, i, arg) : undefined; - const headMessage = Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1; if (!checkTypeRelatedTo(argType, paramType, relation, errorNode, headMessage)) { return false; } @@ -9778,8 +9865,13 @@ namespace ts { // // For a decorator, no arguments are susceptible to contextual typing due to the fact // decorators are applied to a declaration by the emitter, and not to an expression. + let excludeCallee: boolean; let excludeArgument: boolean[]; if (!isDecorator) { + const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; + if (calleeNode && isContextSensitive(calleeNode)) { + excludeCallee = true; + } // We do not need to call `getEffectiveArgumentCount` here as it only // applies when calculating the number of arguments for a decorator. for (let i = isTaggedTemplate ? 1 : 0; i < args.length; i++) { @@ -9928,7 +10020,7 @@ namespace ts { typeArgumentsAreValid = checkTypeArguments(candidate, typeArguments, typeArgumentTypes, /*reportErrors*/ false); } else { - inferTypeArguments(node, candidate, args, excludeArgument, inferenceContext); + inferTypeArguments(node, candidate, args, excludeCallee, excludeArgument, inferenceContext); typeArgumentsAreValid = inferenceContext.failedTypeParameterIndex === undefined; typeArgumentTypes = inferenceContext.inferredTypes; } @@ -10086,13 +10178,16 @@ namespace ts { // If expressionType's apparent type is an object type with no construct signatures but // one or more call signatures, the expression is processed as a function call. A compile-time // error occurs if the result of the function call is not Void. The type of the result of the - // operation is Any. + // operation is the function's this type. It is an error to have a Void this type. const callSignatures = getSignaturesOfType(expressionType, SignatureKind.Call); if (callSignatures.length) { const signature = resolveCall(node, callSignatures, candidatesOutArray); if (getReturnTypeOfSignature(signature) !== voidType) { error(node, Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); } + if (signature.thisType === voidType) { + error(node, Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void); + } return signature; } @@ -10244,10 +10339,10 @@ namespace ts { if (funcSymbol && funcSymbol.members && (funcSymbol.flags & SymbolFlags.Function)) { return getInferredClassType(funcSymbol); } - else if (compilerOptions.noImplicitAny) { + else if (compilerOptions.noImplicitAny && !signature.thisType) { error(node, Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); } - return anyType; + return signature.thisType || anyType; } } @@ -10282,11 +10377,17 @@ namespace ts { function getTypeAtPosition(signature: Signature, pos: number): Type { return signature.hasRestParameter ? - pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : - pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + getParameterTypeAtIndex(signature, pos, signature.parameters.length - 1) : + getParameterTypeAtIndex(signature, pos, signature.parameters.length, anyType); } function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { + if (context.thisType) { + if (signature.declaration.kind !== SyntaxKind.ArrowFunction) { + // do not contextually type thisType for ArrowFunction. + signature.thisType = context.thisType; + } + } const len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); for (let i = 0; i < len; i++) { const parameter = signature.parameters[i]; From a639b71ed0837775593240a1a86cc14594f3213b Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:34:44 -0800 Subject: [PATCH 024/342] Skip emit of this types as first parameter. --- src/compiler/emitter.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 4d771bd2538..fc8e811fb65 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4436,8 +4436,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge write("("); if (node) { const parameters = node.parameters; + const skipCount = node.parameters.length && (node.parameters[0].name).text === "this" ? 1 : 0; const omitCount = languageVersion < ScriptTarget.ES6 && hasRestParameter(node) ? 1 : 0; - emitList(parameters, 0, parameters.length - omitCount, /*multiLine*/ false, /*trailingComma*/ false); + emitList(parameters, skipCount, parameters.length - omitCount - skipCount, /*multiLine*/ false, /*trailingComma*/ false); } write(")"); decreaseIndent(); From 9bd7afb143fff13458a514da29bd7ad8547a4d68 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:39:01 -0800 Subject: [PATCH 025/342] Add new error message and strictThis flag --- src/compiler/commandLineParser.ts | 4 ++++ src/compiler/diagnosticMessages.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index d5bf95a6405..3eb42292fb1 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -130,6 +130,10 @@ namespace ts { name: "skipDefaultLibCheck", type: "boolean", }, + { + name: "strictThis", + type: "boolean", + }, { name: "out", type: "string", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index ca5a6d9d415..2043a89c8fd 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1819,6 +1819,10 @@ "category": "Error", "code": 2670 }, + "A function that is called with the 'new' keyword cannot have a 'this' type that is void.": { + "category": "Error", + "code": 2671 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 From ca162090325e35fe8479d90698b35b2d89360f7f Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:43:50 -0800 Subject: [PATCH 026/342] Make compiler strictThis clean. --- src/compiler/core.ts | 19 ++++++----- src/compiler/program.ts | 3 +- src/compiler/sourcemap.ts | 8 ++--- src/compiler/sys.ts | 2 +- src/compiler/types.ts | 18 +++++----- src/compiler/utilities.ts | 20 +++++------ src/harness/harness.ts | 32 ++++++++--------- src/harness/loggedIO.ts | 34 ++++++++++--------- src/server/editorServices.ts | 2 +- src/server/node.d.ts | 4 +-- .../formatting/ruleOperationContext.ts | 4 +-- src/services/utilities.ts | 2 +- 12 files changed, 77 insertions(+), 71 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 21536da36ff..ab8de44ec98 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -818,25 +818,26 @@ namespace ts { getSignatureConstructor(): new (checker: TypeChecker) => Signature; } + // TODO: Add a 'this' parameter after I update the previous-version compiler function Symbol(flags: SymbolFlags, name: string) { - this.flags = flags; - this.name = name; - this.declarations = undefined; + (this).flags = flags; + (this).name = name; + (this).declarations = undefined; } function Type(checker: TypeChecker, flags: TypeFlags) { - this.flags = flags; + (this).flags = flags; } function Signature(checker: TypeChecker) { } function Node(kind: SyntaxKind, pos: number, end: number) { - this.kind = kind; - this.pos = pos; - this.end = end; - this.flags = NodeFlags.None; - this.parent = undefined; + (this).kind = kind; + (this).pos = pos; + (this).end = end; + (this).flags = NodeFlags.None; + (this).parent = undefined; } export let objectAllocator: ObjectAllocator = { diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 803ae47b0fd..88c77aa5759 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -933,8 +933,9 @@ namespace ts { return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = createTypeChecker(program, /*produceDiagnostics:*/ false)); } + // TODO: needs to have this: Program function emit(sourceFile?: SourceFile, writeFileCallback?: WriteFileCallback, cancellationToken?: CancellationToken): EmitResult { - return runWithCancellationToken(() => emitWorker(this, sourceFile, writeFileCallback, cancellationToken)); + return runWithCancellationToken(() => emitWorker((this), sourceFile, writeFileCallback, cancellationToken)); } function isEmitBlocked(emitFileName: string): boolean { diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index 8abf1432b0c..fb61f8b78b8 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -4,10 +4,10 @@ namespace ts { export interface SourceMapWriter { getSourceMapData(): SourceMapData; - setSourceFile(sourceFile: SourceFile): void; - emitPos(pos: number): void; - emitStart(range: TextRange): void; - emitEnd(range: TextRange, stopOverridingSpan?: boolean): void; + setSourceFile: (sourceFile: SourceFile) => void; + emitPos: (pos: number) => void; + emitStart: (range: TextRange) => void; + emitEnd: (range: TextRange, stopOverridingSpan?: boolean) => void; changeEmitSourcePos(): void; getText(): string; getSourceMappingURL(): string; diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index bf25d39aa43..1a9da39bf9a 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -63,7 +63,7 @@ namespace ts { useCaseSensitiveFileNames?: boolean; echo(s: string): void; quit(exitCode?: number): void; - fileExists(path: string): boolean; + fileExists: (path: string) => boolean; directoryExists(path: string): boolean; createDirectory(path: string): void; resolvePath(path: string): string; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 796529d9d4f..9c2612d96b6 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1593,8 +1593,8 @@ namespace ts { } export interface ScriptReferenceHost { - getCompilerOptions(): CompilerOptions; - getSourceFile(fileName: string): SourceFile; + getCompilerOptions: () => CompilerOptions; + getSourceFile: (fileName: string) => SourceFile; getCurrentDirectory(): string; } @@ -1625,7 +1625,7 @@ namespace ts { /** * Get a list of files in the program */ - getSourceFiles(): SourceFile[]; + getSourceFiles: () => SourceFile[]; /** * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then @@ -1650,7 +1650,7 @@ namespace ts { */ getTypeChecker(): TypeChecker; - /* @internal */ getCommonSourceDirectory(): string; + /* @internal */ getCommonSourceDirectory: () => string; // For testing purposes only. Should not be used by any other consumers (including the // language service). @@ -1781,7 +1781,7 @@ namespace ts { buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaraiton?: Node, flags?: TypeFormatFlags): void; - buildDisplayForParametersAndDelimiters(parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; } @@ -1905,11 +1905,11 @@ namespace ts { getReferencedImportDeclaration(node: Identifier): Declaration; getReferencedDeclarationWithCollidingName(node: Identifier): Declaration; isDeclarationWithCollidingName(node: Declaration): boolean; - isValueAliasDeclaration(node: Node): boolean; - isReferencedAliasDeclaration(node: Node, checkChildren?: boolean): boolean; + isValueAliasDeclaration: (node: Node) => boolean; + isReferencedAliasDeclaration: (node: Node, checkChildren?: boolean) => boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; getNodeCheckFlags(node: Node): NodeCheckFlags; - isDeclarationVisible(node: Declaration): boolean; + isDeclarationVisible: (node: Declaration) => boolean; collectLinkedAliases(node: Identifier): Node[]; isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; @@ -2279,6 +2279,7 @@ namespace ts { declaration: SignatureDeclaration; // Originating declaration typeParameters: TypeParameter[]; // Type parameters (undefined if non-generic) parameters: Symbol[]; // Parameters + thisType?: Type; // type of this-type /* @internal */ resolvedReturnType: Type; // Resolved return type /* @internal */ @@ -2429,6 +2430,7 @@ namespace ts { rootDir?: string; sourceMap?: boolean; sourceRoot?: string; + strictThis?: boolean, suppressExcessPropertyErrors?: boolean; suppressImplicitAnyIndexErrors?: boolean; target?: ScriptTarget; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index bab66eb0688..bce821c3756 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -32,11 +32,11 @@ namespace ts { } export interface EmitHost extends ScriptReferenceHost { - getSourceFiles(): SourceFile[]; + getSourceFiles: () => SourceFile[]; - getCommonSourceDirectory(): string; - getCanonicalFileName(fileName: string): string; - getNewLine(): string; + getCommonSourceDirectory: () => string; + getCanonicalFileName: (fileName: string) => string; + getNewLine: () => string; isEmitBlocked(emitFileName: string): boolean; @@ -1869,11 +1869,11 @@ namespace ts { } export interface EmitTextWriter { - write(s: string): void; - writeTextOfNode(text: string, node: Node): void; - writeLine(): void; - increaseIndent(): void; - decreaseIndent(): void; + write: (s: string) => void; + writeTextOfNode: (text: string, node: Node) => void; + writeLine: () => void; + increaseIndent: () => void; + decreaseIndent: () => void; getText(): string; rawWrite(s: string): void; writeLiteral(s: string): void; @@ -2490,7 +2490,7 @@ namespace ts { * as the fallback implementation does not check for circular references by default. */ export const stringify: (value: any) => string = typeof JSON !== "undefined" && JSON.stringify - ? JSON.stringify + ? JSON.stringify : stringifyFallback; /** diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 2b0c95c0a61..3b211a0d91a 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -417,24 +417,24 @@ namespace Harness.Path { namespace Harness { export interface IO { - newLine(): string; - getCurrentDirectory(): string; - useCaseSensitiveFileNames(): boolean; - resolvePath(path: string): string; - readFile(path: string): string; - writeFile(path: string, contents: string): void; - directoryName(path: string): string; - createDirectory(path: string): void; - fileExists(fileName: string): boolean; - directoryExists(path: string): boolean; - deleteFile(fileName: string): void; - listFiles(path: string, filter: RegExp, options?: { recursive?: boolean }): string[]; - log(text: string): void; - getMemoryUsage?(): number; args(): string[]; - getExecutingFilePath(): string; - exit(exitCode?: number): void; + newLine(): string; + readFile(this: ts.System | IO, path: string): string; + writeFile(path: string, contents: string): void; + resolvePath(path: string): string; + fileExists: (fileName: string) => boolean; + directoryExists: (path: string) => boolean; + createDirectory(path: string): void; + getExecutingFilePath(this: ts.System | IO): string; + getCurrentDirectory(): string; readDirectory(path: string, extension?: string, exclude?: string[]): string[]; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + deleteFile(fileName: string): void; + directoryName: (path: string) => string; + listFiles(path: string, filter: RegExp, options?: { recursive?: boolean }): string[]; + log: (text: string) => void; + useCaseSensitiveFileNames(): boolean; } export var IO: IO; diff --git a/src/harness/loggedIO.ts b/src/harness/loggedIO.ts index 3d51682f745..dbc05112f3e 100644 --- a/src/harness/loggedIO.ts +++ b/src/harness/loggedIO.ts @@ -70,11 +70,11 @@ interface IOLog { interface PlaybackControl { startReplayFromFile(logFileName: string): void; - startReplayFromString(logContents: string): void; - startReplayFromData(log: IOLog): void; + startReplayFromString(this: PlaybackControl, logContents: string): void; + startReplayFromData(this: PlaybackControl, log: IOLog): void; endReplay(): void; startRecord(logFileName: string): void; - endRecord(): void; + endRecord(this: PlaybackControl): void; } namespace Playback { @@ -127,6 +127,8 @@ namespace Playback { function initWrapper(wrapper: PlaybackSystem, underlying: ts.System): void; function initWrapper(wrapper: PlaybackIO, underlying: Harness.IO): void; function initWrapper(wrapper: PlaybackSystem | PlaybackIO, underlying: ts.System | Harness.IO): void { + // TODO: Define a common interface over ts.System | Harness.IO and stop passing a union type. + const underlyingShim: any = underlying; ts.forEach(Object.keys(underlying), prop => { (wrapper)[prop] = (underlying)[prop]; }); @@ -154,20 +156,20 @@ namespace Playback { }; wrapper.startReplayFromFile = logFn => { - wrapper.startReplayFromString(underlying.readFile(logFn)); + wrapper.startReplayFromString(underlyingShim.readFile(logFn)); }; wrapper.endRecord = () => { if (recordLog !== undefined) { let i = 0; const fn = () => recordLogFileNameBase + i + ".json"; - while (underlying.fileExists(fn())) i++; - underlying.writeFile(fn(), JSON.stringify(recordLog)); + while (underlyingShim.fileExists(fn())) i++; + underlyingShim.writeFile(fn(), JSON.stringify(recordLog)); recordLog = undefined; } }; wrapper.fileExists = recordReplay(wrapper.fileExists, underlying)( - path => callAndRecord(underlying.fileExists(path), recordLog.fileExists, { path }), + path => callAndRecord(underlyingShim.fileExists(path), recordLog.fileExists, { path }), memoize(path => { // If we read from the file, it must exist if (findResultByPath(wrapper, replayLog.filesRead, path, null) !== null) { @@ -184,10 +186,10 @@ namespace Playback { return replayLog.executingPath; } else if (recordLog !== undefined) { - return recordLog.executingPath = underlying.getExecutingFilePath(); + return recordLog.executingPath = underlyingShim.getExecutingFilePath(); } else { - return underlying.getExecutingFilePath(); + return underlyingShim.getExecutingFilePath(); } }; @@ -196,20 +198,20 @@ namespace Playback { return replayLog.currentDirectory || ""; } else if (recordLog !== undefined) { - return recordLog.currentDirectory = underlying.getCurrentDirectory(); + return recordLog.currentDirectory = underlyingShim.getCurrentDirectory(); } else { - return underlying.getCurrentDirectory(); + return underlyingShim.getCurrentDirectory(); } }; wrapper.resolvePath = recordReplay(wrapper.resolvePath, underlying)( - path => callAndRecord(underlying.resolvePath(path), recordLog.pathsResolved, { path }), + path => callAndRecord(underlyingShim.resolvePath(path), recordLog.pathsResolved, { path }), memoize(path => findResultByFields(replayLog.pathsResolved, { path }, !ts.isRootedDiskPath(ts.normalizeSlashes(path)) && replayLog.currentDirectory ? replayLog.currentDirectory + "/" + path : ts.normalizeSlashes(path)))); wrapper.readFile = recordReplay(wrapper.readFile, underlying)( path => { - const result = underlying.readFile(path); + const result = underlyingShim.readFile(path); const logEntry = { path, codepage: 0, result: { contents: result, codepage: 0 } }; recordLog.filesRead.push(logEntry); return result; @@ -226,14 +228,14 @@ namespace Playback { (path, extension, exclude) => findResultByPath(wrapper, replayLog.directoriesRead.filter(d => d.extension === extension && ts.arrayIsEqualTo(d.exclude, exclude)), path)); wrapper.writeFile = recordReplay(wrapper.writeFile, underlying)( - (path, contents) => callAndRecord(underlying.writeFile(path, contents), recordLog.filesWritten, { path, contents, bom: false }), - (path, contents) => noOpReplay("writeFile")); + (path: string, contents: string) => callAndRecord(underlyingShim.writeFile(path, contents), recordLog.filesWritten, { path, contents, bom: false }), + (path: string, contents: string) => noOpReplay("writeFile")); wrapper.exit = (exitCode) => { if (recordLog !== undefined) { wrapper.endRecord(); } - underlying.exit(exitCode); + underlyingShim.exit(exitCode); }; } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index e2ec5cc159f..5516b18e0de 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1834,7 +1834,7 @@ namespace ts.server { if (!rangeEnd) { rangeEnd = this.root.charCount(); } - const walkFns = { + const walkFns: ILineIndexWalker = { goSubtree: true, done: false, leaf: function (relativeStart: number, relativeLength: number, ll: LineLeaf) { diff --git a/src/server/node.d.ts b/src/server/node.d.ts index 0bde0bb6602..8e4d8c28e9b 100644 --- a/src/server/node.d.ts +++ b/src/server/node.d.ts @@ -68,7 +68,7 @@ interface BufferConstructor { new (array: any[]): Buffer; prototype: Buffer; isBuffer(obj: any): boolean; - byteLength(string: string, encoding?: string): number; + byteLength: (string: string, encoding?: string) => number; concat(list: Buffer[], totalLength?: number): Buffer; } declare var Buffer: BufferConstructor; @@ -190,7 +190,7 @@ declare namespace NodeJS { nextTick(callback: Function): void; umask(mask?: number): number; uptime(): number; - hrtime(time?: number[]): number[]; + hrtime: (time?: number[]) => number[]; // Worker send? (message: any, sendHandle?: any): void; diff --git a/src/services/formatting/ruleOperationContext.ts b/src/services/formatting/ruleOperationContext.ts index 47330faa0dd..3108095e8e6 100644 --- a/src/services/formatting/ruleOperationContext.ts +++ b/src/services/formatting/ruleOperationContext.ts @@ -6,8 +6,8 @@ namespace ts.formatting { export class RuleOperationContext { private customContextChecks: { (context: FormattingContext): boolean; }[]; - constructor(...funcs: { (context: FormattingContext): boolean; }[]) { - this.customContextChecks = funcs; + constructor(...funcs: { (this: typeof Rules, context: FormattingContext): boolean; }[]) { + this.customContextChecks = <{ (this: any, context: FormattingContext): boolean }[]>funcs; } static Any: RuleOperationContext = new RuleOperationContext(); diff --git a/src/services/utilities.ts b/src/services/utilities.ts index afdc85fffd8..0363e45a64a 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -769,7 +769,7 @@ namespace ts { * The default is CRLF. */ export function getNewLineOrDefaultFromHost(host: LanguageServiceHost | LanguageServiceShimHost) { - return host.getNewLine ? host.getNewLine() : carriageReturnLineFeed; + return (host).getNewLine ? (host).getNewLine() : carriageReturnLineFeed; } export function lineBreakPart() { From 22e571f1e9a0250e406734f479d0f1a91fca4347 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:44:20 -0800 Subject: [PATCH 027/342] Add services support for this types. --- src/services/services.ts | 27 ++++++++++++++++++++------- src/services/signatureHelp.ts | 2 +- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index cb57d415c66..1a43f9a744b 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -19,15 +19,15 @@ namespace ts { getChildCount(sourceFile?: SourceFile): number; getChildAt(index: number, sourceFile?: SourceFile): Node; getChildren(sourceFile?: SourceFile): Node[]; - getStart(sourceFile?: SourceFile): number; + getStart(this: Node, sourceFile?: SourceFile): number; getFullStart(): number; - getEnd(): number; + getEnd(this: Node): number; getWidth(sourceFile?: SourceFile): number; getFullWidth(): number; getLeadingTriviaWidth(sourceFile?: SourceFile): number; getFullText(sourceFile?: SourceFile): string; getText(sourceFile?: SourceFile): string; - getFirstToken(sourceFile?: SourceFile): Node; + getFirstToken(this: Node, sourceFile?: SourceFile): Node; getLastToken(sourceFile?: SourceFile): Node; } @@ -740,6 +740,7 @@ namespace ts { declaration: SignatureDeclaration; typeParameters: TypeParameter[]; parameters: Symbol[]; + thisType: Type; resolvedReturnType: Type; minArgumentCount: number; hasRestParameter: boolean; @@ -4021,6 +4022,9 @@ namespace ts { if (typeChecker.isArgumentsSymbol(symbol)) { return ScriptElementKind.localVariableElement; } + if (location.kind === SyntaxKind.ThisKeyword && isExpression(location)) { + return ScriptElementKind.parameterElement; + } if (flags & SymbolFlags.Variable) { if (isFirstDeclarationOfSymbolParameter(symbol)) { return ScriptElementKind.parameterElement; @@ -4083,6 +4087,7 @@ namespace ts { const symbolFlags = symbol.flags; let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, location); let hasAddedSymbolInfo: boolean; + const isThisExpression: boolean = location.kind === SyntaxKind.ThisKeyword && isExpression(location); let type: Type; // Class at constructor site need to be shown as constructor apart from property,method, vars @@ -4093,7 +4098,7 @@ namespace ts { } let signature: Signature; - type = typeChecker.getTypeOfSymbolAtLocation(symbol, location); + type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); if (type) { if (location.parent && location.parent.kind === SyntaxKind.PropertyAccessExpression) { const right = (location.parent).name; @@ -4204,7 +4209,7 @@ namespace ts { } } } - if (symbolFlags & SymbolFlags.Class && !hasAddedSymbolInfo) { + if (symbolFlags & SymbolFlags.Class && !hasAddedSymbolInfo && !isThisExpression) { if (getDeclarationOfKind(symbol, SyntaxKind.ClassExpression)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) @@ -4346,11 +4351,19 @@ namespace ts { if (!hasAddedSymbolInfo) { if (symbolKind !== ScriptElementKind.unknown) { if (type) { - addPrefixForAnyFunctionOrVar(symbol, symbolKind); + if (isThisExpression) { + addNewLineIfDisplayPartsExist(); + displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); + } + else { + addPrefixForAnyFunctionOrVar(symbol, symbolKind); + } + // For properties, variables and local vars: show the type if (symbolKind === ScriptElementKind.memberVariableElement || symbolFlags & SymbolFlags.Variable || - symbolKind === ScriptElementKind.localVariableElement) { + symbolKind === ScriptElementKind.localVariableElement || + isThisExpression) { displayParts.push(punctuationPart(SyntaxKind.ColonToken)); displayParts.push(spacePart()); // If the type is type parameter, format it specially diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts index 02e36e185a5..cdf0b997bcc 100644 --- a/src/services/signatureHelp.ts +++ b/src/services/signatureHelp.ts @@ -559,7 +559,7 @@ namespace ts.SignatureHelp { signatureHelpParameters = typeParameters && typeParameters.length > 0 ? map(typeParameters, createSignatureHelpParameterForTypeParameter) : emptyArray; suffixDisplayParts.push(punctuationPart(SyntaxKind.GreaterThanToken)); let parameterParts = mapToDisplayParts(writer => - typeChecker.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(candidateSignature.parameters, writer, invocation)); + typeChecker.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(candidateSignature.thisType, candidateSignature.parameters, writer, invocation)); addRange(suffixDisplayParts, parameterParts); } else { From 5fe84781592a08b5294e01a2fbf42d1def07111d Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:46:01 -0800 Subject: [PATCH 028/342] Add overloads for Function.apply/call/bind The new overloads use this types to specify the return type of these functions as well as the type of `thisArg`. --- src/lib/core.d.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/core.d.ts b/src/lib/core.d.ts index 31cf0ca3136..fe2fd6b79f6 100644 --- a/src/lib/core.d.ts +++ b/src/lib/core.d.ts @@ -215,14 +215,16 @@ interface Function { * @param thisArg The object to be used as the this object. * @param argArray A set of arguments to be passed to the function. */ - apply(thisArg: any, argArray?: any): any; + apply(this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; + apply(this: Function, thisArg: any, argArray?: any): any; /** * Calls a method of an object, substituting another object for the current object. * @param thisArg The object to be used as the current object. * @param argArray A list of arguments to be passed to the method. */ - call(thisArg: any, ...argArray: any[]): any; + call(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): U; + call(this: Function, thisArg: any, ...argArray: any[]): any; /** * For a given function, creates a bound function that has the same body as the original function. @@ -230,7 +232,8 @@ interface Function { * @param thisArg An object to which the this keyword can refer inside the new function. * @param argArray A list of arguments to be passed to the new function. */ - bind(thisArg: any, ...argArray: any[]): any; + bind(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): (...argArray: any[]) => U; + bind(this: Function, thisArg: any, ...argArray: any[]): any; prototype: any; readonly length: number; From 04e7d811054f712276264f87a7574ba2796cd4bd Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:49:52 -0800 Subject: [PATCH 029/342] Add tests and baselines for this-function types. --- .../looseThisTypeInFunctions.errors.txt | 48 + .../reference/looseThisTypeInFunctions.js | 68 ++ .../reference/thisTypeInFunctions.js | 407 +++++++ .../reference/thisTypeInFunctions.symbols | 862 ++++++++++++++ .../reference/thisTypeInFunctions.types | 1037 +++++++++++++++++ .../thisTypeInFunctionsNegative.errors.txt | 509 ++++++++ .../reference/thisTypeInFunctionsNegative.js | 386 ++++++ .../thisType/looseThisTypeInFunctions.ts | 34 + .../types/thisType/thisTypeInFunctions.ts | 209 ++++ .../thisType/thisTypeInFunctionsNegative.ts | 193 +++ .../fourslash/memberListOnExplicitThis.ts | 30 + 11 files changed, 3783 insertions(+) create mode 100644 tests/baselines/reference/looseThisTypeInFunctions.errors.txt create mode 100644 tests/baselines/reference/looseThisTypeInFunctions.js create mode 100644 tests/baselines/reference/thisTypeInFunctions.js create mode 100644 tests/baselines/reference/thisTypeInFunctions.symbols create mode 100644 tests/baselines/reference/thisTypeInFunctions.types create mode 100644 tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt create mode 100644 tests/baselines/reference/thisTypeInFunctionsNegative.js create mode 100644 tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts create mode 100644 tests/cases/conformance/types/thisType/thisTypeInFunctions.ts create mode 100644 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts create mode 100644 tests/cases/fourslash/memberListOnExplicitThis.ts diff --git a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt new file mode 100644 index 00000000000..058a1555ed6 --- /dev/null +++ b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt @@ -0,0 +1,48 @@ +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(20,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'void' is not assignable to type 'C'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(27,9): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. + + +==== tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts (2 errors) ==== + interface I { + explicitThis(this: this, m: number): number; + } + interface Unused { + implicitNoThis(m: number): number; + } + class C implements I { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return m + 1; + } + } + let c = new C(); + c.explicitVoid = c.explicitThis; // error, 'void' is missing everything + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'void' is not assignable to type 'C'. + let o = { + explicitThis: function (m) { return m }, + implicitThis(m: number): number { return m } + }; + let i: I = o; + let x = i.explicitThis; + let n = x(12); // callee:void doesn't match this:I + ~~~~~ +!!! error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. + let u: Unused; + let y = u.implicitNoThis; + n = y(12); // ok, callee:void matches this:any + c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) + o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) + o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) + o.implicitThis = i.explicitThis; + \ No newline at end of file diff --git a/tests/baselines/reference/looseThisTypeInFunctions.js b/tests/baselines/reference/looseThisTypeInFunctions.js new file mode 100644 index 00000000000..66677293c5b --- /dev/null +++ b/tests/baselines/reference/looseThisTypeInFunctions.js @@ -0,0 +1,68 @@ +//// [looseThisTypeInFunctions.ts] +interface I { + explicitThis(this: this, m: number): number; +} +interface Unused { + implicitNoThis(m: number): number; +} +class C implements I { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return m + 1; + } +} +let c = new C(); +c.explicitVoid = c.explicitThis; // error, 'void' is missing everything +let o = { + explicitThis: function (m) { return m }, + implicitThis(m: number): number { return m } +}; +let i: I = o; +let x = i.explicitThis; +let n = x(12); // callee:void doesn't match this:I +let u: Unused; +let y = u.implicitNoThis; +n = y(12); // ok, callee:void matches this:any +c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) +o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) +o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) +o.implicitThis = i.explicitThis; + + +//// [looseThisTypeInFunctions.js] +var C = (function () { + function C() { + } + C.prototype.explicitThis = function (m) { + return this.n + m; + }; + C.prototype.implicitThis = function (m) { + return this.n + m; + }; + C.prototype.explicitVoid = function (m) { + return m + 1; + }; + return C; +}()); +var c = new C(); +c.explicitVoid = c.explicitThis; // error, 'void' is missing everything +var o = { + explicitThis: function (m) { return m; }, + implicitThis: function (m) { return m; } +}; +var i = o; +var x = i.explicitThis; +var n = x(12); // callee:void doesn't match this:I +var u; +var y = u.implicitNoThis; +n = y(12); // ok, callee:void matches this:any +c.explicitVoid = c.implicitThis; // ok, implicitThis(this:any) +o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) +o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) +o.implicitThis = i.explicitThis; diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js new file mode 100644 index 00000000000..0798843fc44 --- /dev/null +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -0,0 +1,407 @@ +//// [thisTypeInFunctions.ts] +// body checking +class C { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitC(this: C, m: number): number { + return this.n + m; + } + explicitProperty(this: {n: number}, m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return m + 1; + } +} +class D extends C { } +class B { + n: number; +} +interface I { + a: number; + explicitVoid1(this: void): number; + explicitVoid2(this: void): number; + explicitStructural(this: {a: number}): number; + explicitInterface(this: I): number; + explicitThis(this: this): number; + implicitMethod(): number; + implicitFunction: () => number; +} +function explicitStructural(this: { y: number }, x: number): number { + return x + this.y; +} +function justThis(this: { y: number }): number { + return this.y; +} +function implicitThis(n: number): number { + return 12; +} +let impl: I = { + a: 12, + explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) + explicitVoid1() { return 12; }, + explicitStructural() { + return this.a; + }, + explicitInterface() { + return this.a; + }, + explicitThis() { + return this.a; + }, + implicitMethod() { + return this.a; + }, + implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?) +} +impl.explicitVoid1 = function () { return 12; }; +impl.explicitVoid2 = () => 12; +impl.explicitStructural = function() { return this.a; }; +impl.explicitInterface = function() { return this.a; }; +impl.explicitStructural = () => 12; +impl.explicitInterface = () => 12; +impl.explicitThis = function () { return this.a; }; +impl.implicitMethod = function () { return this.a; }; +impl.implicitMethod = () => 12; +impl.implicitFunction = () => this.a; // ok, this: any because it refers to some outer object (window?) +// parameter checking +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: explicitStructural }; +let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; +ok.f(13); +implicitThis(12); +implicitAnyOk.f(12); + +let c = new C(); +let d = new D(); +let ripped = c.explicitC; +c.explicitC(12); +c.explicitProperty(12); +c.explicitThis(12); +c.implicitThis(12); +d.explicitC(12); +d.explicitProperty(12); +d.explicitThis(12); +d.implicitThis(12); +let reconstructed: { + n: number, + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. + implicitThis(m: number): number, + explicitC(this: C, m: number): number, + explicitProperty: (this: {n : number}, m: number) => number, + explicitVoid(this: void, m: number): number, +} = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +}; +reconstructed.explicitProperty(11); +reconstructed.implicitThis(11); + +// assignment checking +let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any +let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStructural; +let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; + +let unspecifiedLambda: (x: number) => number = x => x + 12; +let specifiedLambda: (this: void, x: number) => number = x => x + 12; +let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; +let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; + + +let explicitCFunction: (this: C, m: number) => number; +let explicitPropertyFunction: (this: {n: number}, m: number) => number; +c.explicitC = explicitCFunction; +c.explicitC = function(this: C, m: number) { return this.n + m }; +c.explicitProperty = explicitPropertyFunction; +c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; +c.explicitProperty = reconstructed.explicitProperty; + +// lambdas are assignable to anything +c.explicitC = m => m; +c.explicitThis = m => m; +c.explicitProperty = m => m; + +// this inside lambdas refer to outer scope +// the outer-scoped lambda at top-level is still just `any` +c.explicitC = m => m + this.n; +c.explicitThis = m => m + this.n; +c.explicitProperty = m => m + this.n; + +//NOTE: this=C here, I guess? +c.explicitThis = explicitCFunction; +c.explicitThis = function(this: C, m: number) { return this.n + m }; + +// this:any compatibility +c.explicitC = function(m: number) { return this.n + m }; +c.explicitProperty = function(m: number) { return this.n + m }; +c.explicitThis = function(m: number) { return this.n + m }; +c.implicitThis = function(m: number) { return this.n + m }; +c.implicitThis = reconstructed.implicitThis; + +c.explicitC = function(this: B, m: number) { return this.n + m }; + +// this:void compatibility +c.explicitVoid = n => n; + +// class-based assignability +class Base1 { + x: number; + public implicit(): number { return this.x; } + explicit(this: Base1): number { return this.x; } + static implicitStatic(): number { return this.y; } + static explicitStatic(this: typeof Base1): number { return this.y; } + static y: number; + +} +class Derived1 extends Base1 { + y: number +} +class Base2 { + y: number + implicit(): number { return this.y; } + explicit(this: Base1): number { return this.x; } +} +class Derived2 extends Base2 { + x: number +} +let b1 = new Base1(); +let b2 = new Base2(); +let d1 = new Derived1(); +let d2 = new Derived2(); +d2.implicit = d1.implicit // ok, 'x' and 'y' in { x, y } (d assignable to f and vice versa) +d1.implicit = d2.implicit // ok, 'x' and 'y' in { x, y } (f assignable to d and vice versa) + +// bivariance-allowed cases +d1.implicit = b2.implicit // ok, 'y' in D: { x, y } (d assignable e) +d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) +b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) + +////// use this-type for construction with new //// +function InterfaceThis(this: I) { + this.a = 12; +} +function LiteralTypeThis(this: {x: string}) { + this.x = "ok"; +} +function AnyThis(this: any) { + this.x = "ok"; +} +let interfaceThis = new InterfaceThis(); +let literalTypeThis = new LiteralTypeThis(); +let anyThis = new AnyThis(); + +//// type parameter inference //// +declare var f: { + (this: void, x: number): number, + call(this: (...argArray: any[]) => U, ...argArray: any[]): U; +}; +let n: number = f.call(12); + +function missingTypeIsImplicitAny(this, a: number) { return a; } + +//// [thisTypeInFunctions.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var _this = this; +// body checking +var C = (function () { + function C() { + } + C.prototype.explicitThis = function (m) { + return this.n + m; + }; + C.prototype.implicitThis = function (m) { + return this.n + m; + }; + C.prototype.explicitC = function (m) { + return this.n + m; + }; + C.prototype.explicitProperty = function (m) { + return this.n + m; + }; + C.prototype.explicitVoid = function (m) { + return m + 1; + }; + return C; +}()); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.apply(this, arguments); + } + return D; +}(C)); +var B = (function () { + function B() { + } + return B; +}()); +function explicitStructural(x) { + return x + this.y; +} +function justThis() { + return this.y; +} +function implicitThis(n) { + return 12; +} +var impl = { + a: 12, + explicitVoid2: function () { return _this.a; }, + explicitVoid1: function () { return 12; }, + explicitStructural: function () { + return this.a; + }, + explicitInterface: function () { + return this.a; + }, + explicitThis: function () { + return this.a; + }, + implicitMethod: function () { + return this.a; + }, + implicitFunction: function () { return _this.a; } +}; +impl.explicitVoid1 = function () { return 12; }; +impl.explicitVoid2 = function () { return 12; }; +impl.explicitStructural = function () { return this.a; }; +impl.explicitInterface = function () { return this.a; }; +impl.explicitStructural = function () { return 12; }; +impl.explicitInterface = function () { return 12; }; +impl.explicitThis = function () { return this.a; }; +impl.implicitMethod = function () { return this.a; }; +impl.implicitMethod = function () { return 12; }; +impl.implicitFunction = function () { return _this.a; }; // ok, this: any because it refers to some outer object (window?) +// parameter checking +var ok = { y: 12, f: explicitStructural }; +var implicitAnyOk = { notSpecified: 12, f: implicitThis }; +ok.f(13); +implicitThis(12); +implicitAnyOk.f(12); +var c = new C(); +var d = new D(); +var ripped = c.explicitC; +c.explicitC(12); +c.explicitProperty(12); +c.explicitThis(12); +c.implicitThis(12); +d.explicitC(12); +d.explicitProperty(12); +d.explicitThis(12); +d.implicitThis(12); +var reconstructed = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +}; +reconstructed.explicitProperty(11); +reconstructed.implicitThis(11); +// assignment checking +var unboundToSpecified = function (x) { return x + _this.y; }; // ok, this:any +var specifiedToSpecified = explicitStructural; +var anyToSpecified = function (x) { return x + 12; }; +var unspecifiedLambda = function (x) { return x + 12; }; +var specifiedLambda = function (x) { return x + 12; }; +var unspecifiedLambdaToSpecified = unspecifiedLambda; +var specifiedLambdaToSpecified = specifiedLambda; +var explicitCFunction; +var explicitPropertyFunction; +c.explicitC = explicitCFunction; +c.explicitC = function (m) { return this.n + m; }; +c.explicitProperty = explicitPropertyFunction; +c.explicitProperty = function (m) { return this.n + m; }; +c.explicitProperty = reconstructed.explicitProperty; +// lambdas are assignable to anything +c.explicitC = function (m) { return m; }; +c.explicitThis = function (m) { return m; }; +c.explicitProperty = function (m) { return m; }; +// this inside lambdas refer to outer scope +// the outer-scoped lambda at top-level is still just `any` +c.explicitC = function (m) { return m + _this.n; }; +c.explicitThis = function (m) { return m + _this.n; }; +c.explicitProperty = function (m) { return m + _this.n; }; +//NOTE: this=C here, I guess? +c.explicitThis = explicitCFunction; +c.explicitThis = function (m) { return this.n + m; }; +// this:any compatibility +c.explicitC = function (m) { return this.n + m; }; +c.explicitProperty = function (m) { return this.n + m; }; +c.explicitThis = function (m) { return this.n + m; }; +c.implicitThis = function (m) { return this.n + m; }; +c.implicitThis = reconstructed.implicitThis; +c.explicitC = function (m) { return this.n + m; }; +// this:void compatibility +c.explicitVoid = function (n) { return n; }; +// class-based assignability +var Base1 = (function () { + function Base1() { + } + Base1.prototype.implicit = function () { return this.x; }; + Base1.prototype.explicit = function () { return this.x; }; + Base1.implicitStatic = function () { return this.y; }; + Base1.explicitStatic = function () { return this.y; }; + return Base1; +}()); +var Derived1 = (function (_super) { + __extends(Derived1, _super); + function Derived1() { + _super.apply(this, arguments); + } + return Derived1; +}(Base1)); +var Base2 = (function () { + function Base2() { + } + Base2.prototype.implicit = function () { return this.y; }; + Base2.prototype.explicit = function () { return this.x; }; + return Base2; +}()); +var Derived2 = (function (_super) { + __extends(Derived2, _super); + function Derived2() { + _super.apply(this, arguments); + } + return Derived2; +}(Base2)); +var b1 = new Base1(); +var b2 = new Base2(); +var d1 = new Derived1(); +var d2 = new Derived2(); +d2.implicit = d1.implicit; // ok, 'x' and 'y' in { x, y } (d assignable to f and vice versa) +d1.implicit = d2.implicit; // ok, 'x' and 'y' in { x, y } (f assignable to d and vice versa) +// bivariance-allowed cases +d1.implicit = b2.implicit; // ok, 'y' in D: { x, y } (d assignable e) +d2.implicit = d1.explicit; // ok, 'y' in { x, y } (c assignable to f) +b1.implicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) +b1.explicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) +////// use this-type for construction with new //// +function InterfaceThis() { + this.a = 12; +} +function LiteralTypeThis() { + this.x = "ok"; +} +function AnyThis() { + this.x = "ok"; +} +var interfaceThis = new InterfaceThis(); +var literalTypeThis = new LiteralTypeThis(); +var anyThis = new AnyThis(); +var n = f.call(12); +function missingTypeIsImplicitAny(a) { return a; } diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols new file mode 100644 index 00000000000..1d9ebbd0cf4 --- /dev/null +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -0,0 +1,862 @@ +=== tests/cases/conformance/types/thisType/thisTypeInFunctions.ts === +// body checking +class C { +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) + + n: number; +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) + + explicitThis(this: this, m: number): number { +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 3, 17)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 3, 28)) + + return this.n + m; +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 3, 28)) + } + implicitThis(m: number): number { +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 17)) + + return this.n + m; +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 17)) + } + explicitC(this: C, m: number): number { +>explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 9, 14)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 22)) + + return this.n + m; +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 22)) + } + explicitProperty(this: {n: number}, m: number): number { +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 12, 21)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 39)) + + return this.n + m; +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 12, 26)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 39)) + } + explicitVoid(this: void, m: number): number { +>explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 15, 17)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 28)) + + return m + 1; +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 28)) + } +} +class D extends C { } +>D : Symbol(D, Decl(thisTypeInFunctions.ts, 18, 1)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) + +class B { +>B : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) + + n: number; +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 20, 9)) +} +interface I { +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) + + a: number; +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 23, 13)) + + explicitVoid1(this: void): number; +>explicitVoid1 : Symbol(explicitVoid1, Decl(thisTypeInFunctions.ts, 24, 14)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 25, 18)) + + explicitVoid2(this: void): number; +>explicitVoid2 : Symbol(explicitVoid2, Decl(thisTypeInFunctions.ts, 25, 38)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 26, 18)) + + explicitStructural(this: {a: number}): number; +>explicitStructural : Symbol(explicitStructural, Decl(thisTypeInFunctions.ts, 26, 38)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 27, 23)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 27, 30)) + + explicitInterface(this: I): number; +>explicitInterface : Symbol(explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 28, 22)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) + + explicitThis(this: this): number; +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 28, 39)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 29, 17)) + + implicitMethod(): number; +>implicitMethod : Symbol(implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) + + implicitFunction: () => number; +>implicitFunction : Symbol(implicitFunction, Decl(thisTypeInFunctions.ts, 30, 29)) +} +function explicitStructural(this: { y: number }, x: number): number { +>explicitStructural : Symbol(explicitStructural, Decl(thisTypeInFunctions.ts, 32, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 33, 28)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 33, 35)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 33, 48)) + + return x + this.y; +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 33, 48)) +>this.y : Symbol(y, Decl(thisTypeInFunctions.ts, 33, 35)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 33, 33)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 33, 35)) +} +function justThis(this: { y: number }): number { +>justThis : Symbol(justThis, Decl(thisTypeInFunctions.ts, 35, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 36, 18)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 36, 25)) + + return this.y; +>this.y : Symbol(y, Decl(thisTypeInFunctions.ts, 36, 25)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 36, 23)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 36, 25)) +} +function implicitThis(n: number): number { +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 38, 1)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 39, 22)) + + return 12; +} +let impl: I = { +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) + + a: 12, +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 42, 15)) + + explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) +>explicitVoid2 : Symbol(explicitVoid2, Decl(thisTypeInFunctions.ts, 43, 10)) + + explicitVoid1() { return 12; }, +>explicitVoid1 : Symbol(explicitVoid1, Decl(thisTypeInFunctions.ts, 44, 32)) + + explicitStructural() { +>explicitStructural : Symbol(explicitStructural, Decl(thisTypeInFunctions.ts, 45, 35)) + + return this.a; +>this.a : Symbol(a, Decl(thisTypeInFunctions.ts, 27, 30)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 27, 28)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 27, 30)) + + }, + explicitInterface() { +>explicitInterface : Symbol(explicitInterface, Decl(thisTypeInFunctions.ts, 48, 6)) + + return this.a; +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + + }, + explicitThis() { +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 51, 6)) + + return this.a; +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + + }, + implicitMethod() { +>implicitMethod : Symbol(implicitMethod, Decl(thisTypeInFunctions.ts, 54, 6)) + + return this.a; +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + + }, + implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?) +>implicitFunction : Symbol(implicitFunction, Decl(thisTypeInFunctions.ts, 57, 6)) +} +impl.explicitVoid1 = function () { return 12; }; +>impl.explicitVoid1 : Symbol(I.explicitVoid1, Decl(thisTypeInFunctions.ts, 24, 14)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitVoid1 : Symbol(I.explicitVoid1, Decl(thisTypeInFunctions.ts, 24, 14)) + +impl.explicitVoid2 = () => 12; +>impl.explicitVoid2 : Symbol(I.explicitVoid2, Decl(thisTypeInFunctions.ts, 25, 38)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitVoid2 : Symbol(I.explicitVoid2, Decl(thisTypeInFunctions.ts, 25, 38)) + +impl.explicitStructural = function() { return this.a; }; +>impl.explicitStructural : Symbol(I.explicitStructural, Decl(thisTypeInFunctions.ts, 26, 38)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitStructural : Symbol(I.explicitStructural, Decl(thisTypeInFunctions.ts, 26, 38)) +>this.a : Symbol(a, Decl(thisTypeInFunctions.ts, 27, 30)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 27, 28)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 27, 30)) + +impl.explicitInterface = function() { return this.a; }; +>impl.explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + +impl.explicitStructural = () => 12; +>impl.explicitStructural : Symbol(I.explicitStructural, Decl(thisTypeInFunctions.ts, 26, 38)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitStructural : Symbol(I.explicitStructural, Decl(thisTypeInFunctions.ts, 26, 38)) + +impl.explicitInterface = () => 12; +>impl.explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) + +impl.explicitThis = function () { return this.a; }; +>impl.explicitThis : Symbol(I.explicitThis, Decl(thisTypeInFunctions.ts, 28, 39)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>explicitThis : Symbol(I.explicitThis, Decl(thisTypeInFunctions.ts, 28, 39)) +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + +impl.implicitMethod = function () { return this.a; }; +>impl.implicitMethod : Symbol(I.implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>implicitMethod : Symbol(I.implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) + +impl.implicitMethod = () => 12; +>impl.implicitMethod : Symbol(I.implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>implicitMethod : Symbol(I.implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) + +impl.implicitFunction = () => this.a; // ok, this: any because it refers to some outer object (window?) +>impl.implicitFunction : Symbol(I.implicitFunction, Decl(thisTypeInFunctions.ts, 30, 29)) +>impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) +>implicitFunction : Symbol(I.implicitFunction, Decl(thisTypeInFunctions.ts, 30, 29)) + +// parameter checking +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: explicitStructural }; +>ok : Symbol(ok, Decl(thisTypeInFunctions.ts, 71, 3)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 71, 9)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 71, 19)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 71, 24)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 71, 31)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 71, 44)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 71, 70)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 71, 77)) +>explicitStructural : Symbol(explicitStructural, Decl(thisTypeInFunctions.ts, 32, 1)) + +let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; +>implicitAnyOk : Symbol(implicitAnyOk, Decl(thisTypeInFunctions.ts, 72, 3)) +>notSpecified : Symbol(notSpecified, Decl(thisTypeInFunctions.ts, 72, 20)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 72, 41)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 72, 46)) +>notSpecified : Symbol(notSpecified, Decl(thisTypeInFunctions.ts, 72, 71)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 72, 89)) +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 38, 1)) + +ok.f(13); +>ok.f : Symbol(f, Decl(thisTypeInFunctions.ts, 71, 19)) +>ok : Symbol(ok, Decl(thisTypeInFunctions.ts, 71, 3)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 71, 19)) + +implicitThis(12); +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 38, 1)) + +implicitAnyOk.f(12); +>implicitAnyOk.f : Symbol(f, Decl(thisTypeInFunctions.ts, 72, 41)) +>implicitAnyOk : Symbol(implicitAnyOk, Decl(thisTypeInFunctions.ts, 72, 3)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 72, 41)) + +let c = new C(); +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) + +let d = new D(); +>d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) +>D : Symbol(D, Decl(thisTypeInFunctions.ts, 18, 1)) + +let ripped = c.explicitC; +>ripped : Symbol(ripped, Decl(thisTypeInFunctions.ts, 79, 3)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) + +c.explicitC(12); +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) + +c.explicitProperty(12); +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) + +c.explicitThis(12); +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) + +c.implicitThis(12); +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) + +d.explicitC(12); +>d.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) + +d.explicitProperty(12); +>d.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) + +d.explicitThis(12); +>d.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) + +d.implicitThis(12); +>d.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) + +let reconstructed: { +>reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) + + n: number, +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 88, 20)) + + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 89, 14)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 90, 17)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 90, 25)) + + implicitThis(m: number): number, +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 91, 17)) + + explicitC(this: C, m: number): number, +>explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 91, 36)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 92, 14)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 92, 22)) + + explicitProperty: (this: {n : number}, m: number) => number, +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 93, 23)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 93, 30)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 93, 42)) + + explicitVoid(this: void, m: number): number, +>explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 93, 64)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 94, 17)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 94, 28)) + +} = { + n: 12, +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 95, 5)) + + explicitThis: c.explicitThis, +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 96, 10)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) + + implicitThis: c.implicitThis, +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 97, 33)) +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) + + explicitC: c.explicitC, +>explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 98, 33)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) + + explicitProperty: c.explicitProperty, +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 99, 27)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) + + explicitVoid: c.explicitVoid +>explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 100, 41)) +>c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) + +}; +reconstructed.explicitProperty(11); +>reconstructed.explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) +>reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) + +reconstructed.implicitThis(11); +>reconstructed.implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) +>reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) + +// assignment checking +let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any +>unboundToSpecified : Symbol(unboundToSpecified, Decl(thisTypeInFunctions.ts, 107, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 107, 25)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 107, 32)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 107, 45)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 107, 68)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 107, 68)) + +let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStructural; +>specifiedToSpecified : Symbol(specifiedToSpecified, Decl(thisTypeInFunctions.ts, 108, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 108, 27)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 108, 34)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 108, 45)) +>explicitStructural : Symbol(explicitStructural, Decl(thisTypeInFunctions.ts, 32, 1)) + +let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; +>anyToSpecified : Symbol(anyToSpecified, Decl(thisTypeInFunctions.ts, 109, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 109, 21)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 109, 28)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 109, 41)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 109, 74)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 109, 74)) + +let unspecifiedLambda: (x: number) => number = x => x + 12; +>unspecifiedLambda : Symbol(unspecifiedLambda, Decl(thisTypeInFunctions.ts, 111, 3)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 111, 24)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 111, 46)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 111, 46)) + +let specifiedLambda: (this: void, x: number) => number = x => x + 12; +>specifiedLambda : Symbol(specifiedLambda, Decl(thisTypeInFunctions.ts, 112, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 112, 22)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 112, 33)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 112, 56)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 112, 56)) + +let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; +>unspecifiedLambdaToSpecified : Symbol(unspecifiedLambdaToSpecified, Decl(thisTypeInFunctions.ts, 113, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 113, 35)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 113, 42)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 113, 53)) +>unspecifiedLambda : Symbol(unspecifiedLambda, Decl(thisTypeInFunctions.ts, 111, 3)) + +let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; +>specifiedLambdaToSpecified : Symbol(specifiedLambdaToSpecified, Decl(thisTypeInFunctions.ts, 114, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 114, 33)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 114, 40)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 114, 51)) +>specifiedLambda : Symbol(specifiedLambda, Decl(thisTypeInFunctions.ts, 112, 3)) + + +let explicitCFunction: (this: C, m: number) => number; +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 117, 24)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 117, 32)) + +let explicitPropertyFunction: (this: {n: number}, m: number) => number; +>explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 118, 3)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 118, 31)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 118, 38)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 118, 49)) + +c.explicitC = explicitCFunction; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) + +c.explicitC = function(this: C, m: number) { return this.n + m }; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 120, 23)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 120, 31)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 120, 31)) + +c.explicitProperty = explicitPropertyFunction; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 118, 3)) + +c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 122, 30)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 122, 37)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 122, 48)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 122, 37)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 122, 35)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 122, 37)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 122, 48)) + +c.explicitProperty = reconstructed.explicitProperty; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>reconstructed.explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) +>reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) + +// lambdas are assignable to anything +c.explicitC = m => m; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 13)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 13)) + +c.explicitThis = m => m; +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 16)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 16)) + +c.explicitProperty = m => m; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 20)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 20)) + +// this inside lambdas refer to outer scope +// the outer-scoped lambda at top-level is still just `any` +c.explicitC = m => m + this.n; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 132, 13)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 132, 13)) + +c.explicitThis = m => m + this.n; +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 133, 16)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 133, 16)) + +c.explicitProperty = m => m + this.n; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 134, 20)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 134, 20)) + +//NOTE: this=C here, I guess? +c.explicitThis = explicitCFunction; +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) + +c.explicitThis = function(this: C, m: number) { return this.n + m }; +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 138, 26)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 138, 34)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 138, 34)) + +// this:any compatibility +c.explicitC = function(m: number) { return this.n + m }; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 141, 23)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 141, 23)) + +c.explicitProperty = function(m: number) { return this.n + m }; +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 142, 30)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 12, 26)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 142, 30)) + +c.explicitThis = function(m: number) { return this.n + m }; +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 143, 26)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 143, 26)) + +c.implicitThis = function(m: number) { return this.n + m }; +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 144, 26)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 144, 26)) + +c.implicitThis = reconstructed.implicitThis; +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>reconstructed.implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) +>reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) + +c.explicitC = function(this: B, m: number) { return this.n + m }; +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 147, 23)) +>B : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 147, 31)) +>this.n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 20, 9)) +>this : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) +>n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 20, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 147, 31)) + +// this:void compatibility +c.explicitVoid = n => n; +>c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) +>explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 150, 16)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 150, 16)) + +// class-based assignability +class Base1 { +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) + + x: number; +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 153, 13)) + + public implicit(): number { return this.x; } +>implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 153, 13)) +>this : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 153, 13)) + + explicit(this: Base1): number { return this.x; } +>explicit : Symbol(explicit, Decl(thisTypeInFunctions.ts, 155, 48)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 156, 13)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 153, 13)) +>this : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 153, 13)) + + static implicitStatic(): number { return this.y; } +>implicitStatic : Symbol(Base1.implicitStatic, Decl(thisTypeInFunctions.ts, 156, 52)) +>this.y : Symbol(Base1.y, Decl(thisTypeInFunctions.ts, 158, 72)) +>this : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>y : Symbol(Base1.y, Decl(thisTypeInFunctions.ts, 158, 72)) + + static explicitStatic(this: typeof Base1): number { return this.y; } +>explicitStatic : Symbol(Base1.explicitStatic, Decl(thisTypeInFunctions.ts, 157, 54)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 158, 26)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>this.y : Symbol(Base1.y, Decl(thisTypeInFunctions.ts, 158, 72)) +>this : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>y : Symbol(Base1.y, Decl(thisTypeInFunctions.ts, 158, 72)) + + static y: number; +>y : Symbol(Base1.y, Decl(thisTypeInFunctions.ts, 158, 72)) + +} +class Derived1 extends Base1 { +>Derived1 : Symbol(Derived1, Decl(thisTypeInFunctions.ts, 161, 1)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) + + y: number +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 162, 30)) +} +class Base2 { +>Base2 : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) + + y: number +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 165, 13)) + + implicit(): number { return this.y; } +>implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>this.y : Symbol(y, Decl(thisTypeInFunctions.ts, 165, 13)) +>this : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) +>y : Symbol(y, Decl(thisTypeInFunctions.ts, 165, 13)) + + explicit(this: Base1): number { return this.x; } +>explicit : Symbol(explicit, Decl(thisTypeInFunctions.ts, 167, 41)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 168, 13)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>this.x : Symbol(Base1.x, Decl(thisTypeInFunctions.ts, 153, 13)) +>this : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>x : Symbol(Base1.x, Decl(thisTypeInFunctions.ts, 153, 13)) +} +class Derived2 extends Base2 { +>Derived2 : Symbol(Derived2, Decl(thisTypeInFunctions.ts, 169, 1)) +>Base2 : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) + + x: number +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 170, 30)) +} +let b1 = new Base1(); +>b1 : Symbol(b1, Decl(thisTypeInFunctions.ts, 173, 3)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) + +let b2 = new Base2(); +>b2 : Symbol(b2, Decl(thisTypeInFunctions.ts, 174, 3)) +>Base2 : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) + +let d1 = new Derived1(); +>d1 : Symbol(d1, Decl(thisTypeInFunctions.ts, 175, 3)) +>Derived1 : Symbol(Derived1, Decl(thisTypeInFunctions.ts, 161, 1)) + +let d2 = new Derived2(); +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>Derived2 : Symbol(Derived2, Decl(thisTypeInFunctions.ts, 169, 1)) + +d2.implicit = d1.implicit // ok, 'x' and 'y' in { x, y } (d assignable to f and vice versa) +>d2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d1.implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>d1 : Symbol(d1, Decl(thisTypeInFunctions.ts, 175, 3)) +>implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) + +d1.implicit = d2.implicit // ok, 'x' and 'y' in { x, y } (f assignable to d and vice versa) +>d1.implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>d1 : Symbol(d1, Decl(thisTypeInFunctions.ts, 175, 3)) +>implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>d2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) + +// bivariance-allowed cases +d1.implicit = b2.implicit // ok, 'y' in D: { x, y } (d assignable e) +>d1.implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>d1 : Symbol(d1, Decl(thisTypeInFunctions.ts, 175, 3)) +>implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>b2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>b2 : Symbol(b2, Decl(thisTypeInFunctions.ts, 174, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) + +d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) +>d2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d1.explicit : Symbol(Base1.explicit, Decl(thisTypeInFunctions.ts, 155, 48)) +>d1 : Symbol(d1, Decl(thisTypeInFunctions.ts, 175, 3)) +>explicit : Symbol(Base1.explicit, Decl(thisTypeInFunctions.ts, 155, 48)) + +b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +>b1.implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>b1 : Symbol(b1, Decl(thisTypeInFunctions.ts, 173, 3)) +>implicit : Symbol(Base1.implicit, Decl(thisTypeInFunctions.ts, 154, 14)) +>d2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) + +b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +>b1.explicit : Symbol(Base1.explicit, Decl(thisTypeInFunctions.ts, 155, 48)) +>b1 : Symbol(b1, Decl(thisTypeInFunctions.ts, 173, 3)) +>explicit : Symbol(Base1.explicit, Decl(thisTypeInFunctions.ts, 155, 48)) +>d2.implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +>d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) +>implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) + +////// use this-type for construction with new //// +function InterfaceThis(this: I) { +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 187, 23)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) + + this.a = 12; +>this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) +} +function LiteralTypeThis(this: {x: string}) { +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 190, 25)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) + + this.x = "ok"; +>this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 190, 30)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) +} +function AnyThis(this: any) { +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 193, 17)) + + this.x = "ok"; +} +let interfaceThis = new InterfaceThis(); +>interfaceThis : Symbol(interfaceThis, Decl(thisTypeInFunctions.ts, 196, 3)) +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) + +let literalTypeThis = new LiteralTypeThis(); +>literalTypeThis : Symbol(literalTypeThis, Decl(thisTypeInFunctions.ts, 197, 3)) +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) + +let anyThis = new AnyThis(); +>anyThis : Symbol(anyThis, Decl(thisTypeInFunctions.ts, 198, 3)) +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) + +//// type parameter inference //// +declare var f: { +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) + + (this: void, x: number): number, +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 202, 5)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 202, 16)) + + call(this: (...argArray: any[]) => U, ...argArray: any[]): U; +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 203, 12)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 19)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 44)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) + +}; +let n: number = f.call(12); +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 205, 3)) +>f.call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) + +function missingTypeIsImplicitAny(this, a: number) { return a; } +>missingTypeIsImplicitAny : Symbol(missingTypeIsImplicitAny, Decl(thisTypeInFunctions.ts, 205, 27)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 207, 34)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) + diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types new file mode 100644 index 00000000000..36b458b91e0 --- /dev/null +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -0,0 +1,1037 @@ +=== tests/cases/conformance/types/thisType/thisTypeInFunctions.ts === +// body checking +class C { +>C : C + + n: number; +>n : number + + explicitThis(this: this, m: number): number { +>explicitThis : (this: this, m: number) => number +>this : this +>m : number + + return this.n + m; +>this.n + m : number +>this.n : number +>this : this +>n : number +>m : number + } + implicitThis(m: number): number { +>implicitThis : (this: this, m: number) => number +>m : number + + return this.n + m; +>this.n + m : number +>this.n : number +>this : this +>n : number +>m : number + } + explicitC(this: C, m: number): number { +>explicitC : (this: C, m: number) => number +>this : C +>C : C +>m : number + + return this.n + m; +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + } + explicitProperty(this: {n: number}, m: number): number { +>explicitProperty : (this: { n: number; }, m: number) => number +>this : { n: number; } +>n : number +>m : number + + return this.n + m; +>this.n + m : number +>this.n : number +>this : { n: number; } +>n : number +>m : number + } + explicitVoid(this: void, m: number): number { +>explicitVoid : (m: number) => number +>this : void +>m : number + + return m + 1; +>m + 1 : number +>m : number +>1 : number + } +} +class D extends C { } +>D : D +>C : C + +class B { +>B : B + + n: number; +>n : number +} +interface I { +>I : I + + a: number; +>a : number + + explicitVoid1(this: void): number; +>explicitVoid1 : () => number +>this : void + + explicitVoid2(this: void): number; +>explicitVoid2 : () => number +>this : void + + explicitStructural(this: {a: number}): number; +>explicitStructural : (this: { a: number; }) => number +>this : { a: number; } +>a : number + + explicitInterface(this: I): number; +>explicitInterface : (this: I) => number +>this : I +>I : I + + explicitThis(this: this): number; +>explicitThis : (this: this) => number +>this : this + + implicitMethod(): number; +>implicitMethod : (this: this) => number + + implicitFunction: () => number; +>implicitFunction : () => number +} +function explicitStructural(this: { y: number }, x: number): number { +>explicitStructural : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number + + return x + this.y; +>x + this.y : number +>x : number +>this.y : number +>this : { y: number; } +>y : number +} +function justThis(this: { y: number }): number { +>justThis : (this: { y: number; }) => number +>this : { y: number; } +>y : number + + return this.y; +>this.y : number +>this : { y: number; } +>y : number +} +function implicitThis(n: number): number { +>implicitThis : (n: number) => number +>n : number + + return 12; +>12 : number +} +let impl: I = { +>impl : I +>I : I +>{ a: 12, explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) explicitVoid1() { return 12; }, explicitStructural() { return this.a; }, explicitInterface() { return this.a; }, explicitThis() { return this.a; }, implicitMethod() { return this.a; }, implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?)} : { a: number; explicitVoid2: () => any; explicitVoid1(): number; explicitStructural(this: { a: number; }): number; explicitInterface(this: I): number; explicitThis(this: I): number; implicitMethod(this: I): number; implicitFunction: () => any; } + + a: 12, +>a : number +>12 : number + + explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) +>explicitVoid2 : () => any +>() => this.a : () => any +>this.a : any +>this : any +>a : any + + explicitVoid1() { return 12; }, +>explicitVoid1 : () => number +>12 : number + + explicitStructural() { +>explicitStructural : (this: { a: number; }) => number + + return this.a; +>this.a : number +>this : { a: number; } +>a : number + + }, + explicitInterface() { +>explicitInterface : (this: I) => number + + return this.a; +>this.a : number +>this : I +>a : number + + }, + explicitThis() { +>explicitThis : (this: I) => number + + return this.a; +>this.a : number +>this : I +>a : number + + }, + implicitMethod() { +>implicitMethod : (this: I) => number + + return this.a; +>this.a : number +>this : I +>a : number + + }, + implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?) +>implicitFunction : () => any +>() => this.a : () => any +>this.a : any +>this : any +>a : any +} +impl.explicitVoid1 = function () { return 12; }; +>impl.explicitVoid1 = function () { return 12; } : () => number +>impl.explicitVoid1 : () => number +>impl : I +>explicitVoid1 : () => number +>function () { return 12; } : () => number +>12 : number + +impl.explicitVoid2 = () => 12; +>impl.explicitVoid2 = () => 12 : () => number +>impl.explicitVoid2 : () => number +>impl : I +>explicitVoid2 : () => number +>() => 12 : () => number +>12 : number + +impl.explicitStructural = function() { return this.a; }; +>impl.explicitStructural = function() { return this.a; } : (this: { a: number; }) => number +>impl.explicitStructural : (this: { a: number; }) => number +>impl : I +>explicitStructural : (this: { a: number; }) => number +>function() { return this.a; } : (this: { a: number; }) => number +>this.a : number +>this : { a: number; } +>a : number + +impl.explicitInterface = function() { return this.a; }; +>impl.explicitInterface = function() { return this.a; } : (this: I) => number +>impl.explicitInterface : (this: I) => number +>impl : I +>explicitInterface : (this: I) => number +>function() { return this.a; } : (this: I) => number +>this.a : number +>this : I +>a : number + +impl.explicitStructural = () => 12; +>impl.explicitStructural = () => 12 : () => number +>impl.explicitStructural : (this: { a: number; }) => number +>impl : I +>explicitStructural : (this: { a: number; }) => number +>() => 12 : () => number +>12 : number + +impl.explicitInterface = () => 12; +>impl.explicitInterface = () => 12 : () => number +>impl.explicitInterface : (this: I) => number +>impl : I +>explicitInterface : (this: I) => number +>() => 12 : () => number +>12 : number + +impl.explicitThis = function () { return this.a; }; +>impl.explicitThis = function () { return this.a; } : (this: I) => number +>impl.explicitThis : (this: I) => number +>impl : I +>explicitThis : (this: I) => number +>function () { return this.a; } : (this: I) => number +>this.a : number +>this : I +>a : number + +impl.implicitMethod = function () { return this.a; }; +>impl.implicitMethod = function () { return this.a; } : (this: I) => number +>impl.implicitMethod : (this: I) => number +>impl : I +>implicitMethod : (this: I) => number +>function () { return this.a; } : (this: I) => number +>this.a : number +>this : I +>a : number + +impl.implicitMethod = () => 12; +>impl.implicitMethod = () => 12 : () => number +>impl.implicitMethod : (this: I) => number +>impl : I +>implicitMethod : (this: I) => number +>() => 12 : () => number +>12 : number + +impl.implicitFunction = () => this.a; // ok, this: any because it refers to some outer object (window?) +>impl.implicitFunction = () => this.a : () => any +>impl.implicitFunction : () => number +>impl : I +>implicitFunction : () => number +>() => this.a : () => any +>this.a : any +>this : any +>a : any + +// parameter checking +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: explicitStructural }; +>ok : { y: number; f: (this: { y: number; }, x: number) => number; } +>y : number +>f : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>{ y: 12, f: explicitStructural } : { y: number; f: (this: { y: number; }, x: number) => number; } +>y : number +>12 : number +>f : (this: { y: number; }, x: number) => number +>explicitStructural : (this: { y: number; }, x: number) => number + +let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; +>implicitAnyOk : { notSpecified: number; f: (x: number) => number; } +>notSpecified : number +>f : (x: number) => number +>x : number +>{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (n: number) => number; } +>notSpecified : number +>12 : number +>f : (n: number) => number +>implicitThis : (n: number) => number + +ok.f(13); +>ok.f(13) : number +>ok.f : (this: { y: number; }, x: number) => number +>ok : { y: number; f: (this: { y: number; }, x: number) => number; } +>f : (this: { y: number; }, x: number) => number +>13 : number + +implicitThis(12); +>implicitThis(12) : number +>implicitThis : (n: number) => number +>12 : number + +implicitAnyOk.f(12); +>implicitAnyOk.f(12) : number +>implicitAnyOk.f : (x: number) => number +>implicitAnyOk : { notSpecified: number; f: (x: number) => number; } +>f : (x: number) => number +>12 : number + +let c = new C(); +>c : C +>new C() : C +>C : typeof C + +let d = new D(); +>d : D +>new D() : D +>D : typeof D + +let ripped = c.explicitC; +>ripped : (this: C, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number + +c.explicitC(12); +>c.explicitC(12) : number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>12 : number + +c.explicitProperty(12); +>c.explicitProperty(12) : number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>12 : number + +c.explicitThis(12); +>c.explicitThis(12) : number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>12 : number + +c.implicitThis(12); +>c.implicitThis(12) : number +>c.implicitThis : (this: C, m: number) => number +>c : C +>implicitThis : (this: C, m: number) => number +>12 : number + +d.explicitC(12); +>d.explicitC(12) : number +>d.explicitC : (this: C, m: number) => number +>d : D +>explicitC : (this: C, m: number) => number +>12 : number + +d.explicitProperty(12); +>d.explicitProperty(12) : number +>d.explicitProperty : (this: { n: number; }, m: number) => number +>d : D +>explicitProperty : (this: { n: number; }, m: number) => number +>12 : number + +d.explicitThis(12); +>d.explicitThis(12) : number +>d.explicitThis : (this: D, m: number) => number +>d : D +>explicitThis : (this: D, m: number) => number +>12 : number + +d.implicitThis(12); +>d.implicitThis(12) : number +>d.implicitThis : (this: D, m: number) => number +>d : D +>implicitThis : (this: D, m: number) => number +>12 : number + +let reconstructed: { +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } + + n: number, +>n : number + + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. +>explicitThis : (this: C, m: number) => number +>this : C +>C : C +>m : number + + implicitThis(m: number): number, +>implicitThis : (m: number) => number +>m : number + + explicitC(this: C, m: number): number, +>explicitC : (this: C, m: number) => number +>this : C +>C : C +>m : number + + explicitProperty: (this: {n : number}, m: number) => number, +>explicitProperty : (this: { n: number; }, m: number) => number +>this : { n: number; } +>n : number +>m : number + + explicitVoid(this: void, m: number): number, +>explicitVoid : (m: number) => number +>this : void +>m : number + +} = { +>{ n: 12, explicitThis: c.explicitThis, implicitThis: c.implicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; implicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (m: number) => number; } + + n: 12, +>n : number +>12 : number + + explicitThis: c.explicitThis, +>explicitThis : (this: C, m: number) => number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number + + implicitThis: c.implicitThis, +>implicitThis : (this: C, m: number) => number +>c.implicitThis : (this: C, m: number) => number +>c : C +>implicitThis : (this: C, m: number) => number + + explicitC: c.explicitC, +>explicitC : (this: C, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number + + explicitProperty: c.explicitProperty, +>explicitProperty : (this: { n: number; }, m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number + + explicitVoid: c.explicitVoid +>explicitVoid : (m: number) => number +>c.explicitVoid : (m: number) => number +>c : C +>explicitVoid : (m: number) => number + +}; +reconstructed.explicitProperty(11); +>reconstructed.explicitProperty(11) : number +>reconstructed.explicitProperty : (this: { n: number; }, m: number) => number +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>explicitProperty : (this: { n: number; }, m: number) => number +>11 : number + +reconstructed.implicitThis(11); +>reconstructed.implicitThis(11) : number +>reconstructed.implicitThis : (m: number) => number +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>implicitThis : (m: number) => number +>11 : number + +// assignment checking +let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any +>unboundToSpecified : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>x => x + this.y : (x: number) => any +>x : number +>x + this.y : any +>x : number +>this.y : any +>this : any +>y : any + +let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStructural; +>specifiedToSpecified : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>explicitStructural : (this: { y: number; }, x: number) => number + +let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; +>anyToSpecified : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>function(x: number): number { return x + 12; } : (this: { y: number; }, x: number) => number +>x : number +>x + 12 : number +>x : number +>12 : number + +let unspecifiedLambda: (x: number) => number = x => x + 12; +>unspecifiedLambda : (x: number) => number +>x : number +>x => x + 12 : (x: number) => number +>x : number +>x + 12 : number +>x : number +>12 : number + +let specifiedLambda: (this: void, x: number) => number = x => x + 12; +>specifiedLambda : (x: number) => number +>this : void +>x : number +>x => x + 12 : (x: number) => number +>x : number +>x + 12 : number +>x : number +>12 : number + +let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; +>unspecifiedLambdaToSpecified : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>unspecifiedLambda : (x: number) => number + +let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; +>specifiedLambdaToSpecified : (this: { y: number; }, x: number) => number +>this : { y: number; } +>y : number +>x : number +>specifiedLambda : (x: number) => number + + +let explicitCFunction: (this: C, m: number) => number; +>explicitCFunction : (this: C, m: number) => number +>this : C +>C : C +>m : number + +let explicitPropertyFunction: (this: {n: number}, m: number) => number; +>explicitPropertyFunction : (this: { n: number; }, m: number) => number +>this : { n: number; } +>n : number +>m : number + +c.explicitC = explicitCFunction; +>c.explicitC = explicitCFunction : (this: C, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>explicitCFunction : (this: C, m: number) => number + +c.explicitC = function(this: C, m: number) { return this.n + m }; +>c.explicitC = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number +>this : C +>C : C +>m : number +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + +c.explicitProperty = explicitPropertyFunction; +>c.explicitProperty = explicitPropertyFunction : (this: { n: number; }, m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>explicitPropertyFunction : (this: { n: number; }, m: number) => number + +c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; +>c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +>this : { n: number; } +>n : number +>m : number +>this.n + m : number +>this.n : number +>this : { n: number; } +>n : number +>m : number + +c.explicitProperty = reconstructed.explicitProperty; +>c.explicitProperty = reconstructed.explicitProperty : (this: { n: number; }, m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>reconstructed.explicitProperty : (this: { n: number; }, m: number) => number +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>explicitProperty : (this: { n: number; }, m: number) => number + +// lambdas are assignable to anything +c.explicitC = m => m; +>c.explicitC = m => m : (m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>m => m : (m: number) => number +>m : number +>m : number + +c.explicitThis = m => m; +>c.explicitThis = m => m : (m: number) => number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>m => m : (m: number) => number +>m : number +>m : number + +c.explicitProperty = m => m; +>c.explicitProperty = m => m : (m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>m => m : (m: number) => number +>m : number +>m : number + +// this inside lambdas refer to outer scope +// the outer-scoped lambda at top-level is still just `any` +c.explicitC = m => m + this.n; +>c.explicitC = m => m + this.n : (m: number) => any +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>m => m + this.n : (m: number) => any +>m : number +>m + this.n : any +>m : number +>this.n : any +>this : any +>n : any + +c.explicitThis = m => m + this.n; +>c.explicitThis = m => m + this.n : (m: number) => any +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>m => m + this.n : (m: number) => any +>m : number +>m + this.n : any +>m : number +>this.n : any +>this : any +>n : any + +c.explicitProperty = m => m + this.n; +>c.explicitProperty = m => m + this.n : (m: number) => any +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>m => m + this.n : (m: number) => any +>m : number +>m + this.n : any +>m : number +>this.n : any +>this : any +>n : any + +//NOTE: this=C here, I guess? +c.explicitThis = explicitCFunction; +>c.explicitThis = explicitCFunction : (this: C, m: number) => number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>explicitCFunction : (this: C, m: number) => number + +c.explicitThis = function(this: C, m: number) { return this.n + m }; +>c.explicitThis = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number +>this : C +>C : C +>m : number +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + +// this:any compatibility +c.explicitC = function(m: number) { return this.n + m }; +>c.explicitC = function(m: number) { return this.n + m } : (this: C, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>function(m: number) { return this.n + m } : (this: C, m: number) => number +>m : number +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + +c.explicitProperty = function(m: number) { return this.n + m }; +>c.explicitProperty = function(m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +>c.explicitProperty : (this: { n: number; }, m: number) => number +>c : C +>explicitProperty : (this: { n: number; }, m: number) => number +>function(m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +>m : number +>this.n + m : number +>this.n : number +>this : { n: number; } +>n : number +>m : number + +c.explicitThis = function(m: number) { return this.n + m }; +>c.explicitThis = function(m: number) { return this.n + m } : (this: C, m: number) => number +>c.explicitThis : (this: C, m: number) => number +>c : C +>explicitThis : (this: C, m: number) => number +>function(m: number) { return this.n + m } : (this: C, m: number) => number +>m : number +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + +c.implicitThis = function(m: number) { return this.n + m }; +>c.implicitThis = function(m: number) { return this.n + m } : (this: C, m: number) => number +>c.implicitThis : (this: C, m: number) => number +>c : C +>implicitThis : (this: C, m: number) => number +>function(m: number) { return this.n + m } : (this: C, m: number) => number +>m : number +>this.n + m : number +>this.n : number +>this : C +>n : number +>m : number + +c.implicitThis = reconstructed.implicitThis; +>c.implicitThis = reconstructed.implicitThis : (m: number) => number +>c.implicitThis : (this: C, m: number) => number +>c : C +>implicitThis : (this: C, m: number) => number +>reconstructed.implicitThis : (m: number) => number +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>implicitThis : (m: number) => number + +c.explicitC = function(this: B, m: number) { return this.n + m }; +>c.explicitC = function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number +>c.explicitC : (this: C, m: number) => number +>c : C +>explicitC : (this: C, m: number) => number +>function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number +>this : B +>B : B +>m : number +>this.n + m : number +>this.n : number +>this : B +>n : number +>m : number + +// this:void compatibility +c.explicitVoid = n => n; +>c.explicitVoid = n => n : (n: number) => number +>c.explicitVoid : (m: number) => number +>c : C +>explicitVoid : (m: number) => number +>n => n : (n: number) => number +>n : number +>n : number + +// class-based assignability +class Base1 { +>Base1 : Base1 + + x: number; +>x : number + + public implicit(): number { return this.x; } +>implicit : (this: this) => number +>this.x : number +>this : this +>x : number + + explicit(this: Base1): number { return this.x; } +>explicit : (this: Base1) => number +>this : Base1 +>Base1 : Base1 +>this.x : number +>this : Base1 +>x : number + + static implicitStatic(): number { return this.y; } +>implicitStatic : (this: typeof Base1) => number +>this.y : number +>this : typeof Base1 +>y : number + + static explicitStatic(this: typeof Base1): number { return this.y; } +>explicitStatic : (this: typeof Base1) => number +>this : typeof Base1 +>Base1 : typeof Base1 +>this.y : number +>this : typeof Base1 +>y : number + + static y: number; +>y : number + +} +class Derived1 extends Base1 { +>Derived1 : Derived1 +>Base1 : Base1 + + y: number +>y : number +} +class Base2 { +>Base2 : Base2 + + y: number +>y : number + + implicit(): number { return this.y; } +>implicit : (this: this) => number +>this.y : number +>this : this +>y : number + + explicit(this: Base1): number { return this.x; } +>explicit : (this: Base1) => number +>this : Base1 +>Base1 : Base1 +>this.x : number +>this : Base1 +>x : number +} +class Derived2 extends Base2 { +>Derived2 : Derived2 +>Base2 : Base2 + + x: number +>x : number +} +let b1 = new Base1(); +>b1 : Base1 +>new Base1() : Base1 +>Base1 : typeof Base1 + +let b2 = new Base2(); +>b2 : Base2 +>new Base2() : Base2 +>Base2 : typeof Base2 + +let d1 = new Derived1(); +>d1 : Derived1 +>new Derived1() : Derived1 +>Derived1 : typeof Derived1 + +let d2 = new Derived2(); +>d2 : Derived2 +>new Derived2() : Derived2 +>Derived2 : typeof Derived2 + +d2.implicit = d1.implicit // ok, 'x' and 'y' in { x, y } (d assignable to f and vice versa) +>d2.implicit = d1.implicit : (this: Derived1) => number +>d2.implicit : (this: Derived2) => number +>d2 : Derived2 +>implicit : (this: Derived2) => number +>d1.implicit : (this: Derived1) => number +>d1 : Derived1 +>implicit : (this: Derived1) => number + +d1.implicit = d2.implicit // ok, 'x' and 'y' in { x, y } (f assignable to d and vice versa) +>d1.implicit = d2.implicit : (this: Derived2) => number +>d1.implicit : (this: Derived1) => number +>d1 : Derived1 +>implicit : (this: Derived1) => number +>d2.implicit : (this: Derived2) => number +>d2 : Derived2 +>implicit : (this: Derived2) => number + +// bivariance-allowed cases +d1.implicit = b2.implicit // ok, 'y' in D: { x, y } (d assignable e) +>d1.implicit = b2.implicit : (this: Base2) => number +>d1.implicit : (this: Derived1) => number +>d1 : Derived1 +>implicit : (this: Derived1) => number +>b2.implicit : (this: Base2) => number +>b2 : Base2 +>implicit : (this: Base2) => number + +d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) +>d2.implicit = d1.explicit : (this: Base1) => number +>d2.implicit : (this: Derived2) => number +>d2 : Derived2 +>implicit : (this: Derived2) => number +>d1.explicit : (this: Base1) => number +>d1 : Derived1 +>explicit : (this: Base1) => number + +b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +>b1.implicit = d2.implicit : (this: Derived2) => number +>b1.implicit : (this: Base1) => number +>b1 : Base1 +>implicit : (this: Base1) => number +>d2.implicit : (this: Derived2) => number +>d2 : Derived2 +>implicit : (this: Derived2) => number + +b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +>b1.explicit = d2.implicit : (this: Derived2) => number +>b1.explicit : (this: Base1) => number +>b1 : Base1 +>explicit : (this: Base1) => number +>d2.implicit : (this: Derived2) => number +>d2 : Derived2 +>implicit : (this: Derived2) => number + +////// use this-type for construction with new //// +function InterfaceThis(this: I) { +>InterfaceThis : (this: I) => void +>this : I +>I : I + + this.a = 12; +>this.a = 12 : number +>this.a : number +>this : I +>a : number +>12 : number +} +function LiteralTypeThis(this: {x: string}) { +>LiteralTypeThis : (this: { x: string; }) => void +>this : { x: string; } +>x : string + + this.x = "ok"; +>this.x = "ok" : string +>this.x : string +>this : { x: string; } +>x : string +>"ok" : string +} +function AnyThis(this: any) { +>AnyThis : () => void +>this : any + + this.x = "ok"; +>this.x = "ok" : string +>this.x : any +>this : any +>x : any +>"ok" : string +} +let interfaceThis = new InterfaceThis(); +>interfaceThis : I +>new InterfaceThis() : I +>InterfaceThis : (this: I) => void + +let literalTypeThis = new LiteralTypeThis(); +>literalTypeThis : { x: string; } +>new LiteralTypeThis() : { x: string; } +>LiteralTypeThis : (this: { x: string; }) => void + +let anyThis = new AnyThis(); +>anyThis : any +>new AnyThis() : any +>AnyThis : () => void + +//// type parameter inference //// +declare var f: { +>f : { (x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } + + (this: void, x: number): number, +>this : void +>x : number + + call(this: (...argArray: any[]) => U, ...argArray: any[]): U; +>call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U +>U : U +>this : (...argArray: any[]) => U +>argArray : any[] +>U : U +>argArray : any[] +>U : U + +}; +let n: number = f.call(12); +>n : number +>f.call(12) : number +>f.call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U +>f : { (x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } +>call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U +>12 : number + +function missingTypeIsImplicitAny(this, a: number) { return a; } +>missingTypeIsImplicitAny : (a: number) => number +>this : any +>a : number +>a : number + diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt new file mode 100644 index 00000000000..49a4380977a --- /dev/null +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -0,0 +1,509 @@ +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(16,15): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(44,21): error TS2339: Property 'a' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(55,49): error TS2339: Property 'a' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(58,1): error TS2345: Argument of type 'void' is not assignable to parameter of type '{ a: number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(60,1): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(62,1): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(67,21): error TS2339: Property 'notFound' does not exist on type '{ y: number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(70,21): error TS2339: Property 'notSpecified' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(74,21): error TS2339: Property 'notSpecified' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(76,79): error TS2322: Type '{ y: number; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ y: number; f: (this: { y: number; }, x: number) => number; }'. + Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ y: number; f: (this: { y: number; }, x: number) => number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(77,97): error TS2322: Type '{ y: string; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ y: string; f: (this: { y: number; }, x: number) => number; }'. + Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ y: string; f: (this: { y: number; }, x: number) => number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(78,110): error TS2322: Type '{ wrongName: number; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. + Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(80,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(81,6): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(82,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(83,1): error TS2345: Argument of type '{ y: string; f: (this: { y: number; }, x: number) => number; }' is not assignable to parameter of type '{ y: number; }'. + Types of property 'y' are incompatible. + Type 'string' is not assignable to type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(84,1): error TS2345: Argument of type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }' is not assignable to parameter of type '{ y: number; }'. + Property 'y' is missing in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(87,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(88,13): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(89,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(90,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(91,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(92,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(93,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(94,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(95,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(96,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(97,20): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(98,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(101,5): error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(x: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'void' is not assignable to type '{ y: number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(124,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. + Property 'x' is missing in type 'C'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(125,1): error TS2322: Type '(this: { x: number; }, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type '{ n: number; }' is not assignable to type '{ x: number; }'. + Property 'x' is missing in type '{ n: number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(127,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(128,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(129,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(130,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(131,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(132,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'C' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(133,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type '{ n: number; }' is not assignable to type 'D'. + Property 'x' is missing in type '{ n: number; }'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(134,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type '{ n: number; }' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(135,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(136,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'void' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(137,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'void' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(138,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'void' is not assignable to type 'D'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(146,51): error TS2339: Property 'x' does not exist on type 'typeof Base1'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(147,69): error TS2339: Property 'x' does not exist on type 'typeof Base1'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(167,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'Base1' is not assignable to type 'Base2'. + Property 'y' is missing in type 'Base1'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(168,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'Base1' is not assignable to type 'Base2'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. + Types of parameters 'this' and 'this' are incompatible. + Type 'Base1' is not assignable to type 'Base2'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,30): error TS2332: 'this' cannot be referenced in current location. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,26): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,30): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,57): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,20): error TS2370: A rest parameter must be of an array type. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,23): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,27): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,54): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,23): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,24): error TS1138: Parameter declaration expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,51): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,28): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,32): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,59): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,30): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,32): error TS1138: Parameter declaration expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,39): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,40): error TS1128: Declaration or statement expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,42): error TS2304: Cannot find name 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,49): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,1): error TS7027: Unreachable code detected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,29): error TS2304: Cannot find name 'm'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,32): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): error TS2304: Cannot find name 'm'. + + +==== tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts (75 errors) ==== + class C { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitC(this: C, m: number): number { + return this.n + m; + } + explicitProperty(this: {n: number}, m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return this.n + m; // 'n' doesn't exist on type 'void'. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. + } + } + class D { + x: number; + explicitThis(this: this, m: number): number { + return this.x + m; + } + explicitD(this: D, m: number): number { + return this.x + m; + } + implicitD(m: number): number { + return this.x + m; + } + } + interface I { + a: number; + explicitVoid1(this: void): number; + explicitVoid2(this: void): number; + explicitStructural(this: {a: number}): number; + explicitInterface(this: I): number; + explicitThis(this: this): number; // TODO: Allow `this` types for interfaces + implicitMethod(): number; + implicitFunction: () => number; + } + let impl: I = { + a: 12, + explicitVoid1() { + return this.a; // error, no 'a' in 'void' + ~ +!!! error TS2339: Property 'a' does not exist on type 'void'. + }, + explicitVoid2: () => this.a, // ok, `this:any` because it refers to an outer object + explicitStructural: () => 12, + explicitInterface: () => 12, + explicitThis() { + return this.a; + }, + implicitMethod() { + return this.a; // ok, I.a: number + }, + implicitFunction: function () { return this.a; } // TODO: error 'a' not found in 'void' + ~ +!!! error TS2339: Property 'a' does not exist on type 'void'. + } + let implExplicitStructural = impl.explicitStructural; + implExplicitStructural(); // error, no 'a' in 'void' + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'void' is not assignable to parameter of type '{ a: number; }'. + let implExplicitInterface = impl.explicitInterface; + implExplicitInterface(); // error, no 'a' in 'void' + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. + let implImplicitMethod = impl.implicitMethod; + implImplicitMethod(); // error, no 'a' in 'void' + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. + function explicitStructural(this: { y: number }, x: number): number { + return x + this.y; + } + function propertyName(this: { y: number }, x: number): number { + return x + this.notFound; + ~~~~~~~~ +!!! error TS2339: Property 'notFound' does not exist on type '{ y: number; }'. + } + function voidThisSpecified(this: void, x: number): number { + return x + this.notSpecified; + ~~~~~~~~~~~~ +!!! error TS2339: Property 'notSpecified' does not exist on type 'void'. + } + function noThisSpecified(x: number): number { + // this:void unless loose-this is on + return x + this.notSpecified; + ~~~~~~~~~~~~ +!!! error TS2339: Property 'notSpecified' does not exist on type 'void'. + } + let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, explicitStructural }; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '{ y: number; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ y: number; f: (this: { y: number; }, x: number) => number; }'. +!!! error TS2322: Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ y: number; f: (this: { y: number; }, x: number) => number; }'. + let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '{ y: string; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ y: string; f: (this: { y: number; }, x: number) => number; }'. +!!! error TS2322: Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ y: string; f: (this: { y: number; }, x: number) => number; }'. + let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '{ wrongName: number; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. +!!! error TS2322: Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. + + ok.f(); // not enough arguments + ~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + ok.f('wrong type'); + ~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + ok.f(13, 'too many arguments'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + wrongPropertyType.f(13); + ~~~~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type '{ y: string; f: (this: { y: number; }, x: number) => number; }' is not assignable to parameter of type '{ y: number; }'. +!!! error TS2345: Types of property 'y' are incompatible. +!!! error TS2345: Type 'string' is not assignable to type 'number'. + wrongPropertyName.f(13); + ~~~~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }' is not assignable to parameter of type '{ y: number; }'. +!!! error TS2345: Property 'y' is missing in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. + + let c = new C(); + c.explicitC(); // not enough arguments + ~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.explicitC('wrong type'); + ~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + c.explicitC(13, 'too many arguments'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.explicitThis(); // not enough arguments + ~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.explicitThis('wrong type 2'); + ~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + c.explicitThis(14, 'too many arguments 2'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.implicitThis(); // not enough arguments + ~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.implicitThis('wrong type 2'); + ~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + c.implicitThis(14, 'too many arguments 2'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.explicitProperty(); // not enough arguments + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + c.explicitProperty('wrong type 3'); + ~~~~~~~~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + c.explicitProperty(15, 'too many arguments 3'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + + // oops, this triggers contextual typing, which needs to be updated to understand that =>'s `this` is void. + let specifiedToImplicitVoid: (x: number) => number = explicitStructural; + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(x: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'void' is not assignable to type '{ y: number; }'. + + let reconstructed: { + n: number, + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. + implicitThis(m: number): number, + explicitC(this: C, m: number): number, + explicitProperty: (this: {n : number}, m: number) => number, + explicitVoid(this: void, m: number): number, + } = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, // error not assignable -- c.this:c not assignable to this:void. + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid + };; + + // lambdas have this: void for assignability purposes (and this unbound (free) for body checking) + let d = new D(); + let explicitXProperty: (this: { x: number }, m: number) => number; + + // from differing object types + c.explicitC = function(this: D, m: number) { return this.x + m }; + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Property 'x' is missing in type 'C'. + c.explicitProperty = explicitXProperty; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: { x: number; }, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type '{ n: number; }' is not assignable to type '{ x: number; }'. +!!! error TS2322: Property 'x' is missing in type '{ n: number; }'. + + c.explicitC = d.implicitD; + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitC = d.explicitD; + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitC = d.explicitThis; + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitThis = d.implicitD; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitThis = d.explicitD; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitThis = d.explicitThis; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'C' is not assignable to type 'D'. + c.explicitProperty = d.explicitD; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type '{ n: number; }' is not assignable to type 'D'. +!!! error TS2322: Property 'x' is missing in type '{ n: number; }'. + c.explicitProperty = d.implicitD; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type '{ n: number; }' is not assignable to type 'D'. + c.explicitThis = d.explicitThis; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + c.explicitVoid = d.implicitD; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'void' is not assignable to type 'D'. + c.explicitVoid = d.explicitD; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'void' is not assignable to type 'D'. + c.explicitVoid = d.explicitThis; + ~~~~~~~~~~~~~~ +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'void' is not assignable to type 'D'. + + /// class-based implicit assignability (with inheritance!) /// + + class Base1 { + x: number + public implicit(): number { return this.x; } + explicit(this: Base1): number { return this.x; } + static implicitStatic(): number { return this.x; } + ~ +!!! error TS2339: Property 'x' does not exist on type 'typeof Base1'. + static explicitStatic(this: typeof Base1): number { return this.x; } + ~ +!!! error TS2339: Property 'x' does not exist on type 'typeof Base1'. + } + class Derived1 extends Base1 { + y: number + } + class Base2 { + y: number + implicit(): number { return this.y; } + explicit(this: Base1): number { return this.x; } + } + class Derived2 extends Base2 { + x: number + } + + + let b1 = new Base1(); + let d1 = new Derived1(); + let b2 = new Base2(); + let d2 = new Derived2(); + + b1.implicit = b2.implicit // error, 'this.y' not in C: { x } (c assignable to e) + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'Base1' is not assignable to type 'Base2'. +!!! error TS2322: Property 'y' is missing in type 'Base1'. + b1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'Base1' is not assignable to type 'Base2'. + + d1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + ~~~~~~~~~~~ +!!! error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. +!!! error TS2322: Types of parameters 'this' and 'this' are incompatible. +!!! error TS2322: Type 'Base1' is not assignable to type 'Base2'. + + ////// use this-type for construction with new //// + function VoidThis(this: void) { + + } + function ImplicitVoidThis() { + + } + let voidThis = new VoidThis(); + ~~~~~~~~~~~~~~ +!!! error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. + let implicitVoidThis = new ImplicitVoidThis(); + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. + + + ///// parse errors ///// + function notFirst(a: number, this: C): number { return this.n; } + ~~~~~~~ +!!! error TS2332: 'this' cannot be referenced in current location. + function modifiers(async this: C): number { return this.n; } + ~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. + function restParam(...this: C): number { return this.n; } + ~~~~~~~ +!!! error TS2370: A rest parameter must be of an array type. + ~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. + function optional(this?: C): number { return this.n; } + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. + function decorated(@deco() this: C): number { return this.n; } + ~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. + function initializer(this: C = new C()): number { return this.n; } + ~ +!!! error TS1005: ',' expected. + ~~~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS1005: ';' expected. + ~ +!!! error TS1128: Declaration or statement expected. + ~~~~~~ +!!! error TS2304: Cannot find name 'number'. + ~ +!!! error TS1005: ';' 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'. + ~~ +!!! error TS1005: ';' expected. + ~ +!!! error TS2304: Cannot find name 'm'. + \ No newline at end of file diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.js b/tests/baselines/reference/thisTypeInFunctionsNegative.js new file mode 100644 index 00000000000..43d83daef0d --- /dev/null +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.js @@ -0,0 +1,386 @@ +//// [thisTypeInFunctionsNegative.ts] +class C { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitC(this: C, m: number): number { + return this.n + m; + } + explicitProperty(this: {n: number}, m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return this.n + m; // 'n' doesn't exist on type 'void'. + } +} +class D { + x: number; + explicitThis(this: this, m: number): number { + return this.x + m; + } + explicitD(this: D, m: number): number { + return this.x + m; + } + implicitD(m: number): number { + return this.x + m; + } +} +interface I { + a: number; + explicitVoid1(this: void): number; + explicitVoid2(this: void): number; + explicitStructural(this: {a: number}): number; + explicitInterface(this: I): number; + explicitThis(this: this): number; // TODO: Allow `this` types for interfaces + implicitMethod(): number; + implicitFunction: () => number; +} +let impl: I = { + a: 12, + explicitVoid1() { + return this.a; // error, no 'a' in 'void' + }, + explicitVoid2: () => this.a, // ok, `this:any` because it refers to an outer object + explicitStructural: () => 12, + explicitInterface: () => 12, + explicitThis() { + return this.a; + }, + implicitMethod() { + return this.a; // ok, I.a: number + }, + implicitFunction: function () { return this.a; } // TODO: error 'a' not found in 'void' +} +let implExplicitStructural = impl.explicitStructural; +implExplicitStructural(); // error, no 'a' in 'void' +let implExplicitInterface = impl.explicitInterface; +implExplicitInterface(); // error, no 'a' in 'void' +let implImplicitMethod = impl.implicitMethod; +implImplicitMethod(); // error, no 'a' in 'void' +function explicitStructural(this: { y: number }, x: number): number { + return x + this.y; +} +function propertyName(this: { y: number }, x: number): number { + return x + this.notFound; +} +function voidThisSpecified(this: void, x: number): number { + return x + this.notSpecified; +} +function noThisSpecified(x: number): number { + // this:void unless loose-this is on + return x + this.notSpecified; +} +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, explicitStructural }; +let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; +let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; + +ok.f(); // not enough arguments +ok.f('wrong type'); +ok.f(13, 'too many arguments'); +wrongPropertyType.f(13); +wrongPropertyName.f(13); + +let c = new C(); +c.explicitC(); // not enough arguments +c.explicitC('wrong type'); +c.explicitC(13, 'too many arguments'); +c.explicitThis(); // not enough arguments +c.explicitThis('wrong type 2'); +c.explicitThis(14, 'too many arguments 2'); +c.implicitThis(); // not enough arguments +c.implicitThis('wrong type 2'); +c.implicitThis(14, 'too many arguments 2'); +c.explicitProperty(); // not enough arguments +c.explicitProperty('wrong type 3'); +c.explicitProperty(15, 'too many arguments 3'); + +// oops, this triggers contextual typing, which needs to be updated to understand that =>'s `this` is void. +let specifiedToImplicitVoid: (x: number) => number = explicitStructural; + +let reconstructed: { + n: number, + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. + implicitThis(m: number): number, + explicitC(this: C, m: number): number, + explicitProperty: (this: {n : number}, m: number) => number, + explicitVoid(this: void, m: number): number, +} = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, // error not assignable -- c.this:c not assignable to this:void. + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +};; + +// lambdas have this: void for assignability purposes (and this unbound (free) for body checking) +let d = new D(); +let explicitXProperty: (this: { x: number }, m: number) => number; + +// from differing object types +c.explicitC = function(this: D, m: number) { return this.x + m }; +c.explicitProperty = explicitXProperty; + +c.explicitC = d.implicitD; +c.explicitC = d.explicitD; +c.explicitC = d.explicitThis; +c.explicitThis = d.implicitD; +c.explicitThis = d.explicitD; +c.explicitThis = d.explicitThis; +c.explicitProperty = d.explicitD; +c.explicitProperty = d.implicitD; +c.explicitThis = d.explicitThis; +c.explicitVoid = d.implicitD; +c.explicitVoid = d.explicitD; +c.explicitVoid = d.explicitThis; + +/// class-based implicit assignability (with inheritance!) /// + +class Base1 { + x: number + public implicit(): number { return this.x; } + explicit(this: Base1): number { return this.x; } + static implicitStatic(): number { return this.x; } + static explicitStatic(this: typeof Base1): number { return this.x; } +} +class Derived1 extends Base1 { + y: number +} +class Base2 { + y: number + implicit(): number { return this.y; } + explicit(this: Base1): number { return this.x; } +} +class Derived2 extends Base2 { + x: number +} + + +let b1 = new Base1(); +let d1 = new Derived1(); +let b2 = new Base2(); +let d2 = new Derived2(); + +b1.implicit = b2.implicit // error, 'this.y' not in C: { x } (c assignable to e) +b1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + +d1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + +////// use this-type for construction with new //// +function VoidThis(this: void) { + +} +function ImplicitVoidThis() { + +} +let voidThis = new VoidThis(); +let implicitVoidThis = new ImplicitVoidThis(); + + +///// parse errors ///// +function notFirst(a: number, this: C): number { return this.n; } +function modifiers(async this: C): number { return this.n; } +function restParam(...this: C): number { return this.n; } +function optional(this?: C): number { return this.n; } +function decorated(@deco() this: C): number { return this.n; } +function initializer(this: C = new C()): number { return this.n; } + +// can't name parameters 'this' in a lambda. +c.explicitProperty = (this, m) => m + this.n; + + +//// [thisTypeInFunctionsNegative.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var _this = this; +var C = (function () { + function C() { + } + C.prototype.explicitThis = function (m) { + return this.n + m; + }; + C.prototype.implicitThis = function (m) { + return this.n + m; + }; + C.prototype.explicitC = function (m) { + return this.n + m; + }; + C.prototype.explicitProperty = function (m) { + return this.n + m; + }; + C.prototype.explicitVoid = function (m) { + return this.n + m; // 'n' doesn't exist on type 'void'. + }; + return C; +}()); +var D = (function () { + function D() { + } + D.prototype.explicitThis = function (m) { + return this.x + m; + }; + D.prototype.explicitD = function (m) { + return this.x + m; + }; + D.prototype.implicitD = function (m) { + return this.x + m; + }; + return D; +}()); +var impl = { + a: 12, + explicitVoid1: function () { + return this.a; // error, no 'a' in 'void' + }, + explicitVoid2: function () { return _this.a; }, + explicitStructural: function () { return 12; }, + explicitInterface: function () { return 12; }, + explicitThis: function () { + return this.a; + }, + implicitMethod: function () { + return this.a; // ok, I.a: number + }, + implicitFunction: function () { return this.a; } // TODO: error 'a' not found in 'void' +}; +var implExplicitStructural = impl.explicitStructural; +implExplicitStructural(); // error, no 'a' in 'void' +var implExplicitInterface = impl.explicitInterface; +implExplicitInterface(); // error, no 'a' in 'void' +var implImplicitMethod = impl.implicitMethod; +implImplicitMethod(); // error, no 'a' in 'void' +function explicitStructural(x) { + return x + this.y; +} +function propertyName(x) { + return x + this.notFound; +} +function voidThisSpecified(x) { + return x + this.notSpecified; +} +function noThisSpecified(x) { + // this:void unless loose-this is on + return x + this.notSpecified; +} +var ok = { y: 12, explicitStructural: explicitStructural }; +var wrongPropertyType = { y: 'foo', explicitStructural: explicitStructural }; +var wrongPropertyName = { wrongName: 12, explicitStructural: explicitStructural }; +ok.f(); // not enough arguments +ok.f('wrong type'); +ok.f(13, 'too many arguments'); +wrongPropertyType.f(13); +wrongPropertyName.f(13); +var c = new C(); +c.explicitC(); // not enough arguments +c.explicitC('wrong type'); +c.explicitC(13, 'too many arguments'); +c.explicitThis(); // not enough arguments +c.explicitThis('wrong type 2'); +c.explicitThis(14, 'too many arguments 2'); +c.implicitThis(); // not enough arguments +c.implicitThis('wrong type 2'); +c.implicitThis(14, 'too many arguments 2'); +c.explicitProperty(); // not enough arguments +c.explicitProperty('wrong type 3'); +c.explicitProperty(15, 'too many arguments 3'); +// oops, this triggers contextual typing, which needs to be updated to understand that =>'s `this` is void. +var specifiedToImplicitVoid = explicitStructural; +var reconstructed = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +}; +; +// lambdas have this: void for assignability purposes (and this unbound (free) for body checking) +var d = new D(); +var explicitXProperty; +// from differing object types +c.explicitC = function (m) { return this.x + m; }; +c.explicitProperty = explicitXProperty; +c.explicitC = d.implicitD; +c.explicitC = d.explicitD; +c.explicitC = d.explicitThis; +c.explicitThis = d.implicitD; +c.explicitThis = d.explicitD; +c.explicitThis = d.explicitThis; +c.explicitProperty = d.explicitD; +c.explicitProperty = d.implicitD; +c.explicitThis = d.explicitThis; +c.explicitVoid = d.implicitD; +c.explicitVoid = d.explicitD; +c.explicitVoid = d.explicitThis; +/// class-based implicit assignability (with inheritance!) /// +var Base1 = (function () { + function Base1() { + } + Base1.prototype.implicit = function () { return this.x; }; + Base1.prototype.explicit = function () { return this.x; }; + Base1.implicitStatic = function () { return this.x; }; + Base1.explicitStatic = function () { return this.x; }; + return Base1; +}()); +var Derived1 = (function (_super) { + __extends(Derived1, _super); + function Derived1() { + _super.apply(this, arguments); + } + return Derived1; +}(Base1)); +var Base2 = (function () { + function Base2() { + } + Base2.prototype.implicit = function () { return this.y; }; + Base2.prototype.explicit = function () { return this.x; }; + return Base2; +}()); +var Derived2 = (function (_super) { + __extends(Derived2, _super); + function Derived2() { + _super.apply(this, arguments); + } + return Derived2; +}(Base2)); +var b1 = new Base1(); +var d1 = new Derived1(); +var b2 = new Base2(); +var d2 = new Derived2(); +b1.implicit = b2.implicit; // error, 'this.y' not in C: { x } (c assignable to e) +b1.explicit = b2.implicit; // error, 'y' not in C: { x } (c assignable to e) +d1.explicit = b2.implicit; // error, 'y' not in C: { x } (c assignable to e) +////// use this-type for construction with new //// +function VoidThis() { +} +function ImplicitVoidThis() { +} +var voidThis = new VoidThis(); +var implicitVoidThis = new ImplicitVoidThis(); +///// parse errors ///// +function notFirst(a, this) { return this.n; } +function modifiers(, C) { + if ( === void 0) { = this; } + return this.n; +} +function restParam(, C) { return this.n; } +function optional(C) { return this.n; } +function decorated(, C) { + if ( === void 0) { = this; } + return this.n; +} +new C(); +number; +{ + return this.n; +} +// can't name parameters 'this' in a lambda. +c.explicitProperty = (this, m); +m + this.n; diff --git a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts new file mode 100644 index 00000000000..34d1ebd4a8e --- /dev/null +++ b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts @@ -0,0 +1,34 @@ +interface I { + explicitThis(this: this, m: number): number; +} +interface Unused { + implicitNoThis(m: number): number; +} +class C implements I { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return m + 1; + } +} +let c = new C(); +c.explicitVoid = c.explicitThis; // error, 'void' is missing everything +let o = { + explicitThis: function (m) { return m }, + implicitThis(m: number): number { return m } +}; +let i: I = o; +let x = i.explicitThis; +let n = x(12); // callee:void doesn't match this:I +let u: Unused; +let y = u.implicitNoThis; +n = y(12); // ok, callee:void matches this:any +c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) +o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) +o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) +o.implicitThis = i.explicitThis; diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts new file mode 100644 index 00000000000..623c880d339 --- /dev/null +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -0,0 +1,209 @@ +// @strictThis: true +// body checking +class C { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitC(this: C, m: number): number { + return this.n + m; + } + explicitProperty(this: {n: number}, m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return m + 1; + } +} +class D extends C { } +class B { + n: number; +} +interface I { + a: number; + explicitVoid1(this: void): number; + explicitVoid2(this: void): number; + explicitStructural(this: {a: number}): number; + explicitInterface(this: I): number; + explicitThis(this: this): number; + implicitMethod(): number; + implicitFunction: () => number; +} +function explicitStructural(this: { y: number }, x: number): number { + return x + this.y; +} +function justThis(this: { y: number }): number { + return this.y; +} +function implicitThis(n: number): number { + return 12; +} +let impl: I = { + a: 12, + explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) + explicitVoid1() { return 12; }, + explicitStructural() { + return this.a; + }, + explicitInterface() { + return this.a; + }, + explicitThis() { + return this.a; + }, + implicitMethod() { + return this.a; + }, + implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?) +} +impl.explicitVoid1 = function () { return 12; }; +impl.explicitVoid2 = () => 12; +impl.explicitStructural = function() { return this.a; }; +impl.explicitInterface = function() { return this.a; }; +impl.explicitStructural = () => 12; +impl.explicitInterface = () => 12; +impl.explicitThis = function () { return this.a; }; +impl.implicitMethod = function () { return this.a; }; +impl.implicitMethod = () => 12; +impl.implicitFunction = () => this.a; // ok, this: any because it refers to some outer object (window?) +// parameter checking +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: explicitStructural }; +let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; +ok.f(13); +implicitThis(12); +implicitAnyOk.f(12); + +let c = new C(); +let d = new D(); +let ripped = c.explicitC; +c.explicitC(12); +c.explicitProperty(12); +c.explicitThis(12); +c.implicitThis(12); +d.explicitC(12); +d.explicitProperty(12); +d.explicitThis(12); +d.implicitThis(12); +let reconstructed: { + n: number, + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. + implicitThis(m: number): number, + explicitC(this: C, m: number): number, + explicitProperty: (this: {n : number}, m: number) => number, + explicitVoid(this: void, m: number): number, +} = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +}; +reconstructed.explicitProperty(11); +reconstructed.implicitThis(11); + +// assignment checking +let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any +let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStructural; +let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; + +let unspecifiedLambda: (x: number) => number = x => x + 12; +let specifiedLambda: (this: void, x: number) => number = x => x + 12; +let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; +let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; + + +let explicitCFunction: (this: C, m: number) => number; +let explicitPropertyFunction: (this: {n: number}, m: number) => number; +c.explicitC = explicitCFunction; +c.explicitC = function(this: C, m: number) { return this.n + m }; +c.explicitProperty = explicitPropertyFunction; +c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; +c.explicitProperty = reconstructed.explicitProperty; + +// lambdas are assignable to anything +c.explicitC = m => m; +c.explicitThis = m => m; +c.explicitProperty = m => m; + +// this inside lambdas refer to outer scope +// the outer-scoped lambda at top-level is still just `any` +c.explicitC = m => m + this.n; +c.explicitThis = m => m + this.n; +c.explicitProperty = m => m + this.n; + +//NOTE: this=C here, I guess? +c.explicitThis = explicitCFunction; +c.explicitThis = function(this: C, m: number) { return this.n + m }; + +// this:any compatibility +c.explicitC = function(m: number) { return this.n + m }; +c.explicitProperty = function(m: number) { return this.n + m }; +c.explicitThis = function(m: number) { return this.n + m }; +c.implicitThis = function(m: number) { return this.n + m }; +c.implicitThis = reconstructed.implicitThis; + +c.explicitC = function(this: B, m: number) { return this.n + m }; + +// this:void compatibility +c.explicitVoid = n => n; + +// class-based assignability +class Base1 { + x: number; + public implicit(): number { return this.x; } + explicit(this: Base1): number { return this.x; } + static implicitStatic(): number { return this.y; } + static explicitStatic(this: typeof Base1): number { return this.y; } + static y: number; + +} +class Derived1 extends Base1 { + y: number +} +class Base2 { + y: number + implicit(): number { return this.y; } + explicit(this: Base1): number { return this.x; } +} +class Derived2 extends Base2 { + x: number +} +let b1 = new Base1(); +let b2 = new Base2(); +let d1 = new Derived1(); +let d2 = new Derived2(); +d2.implicit = d1.implicit // ok, 'x' and 'y' in { x, y } (d assignable to f and vice versa) +d1.implicit = d2.implicit // ok, 'x' and 'y' in { x, y } (f assignable to d and vice versa) + +// bivariance-allowed cases +d1.implicit = b2.implicit // ok, 'y' in D: { x, y } (d assignable e) +d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) +b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) + +////// use this-type for construction with new //// +function InterfaceThis(this: I) { + this.a = 12; +} +function LiteralTypeThis(this: {x: string}) { + this.x = "ok"; +} +function AnyThis(this: any) { + this.x = "ok"; +} +let interfaceThis = new InterfaceThis(); +let literalTypeThis = new LiteralTypeThis(); +let anyThis = new AnyThis(); + +//// type parameter inference //// +declare var f: { + (this: void, x: number): number, + call(this: (...argArray: any[]) => U, ...argArray: any[]): U; +}; +let n: number = f.call(12); + +function missingTypeIsImplicitAny(this, a: number) { return a; } \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts new file mode 100644 index 00000000000..3fba9ad8a73 --- /dev/null +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts @@ -0,0 +1,193 @@ +// @strictThis: true +class C { + n: number; + explicitThis(this: this, m: number): number { + return this.n + m; + } + implicitThis(m: number): number { + return this.n + m; + } + explicitC(this: C, m: number): number { + return this.n + m; + } + explicitProperty(this: {n: number}, m: number): number { + return this.n + m; + } + explicitVoid(this: void, m: number): number { + return this.n + m; // 'n' doesn't exist on type 'void'. + } +} +class D { + x: number; + explicitThis(this: this, m: number): number { + return this.x + m; + } + explicitD(this: D, m: number): number { + return this.x + m; + } + implicitD(m: number): number { + return this.x + m; + } +} +interface I { + a: number; + explicitVoid1(this: void): number; + explicitVoid2(this: void): number; + explicitStructural(this: {a: number}): number; + explicitInterface(this: I): number; + explicitThis(this: this): number; // TODO: Allow `this` types for interfaces + implicitMethod(): number; + implicitFunction: () => number; +} +let impl: I = { + a: 12, + explicitVoid1() { + return this.a; // error, no 'a' in 'void' + }, + explicitVoid2: () => this.a, // ok, `this:any` because it refers to an outer object + explicitStructural: () => 12, + explicitInterface: () => 12, + explicitThis() { + return this.a; + }, + implicitMethod() { + return this.a; // ok, I.a: number + }, + implicitFunction: function () { return this.a; } // TODO: error 'a' not found in 'void' +} +let implExplicitStructural = impl.explicitStructural; +implExplicitStructural(); // error, no 'a' in 'void' +let implExplicitInterface = impl.explicitInterface; +implExplicitInterface(); // error, no 'a' in 'void' +let implImplicitMethod = impl.implicitMethod; +implImplicitMethod(); // error, no 'a' in 'void' +function explicitStructural(this: { y: number }, x: number): number { + return x + this.y; +} +function propertyName(this: { y: number }, x: number): number { + return x + this.notFound; +} +function voidThisSpecified(this: void, x: number): number { + return x + this.notSpecified; +} +function noThisSpecified(x: number): number { + // this:void unless loose-this is on + return x + this.notSpecified; +} +let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, explicitStructural }; +let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; +let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; + +ok.f(); // not enough arguments +ok.f('wrong type'); +ok.f(13, 'too many arguments'); +wrongPropertyType.f(13); +wrongPropertyName.f(13); + +let c = new C(); +c.explicitC(); // not enough arguments +c.explicitC('wrong type'); +c.explicitC(13, 'too many arguments'); +c.explicitThis(); // not enough arguments +c.explicitThis('wrong type 2'); +c.explicitThis(14, 'too many arguments 2'); +c.implicitThis(); // not enough arguments +c.implicitThis('wrong type 2'); +c.implicitThis(14, 'too many arguments 2'); +c.explicitProperty(); // not enough arguments +c.explicitProperty('wrong type 3'); +c.explicitProperty(15, 'too many arguments 3'); + +// oops, this triggers contextual typing, which needs to be updated to understand that =>'s `this` is void. +let specifiedToImplicitVoid: (x: number) => number = explicitStructural; + +let reconstructed: { + n: number, + explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. + implicitThis(m: number): number, + explicitC(this: C, m: number): number, + explicitProperty: (this: {n : number}, m: number) => number, + explicitVoid(this: void, m: number): number, +} = { + n: 12, + explicitThis: c.explicitThis, + implicitThis: c.implicitThis, // error not assignable -- c.this:c not assignable to this:void. + explicitC: c.explicitC, + explicitProperty: c.explicitProperty, + explicitVoid: c.explicitVoid +};; + +// lambdas have this: void for assignability purposes (and this unbound (free) for body checking) +let d = new D(); +let explicitXProperty: (this: { x: number }, m: number) => number; + +// from differing object types +c.explicitC = function(this: D, m: number) { return this.x + m }; +c.explicitProperty = explicitXProperty; + +c.explicitC = d.implicitD; +c.explicitC = d.explicitD; +c.explicitC = d.explicitThis; +c.explicitThis = d.implicitD; +c.explicitThis = d.explicitD; +c.explicitThis = d.explicitThis; +c.explicitProperty = d.explicitD; +c.explicitProperty = d.implicitD; +c.explicitThis = d.explicitThis; +c.explicitVoid = d.implicitD; +c.explicitVoid = d.explicitD; +c.explicitVoid = d.explicitThis; + +/// class-based implicit assignability (with inheritance!) /// + +class Base1 { + x: number + public implicit(): number { return this.x; } + explicit(this: Base1): number { return this.x; } + static implicitStatic(): number { return this.x; } + static explicitStatic(this: typeof Base1): number { return this.x; } +} +class Derived1 extends Base1 { + y: number +} +class Base2 { + y: number + implicit(): number { return this.y; } + explicit(this: Base1): number { return this.x; } +} +class Derived2 extends Base2 { + x: number +} + + +let b1 = new Base1(); +let d1 = new Derived1(); +let b2 = new Base2(); +let d2 = new Derived2(); + +b1.implicit = b2.implicit // error, 'this.y' not in C: { x } (c assignable to e) +b1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + +d1.explicit = b2.implicit // error, 'y' not in C: { x } (c assignable to e) + +////// use this-type for construction with new //// +function VoidThis(this: void) { + +} +function ImplicitVoidThis() { + +} +let voidThis = new VoidThis(); +let implicitVoidThis = new ImplicitVoidThis(); + + +///// parse errors ///// +function notFirst(a: number, this: C): number { return this.n; } +function modifiers(async this: C): number { return this.n; } +function restParam(...this: C): number { return this.n; } +function optional(this?: C): number { return this.n; } +function decorated(@deco() this: C): number { return this.n; } +function initializer(this: C = new C()): number { return this.n; } + +// can't name parameters 'this' in a lambda. +c.explicitProperty = (this, m) => m + this.n; diff --git a/tests/cases/fourslash/memberListOnExplicitThis.ts b/tests/cases/fourslash/memberListOnExplicitThis.ts new file mode 100644 index 00000000000..cf57717183c --- /dev/null +++ b/tests/cases/fourslash/memberListOnExplicitThis.ts @@ -0,0 +1,30 @@ +// @strictThis: true +/// + +////interface Restricted { +//// n: number; +////} +////class C1 implements Restricted { +//// n: number; +//// m: number; +//// f() {this./*1*/} // test on 'this.' +//// g(this: Restricted) {this./*2*/} +////} +////function f() {this./*3*/} +////function g(this: Restricted) {this./*4*/} + +goTo.marker('1'); +verify.memberListContains('f', '(method) C1.f(this: this): void'); +verify.memberListContains('g', '(method) C1.g(this: Restricted): void'); +verify.memberListContains('n', '(property) C1.n: number'); +verify.memberListContains('m', '(property) C1.m: number'); + +goTo.marker('2'); +verify.memberListContains('n', '(property) Restricted.n: number'); + +goTo.marker('3'); +verify.memberListIsEmpty(); + +goTo.marker('4'); +verify.memberListContains('n', '(property) Restricted.n: number'); + From a4f1154377bc62320ddb73d2ac448f3bc0089768 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:51:35 -0800 Subject: [PATCH 030/342] Fix free function bug in cachingInServerLSHost --- tests/cases/unittests/cachingInServerLSHost.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/cases/unittests/cachingInServerLSHost.ts b/tests/cases/unittests/cachingInServerLSHost.ts index 59f97f434e6..6d7b3fdbc28 100644 --- a/tests/cases/unittests/cachingInServerLSHost.ts +++ b/tests/cases/unittests/cachingInServerLSHost.ts @@ -123,7 +123,7 @@ module ts { } fileExistsIsCalled = true; assert.isTrue(fileName.indexOf('/f2.') !== -1); - return originalFileExists(fileName); + return originalFileExists.call(serverHost, fileName); }; let newContent = `import {x} from "f2"`; rootScriptInfo.editContent(0, rootScriptInfo.content.length, newContent); @@ -147,7 +147,7 @@ module ts { } fileExistsCalled = true; assert.isTrue(fileName.indexOf('/f1.') !== -1); - return originalFileExists(fileName); + return originalFileExists.call(serverHost, fileName); }; let newContent = `import {x} from "f1"`; @@ -192,7 +192,7 @@ module ts { fileExistsCalledForBar = fileName.indexOf("/bar.") !== -1; } - return originalFileExists(fileName); + return originalFileExists.call(serverHost, fileName); }; let { project, rootScriptInfo } = createProject(root.name, serverHost); From d030889166b56fe3e4a2fb080711807245422c98 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 29 Jan 2016 14:52:47 -0800 Subject: [PATCH 031/342] Update baselines 1. Display of `this` changes for quick info. 2. The type of Function.call/apply/bind is more precise. --- .../assignmentToObjectAndFunction.errors.txt | 4 +- ...ArrowFunctionCapturesArguments_es6.symbols | 4 +- ...ncArrowFunctionCapturesArguments_es6.types | 12 +-- ...nctionsInFunctionParameterDefaults.symbols | 4 +- ...functionsInFunctionParameterDefaults.types | 4 +- .../baselines/reference/functionType.symbols | 4 +- tests/baselines/reference/functionType.types | 6 +- .../genericTypeParameterEquivalence2.symbols | 4 +- .../genericTypeParameterEquivalence2.types | 6 +- ...llSignatureAppearsToBeFunctionType.symbols | 8 +- ...CallSignatureAppearsToBeFunctionType.types | 8 +- .../returnTypeParameterWithModules.symbols | 4 +- .../returnTypeParameterWithModules.types | 4 +- tests/cases/fourslash/commentsClassMembers.ts | 2 +- .../fourslash/instanceTypesForGenericType1.ts | 2 +- tests/cases/fourslash/quickInfoOnThis.ts | 77 +++++++++++++++++-- tests/cases/fourslash/thisBindingInLambda.ts | 2 +- 17 files changed, 108 insertions(+), 47 deletions(-) diff --git a/tests/baselines/reference/assignmentToObjectAndFunction.errors.txt b/tests/baselines/reference/assignmentToObjectAndFunction.errors.txt index 2e85ee101f5..454ac41b5b8 100644 --- a/tests/baselines/reference/assignmentToObjectAndFunction.errors.txt +++ b/tests/baselines/reference/assignmentToObjectAndFunction.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/assignmentToObjectAndFunction.ts(8,5): error TS2322: Type ' Property 'apply' is missing in type '{}'. tests/cases/compiler/assignmentToObjectAndFunction.ts(29,5): error TS2322: Type 'typeof bad' is not assignable to type 'Function'. Types of property 'apply' are incompatible. - Type 'number' is not assignable to type '(thisArg: any, argArray?: any) => any'. + Type 'number' is not assignable to type '{ (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; }'. ==== tests/cases/compiler/assignmentToObjectAndFunction.ts (3 errors) ==== @@ -48,4 +48,4 @@ tests/cases/compiler/assignmentToObjectAndFunction.ts(29,5): error TS2322: Type ~~~~~~~~~~ !!! error TS2322: Type 'typeof bad' is not assignable to type 'Function'. !!! error TS2322: Types of property 'apply' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type '(thisArg: any, argArray?: any) => any'. \ No newline at end of file +!!! error TS2322: Type 'number' is not assignable to type '{ (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; }'. \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols index 2f516d7d758..bc061211b88 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols @@ -10,9 +10,9 @@ class C { var fn = async () => await other.apply(this, arguments); >fn : Symbol(fn, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 3, 9)) ->other.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>other.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >other : Symbol(other, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 1, 13)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >this : Symbol(C, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 0, 0)) >arguments : Symbol(arguments) } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types index 76853858c5c..18a08ffface 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types @@ -9,13 +9,13 @@ class C { >other : () => void var fn = async () => await other.apply(this, arguments); ->fn : () => Promise ->async () => await other.apply(this, arguments) : () => Promise ->await other.apply(this, arguments) : any ->other.apply(this, arguments) : any ->other.apply : (thisArg: any, argArray?: any) => any +>fn : () => Promise +>async () => await other.apply(this, arguments) : () => Promise +>await other.apply(this, arguments) : void +>other.apply(this, arguments) : void +>other.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >other : () => void ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >this : this >arguments : IArguments } diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols index ea0ed9a605c..b836bc88573 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols @@ -12,7 +12,7 @@ function fn(x = () => this, y = x()) { } fn.call(4); // Should be 4 ->fn.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>fn.call : Symbol(Function.call, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >fn : Symbol(fn, Decl(fatarrowfunctionsInFunctionParameterDefaults.ts, 0, 0)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types index 55d72e854d3..58c576bf24e 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types @@ -16,8 +16,8 @@ function fn(x = () => this, y = x()) { fn.call(4); // Should be 4 >fn.call(4) : any ->fn.call : (thisArg: any, ...argArray: any[]) => any +>fn.call : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): U; (this: Function, thisArg: any, ...argArray: any[]): any; } >fn : (x?: () => any, y?: any) => any ->call : (thisArg: any, ...argArray: any[]) => any +>call : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): U; (this: Function, thisArg: any, ...argArray: any[]): any; } >4 : number diff --git a/tests/baselines/reference/functionType.symbols b/tests/baselines/reference/functionType.symbols index 30a5a7cc447..65347d39b5a 100644 --- a/tests/baselines/reference/functionType.symbols +++ b/tests/baselines/reference/functionType.symbols @@ -3,9 +3,9 @@ function salt() {} >salt : Symbol(salt, Decl(functionType.ts, 0, 0)) salt.apply("hello", []); ->salt.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>salt.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >salt : Symbol(salt, Decl(functionType.ts, 0, 0)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) (new Function("return 5"))(); >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/functionType.types b/tests/baselines/reference/functionType.types index e7ea7a47edf..9183ec4a13e 100644 --- a/tests/baselines/reference/functionType.types +++ b/tests/baselines/reference/functionType.types @@ -3,10 +3,10 @@ function salt() {} >salt : () => void salt.apply("hello", []); ->salt.apply("hello", []) : any ->salt.apply : (thisArg: any, argArray?: any) => any +>salt.apply("hello", []) : void +>salt.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >salt : () => void ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >"hello" : string >[] : undefined[] diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.symbols b/tests/baselines/reference/genericTypeParameterEquivalence2.symbols index cd558fdd10a..1aa22b1e994 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.symbols +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.symbols @@ -24,9 +24,9 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { return f(g.apply(null, a)); >f : Symbol(f, Decl(genericTypeParameterEquivalence2.ts, 1, 26)) ->g.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>g.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >g : Symbol(g, Decl(genericTypeParameterEquivalence2.ts, 1, 41)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(genericTypeParameterEquivalence2.ts, 2, 21)) }; diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 3b2c533543d..9fdb03b0fbe 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -26,10 +26,10 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { return f(g.apply(null, a)); >f(g.apply(null, a)) : C >f : (b: B) => C ->g.apply(null, a) : any ->g.apply : (thisArg: any, argArray?: any) => any +>g.apply(null, a) : B +>g.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >g : (a: A) => B ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >null : null >a : A diff --git a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols index 60b7b08397a..08d3d75e9dc 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols @@ -20,9 +20,9 @@ var r2b: (x: any, y?: any) => any = i.apply; >r2b : Symbol(r2b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 3)) >x : Symbol(x, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 10)) >y : Symbol(y, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 17)) ->i.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>i.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 7, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) var b: { >b : Symbol(b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 11, 3)) @@ -38,7 +38,7 @@ var rb4: (x: any, y?: any) => any = b.apply; >rb4 : Symbol(rb4, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 3)) >x : Symbol(x, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 10)) >y : Symbol(y, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 17)) ->b.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>b.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >b : Symbol(b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 11, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types index 74d8ef57d67..496734c9183 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types @@ -21,9 +21,9 @@ var r2b: (x: any, y?: any) => any = i.apply; >r2b : (x: any, y?: any) => any >x : any >y : any ->i.apply : (thisArg: any, argArray?: any) => any +>i.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >i : I ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } var b: { >b : () => void @@ -40,7 +40,7 @@ var rb4: (x: any, y?: any) => any = b.apply; >rb4 : (x: any, y?: any) => any >x : any >y : any ->b.apply : (thisArg: any, argArray?: any) => any +>b.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >b : () => void ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } diff --git a/tests/baselines/reference/returnTypeParameterWithModules.symbols b/tests/baselines/reference/returnTypeParameterWithModules.symbols index 7f8fab382a3..e3b7c50948f 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.symbols +++ b/tests/baselines/reference/returnTypeParameterWithModules.symbols @@ -12,13 +12,13 @@ module M1 { >A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 1, 27)) return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]); ->Array.prototype.reduce.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>Array.prototype.reduce.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Array.prototype.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) >reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >ar : Symbol(ar, Decl(returnTypeParameterWithModules.ts, 1, 30)) >e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36)) >f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33)) diff --git a/tests/baselines/reference/returnTypeParameterWithModules.types b/tests/baselines/reference/returnTypeParameterWithModules.types index be09b8f46b0..ffb058daa08 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.types +++ b/tests/baselines/reference/returnTypeParameterWithModules.types @@ -13,13 +13,13 @@ module M1 { return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]); >Array.prototype.reduce.apply(ar, e ? [f, e] : [f]) : any ->Array.prototype.reduce.apply : (thisArg: any, argArray?: any) => any +>Array.prototype.reduce.apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >Array.prototype.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } >Array.prototype : any[] >Array : ArrayConstructor >prototype : any[] >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } ->apply : (thisArg: any, argArray?: any) => any +>apply : { (this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; (this: Function, thisArg: any, argArray?: any): any; } >ar : any >e ? [f, e] : [f] : any[] >e : any diff --git a/tests/cases/fourslash/commentsClassMembers.ts b/tests/cases/fourslash/commentsClassMembers.ts index 54b4f0253d4..d719253a57b 100644 --- a/tests/cases/fourslash/commentsClassMembers.ts +++ b/tests/cases/fourslash/commentsClassMembers.ts @@ -694,7 +694,7 @@ verify.completionListContains("a", "(parameter) a: number", "this is first param verify.quickInfoIs("(parameter) a: number", "this is first parameter a\nmore info about a"); goTo.marker('116'); -verify.quickInfoIs("class cWithConstructorProperty", ""); +verify.quickInfoIs("this: this", ""); goTo.marker('117'); verify.quickInfoIs("(local var) bbbb: number", ""); diff --git a/tests/cases/fourslash/instanceTypesForGenericType1.ts b/tests/cases/fourslash/instanceTypesForGenericType1.ts index 96ee175383e..a3d119785bf 100644 --- a/tests/cases/fourslash/instanceTypesForGenericType1.ts +++ b/tests/cases/fourslash/instanceTypesForGenericType1.ts @@ -11,4 +11,4 @@ goTo.marker('1'); verify.quickInfoIs('(property) G.self: G'); goTo.marker('2'); -verify.quickInfoIs('class G'); \ No newline at end of file +verify.quickInfoIs('this: this'); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoOnThis.ts b/tests/cases/fourslash/quickInfoOnThis.ts index c4eecfca5d5..cef78efe0cc 100644 --- a/tests/cases/fourslash/quickInfoOnThis.ts +++ b/tests/cases/fourslash/quickInfoOnThis.ts @@ -1,15 +1,76 @@ +// @strictThis: true /// - -////function someFn1(someFn: { (): void; }) { } +////interface Restricted { +//// n: number; +////} +////function wrapper(wrapped: { (): void; }) { } ////class Foo { -//// public bar() { -//// someFn1( -//// function doSomething() { -//// console.log(th/**/is); +//// n: number; +//// public implicitThis() { +//// wrapper( +//// function implicitVoid() { +//// console.log(th/*1*/is); //// } //// ) +//// console.log(th/*2*/is); +//// } +//// public explicitInterface(th/*3*/is: Restricted) { +//// console.log(th/*4*/is); +//// } +//// public explicitClass(th/*5*/is: Foo) { +//// console.log(th/*6*/is); //// } ////} +////class Bar { +//// public implicitThis() { +//// console.log(th/*7*/is); +//// } +//// public explicitThis(this: Bar) { +//// console.log(thi/*8*/s); +//// } +////} +//// +////function implicitVoid(x: number): void { +//// return th/*9*/is; +////} +////function explicitVoid(th/*10*/is: void, x: number): void { +//// return th/*11*/is; +////} +////function explicitInterface(th/*12*/is: Restricted): void { +//// console.log(thi/*13*/s); +////} +////function explicitLiteral(th/*14*/is: { n: number }): void { +//// console.log(th/*15*/is); +////} -goTo.marker(); -verify.quickInfoIs('any'); +goTo.marker('1'); +verify.quickInfoIs('void'); +goTo.marker('2'); +verify.quickInfoIs('this: this'); +goTo.marker('3'); +verify.quickInfoIs('(parameter) this: Restricted'); +goTo.marker('4'); +verify.quickInfoIs('this: Restricted'); +goTo.marker('5'); +verify.quickInfoIs('(parameter) this: Foo'); +goTo.marker('6'); +verify.quickInfoIs('this: Foo'); +goTo.marker('7'); +verify.quickInfoIs('this: this'); +goTo.marker('8'); +verify.quickInfoIs('this: Bar'); +goTo.marker('9'); +verify.quickInfoIs('void'); +goTo.marker('10'); +verify.quickInfoIs('(parameter) this: void'); +goTo.marker('11'); +verify.quickInfoIs('void'); +goTo.marker('12'); +verify.quickInfoIs('(parameter) this: Restricted'); +goTo.marker('13'); +verify.quickInfoIs('this: Restricted'); +goTo.marker('14'); + +verify.quickInfoIs('(parameter) this: {\n n: number;\n}'); +goTo.marker('15'); +verify.quickInfoIs('this: {\n n: number;\n}'); \ No newline at end of file diff --git a/tests/cases/fourslash/thisBindingInLambda.ts b/tests/cases/fourslash/thisBindingInLambda.ts index f6dfdbdec08..d9c43796bd8 100644 --- a/tests/cases/fourslash/thisBindingInLambda.ts +++ b/tests/cases/fourslash/thisBindingInLambda.ts @@ -9,4 +9,4 @@ ////} goTo.marker(); -verify.quickInfoIs('class Greeter'); +verify.quickInfoIs('this: this'); From 675e0816d40cbe1fcd269dc98fff5e8e19bbb9cd Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 2 Feb 2016 14:46:44 -0800 Subject: [PATCH 032/342] Make this-type of bind's return explicit --- src/lib/core.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/core.d.ts b/src/lib/core.d.ts index fe2fd6b79f6..5a94b21b0fb 100644 --- a/src/lib/core.d.ts +++ b/src/lib/core.d.ts @@ -232,7 +232,7 @@ interface Function { * @param thisArg An object to which the this keyword can refer inside the new function. * @param argArray A list of arguments to be passed to the new function. */ - bind(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): (...argArray: any[]) => U; + bind(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): (this: void, ...argArray: any[]) => U; bind(this: Function, thisArg: any, ...argArray: any[]): any; prototype: any; From f6361cec665339077ee9df83f0fd887834c5c5a7 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 2 Feb 2016 16:00:52 -0800 Subject: [PATCH 033/342] Undo strictThis-clean changes Also fix other lint. --- src/compiler/checker.ts | 2 +- src/compiler/core.ts | 19 ++++++----- src/compiler/program.ts | 3 +- src/compiler/sourcemap.ts | 8 ++--- src/compiler/sys.ts | 2 +- src/compiler/types.ts | 16 +++++----- src/compiler/utilities.ts | 20 ++++++------ src/harness/harness.ts | 30 ++++++++--------- src/harness/loggedIO.ts | 32 +++++++++---------- src/server/editorServices.ts | 2 +- src/server/node.d.ts | 4 +-- .../formatting/ruleOperationContext.ts | 4 +-- src/services/services.ts | 6 ++-- src/services/utilities.ts | 2 +- 14 files changed, 73 insertions(+), 77 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 3940be5d698..bfa398f190d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4115,7 +4115,7 @@ namespace ts { else { parameters.push(paramSymbol); } - + if (param.type && param.type.kind === SyntaxKind.StringLiteralType) { hasStringLiterals = true; } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index ab8de44ec98..21536da36ff 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -818,26 +818,25 @@ namespace ts { getSignatureConstructor(): new (checker: TypeChecker) => Signature; } - // TODO: Add a 'this' parameter after I update the previous-version compiler function Symbol(flags: SymbolFlags, name: string) { - (this).flags = flags; - (this).name = name; - (this).declarations = undefined; + this.flags = flags; + this.name = name; + this.declarations = undefined; } function Type(checker: TypeChecker, flags: TypeFlags) { - (this).flags = flags; + this.flags = flags; } function Signature(checker: TypeChecker) { } function Node(kind: SyntaxKind, pos: number, end: number) { - (this).kind = kind; - (this).pos = pos; - (this).end = end; - (this).flags = NodeFlags.None; - (this).parent = undefined; + this.kind = kind; + this.pos = pos; + this.end = end; + this.flags = NodeFlags.None; + this.parent = undefined; } export let objectAllocator: ObjectAllocator = { diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 88c77aa5759..803ae47b0fd 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -933,9 +933,8 @@ namespace ts { return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = createTypeChecker(program, /*produceDiagnostics:*/ false)); } - // TODO: needs to have this: Program function emit(sourceFile?: SourceFile, writeFileCallback?: WriteFileCallback, cancellationToken?: CancellationToken): EmitResult { - return runWithCancellationToken(() => emitWorker((this), sourceFile, writeFileCallback, cancellationToken)); + return runWithCancellationToken(() => emitWorker(this, sourceFile, writeFileCallback, cancellationToken)); } function isEmitBlocked(emitFileName: string): boolean { diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index fb61f8b78b8..8abf1432b0c 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -4,10 +4,10 @@ namespace ts { export interface SourceMapWriter { getSourceMapData(): SourceMapData; - setSourceFile: (sourceFile: SourceFile) => void; - emitPos: (pos: number) => void; - emitStart: (range: TextRange) => void; - emitEnd: (range: TextRange, stopOverridingSpan?: boolean) => void; + setSourceFile(sourceFile: SourceFile): void; + emitPos(pos: number): void; + emitStart(range: TextRange): void; + emitEnd(range: TextRange, stopOverridingSpan?: boolean): void; changeEmitSourcePos(): void; getText(): string; getSourceMappingURL(): string; diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 1a9da39bf9a..bf25d39aa43 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -63,7 +63,7 @@ namespace ts { useCaseSensitiveFileNames?: boolean; echo(s: string): void; quit(exitCode?: number): void; - fileExists: (path: string) => boolean; + fileExists(path: string): boolean; directoryExists(path: string): boolean; createDirectory(path: string): void; resolvePath(path: string): string; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 9c2612d96b6..6e0ccc3bf66 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1593,8 +1593,8 @@ namespace ts { } export interface ScriptReferenceHost { - getCompilerOptions: () => CompilerOptions; - getSourceFile: (fileName: string) => SourceFile; + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile; getCurrentDirectory(): string; } @@ -1625,7 +1625,7 @@ namespace ts { /** * Get a list of files in the program */ - getSourceFiles: () => SourceFile[]; + getSourceFiles(): SourceFile[]; /** * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then @@ -1650,7 +1650,7 @@ namespace ts { */ getTypeChecker(): TypeChecker; - /* @internal */ getCommonSourceDirectory: () => string; + /* @internal */ getCommonSourceDirectory(): string; // For testing purposes only. Should not be used by any other consumers (including the // language service). @@ -1905,11 +1905,11 @@ namespace ts { getReferencedImportDeclaration(node: Identifier): Declaration; getReferencedDeclarationWithCollidingName(node: Identifier): Declaration; isDeclarationWithCollidingName(node: Declaration): boolean; - isValueAliasDeclaration: (node: Node) => boolean; - isReferencedAliasDeclaration: (node: Node, checkChildren?: boolean) => boolean; + isValueAliasDeclaration(node: Node): boolean; + isReferencedAliasDeclaration(node: Node, checkChildren?: boolean): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; getNodeCheckFlags(node: Node): NodeCheckFlags; - isDeclarationVisible: (node: Declaration) => boolean; + isDeclarationVisible(node: Declaration): boolean; collectLinkedAliases(node: Identifier): Node[]; isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; @@ -2430,7 +2430,7 @@ namespace ts { rootDir?: string; sourceMap?: boolean; sourceRoot?: string; - strictThis?: boolean, + strictThis?: boolean; suppressExcessPropertyErrors?: boolean; suppressImplicitAnyIndexErrors?: boolean; target?: ScriptTarget; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index bce821c3756..bab66eb0688 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -32,11 +32,11 @@ namespace ts { } export interface EmitHost extends ScriptReferenceHost { - getSourceFiles: () => SourceFile[]; + getSourceFiles(): SourceFile[]; - getCommonSourceDirectory: () => string; - getCanonicalFileName: (fileName: string) => string; - getNewLine: () => string; + getCommonSourceDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; isEmitBlocked(emitFileName: string): boolean; @@ -1869,11 +1869,11 @@ namespace ts { } export interface EmitTextWriter { - write: (s: string) => void; - writeTextOfNode: (text: string, node: Node) => void; - writeLine: () => void; - increaseIndent: () => void; - decreaseIndent: () => void; + write(s: string): void; + writeTextOfNode(text: string, node: Node): void; + writeLine(): void; + increaseIndent(): void; + decreaseIndent(): void; getText(): string; rawWrite(s: string): void; writeLiteral(s: string): void; @@ -2490,7 +2490,7 @@ namespace ts { * as the fallback implementation does not check for circular references by default. */ export const stringify: (value: any) => string = typeof JSON !== "undefined" && JSON.stringify - ? JSON.stringify + ? JSON.stringify : stringifyFallback; /** diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 3b211a0d91a..2b0c95c0a61 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -417,24 +417,24 @@ namespace Harness.Path { namespace Harness { export interface IO { - args(): string[]; newLine(): string; - readFile(this: ts.System | IO, path: string): string; - writeFile(path: string, contents: string): void; - resolvePath(path: string): string; - fileExists: (fileName: string) => boolean; - directoryExists: (path: string) => boolean; - createDirectory(path: string): void; - getExecutingFilePath(this: ts.System | IO): string; getCurrentDirectory(): string; - readDirectory(path: string, extension?: string, exclude?: string[]): string[]; - getMemoryUsage?(): number; - exit(exitCode?: number): void; - deleteFile(fileName: string): void; - directoryName: (path: string) => string; - listFiles(path: string, filter: RegExp, options?: { recursive?: boolean }): string[]; - log: (text: string) => void; useCaseSensitiveFileNames(): boolean; + resolvePath(path: string): string; + readFile(path: string): string; + writeFile(path: string, contents: string): void; + directoryName(path: string): string; + createDirectory(path: string): void; + fileExists(fileName: string): boolean; + directoryExists(path: string): boolean; + deleteFile(fileName: string): void; + listFiles(path: string, filter: RegExp, options?: { recursive?: boolean }): string[]; + log(text: string): void; + getMemoryUsage?(): number; + args(): string[]; + getExecutingFilePath(): string; + exit(exitCode?: number): void; + readDirectory(path: string, extension?: string, exclude?: string[]): string[]; } export var IO: IO; diff --git a/src/harness/loggedIO.ts b/src/harness/loggedIO.ts index dbc05112f3e..cc5e06ab920 100644 --- a/src/harness/loggedIO.ts +++ b/src/harness/loggedIO.ts @@ -70,11 +70,11 @@ interface IOLog { interface PlaybackControl { startReplayFromFile(logFileName: string): void; - startReplayFromString(this: PlaybackControl, logContents: string): void; - startReplayFromData(this: PlaybackControl, log: IOLog): void; + startReplayFromString(logContents: string): void; + startReplayFromData(log: IOLog): void; endReplay(): void; startRecord(logFileName: string): void; - endRecord(this: PlaybackControl): void; + endRecord(): void; } namespace Playback { @@ -127,8 +127,6 @@ namespace Playback { function initWrapper(wrapper: PlaybackSystem, underlying: ts.System): void; function initWrapper(wrapper: PlaybackIO, underlying: Harness.IO): void; function initWrapper(wrapper: PlaybackSystem | PlaybackIO, underlying: ts.System | Harness.IO): void { - // TODO: Define a common interface over ts.System | Harness.IO and stop passing a union type. - const underlyingShim: any = underlying; ts.forEach(Object.keys(underlying), prop => { (wrapper)[prop] = (underlying)[prop]; }); @@ -156,20 +154,20 @@ namespace Playback { }; wrapper.startReplayFromFile = logFn => { - wrapper.startReplayFromString(underlyingShim.readFile(logFn)); + wrapper.startReplayFromString(underlying.readFile(logFn)); }; wrapper.endRecord = () => { if (recordLog !== undefined) { let i = 0; const fn = () => recordLogFileNameBase + i + ".json"; - while (underlyingShim.fileExists(fn())) i++; - underlyingShim.writeFile(fn(), JSON.stringify(recordLog)); + while (underlying.fileExists(fn())) i++; + underlying.writeFile(fn(), JSON.stringify(recordLog)); recordLog = undefined; } }; wrapper.fileExists = recordReplay(wrapper.fileExists, underlying)( - path => callAndRecord(underlyingShim.fileExists(path), recordLog.fileExists, { path }), + path => callAndRecord(underlying.fileExists(path), recordLog.fileExists, { path }), memoize(path => { // If we read from the file, it must exist if (findResultByPath(wrapper, replayLog.filesRead, path, null) !== null) { @@ -186,10 +184,10 @@ namespace Playback { return replayLog.executingPath; } else if (recordLog !== undefined) { - return recordLog.executingPath = underlyingShim.getExecutingFilePath(); + return recordLog.executingPath = underlying.getExecutingFilePath(); } else { - return underlyingShim.getExecutingFilePath(); + return underlying.getExecutingFilePath(); } }; @@ -198,20 +196,20 @@ namespace Playback { return replayLog.currentDirectory || ""; } else if (recordLog !== undefined) { - return recordLog.currentDirectory = underlyingShim.getCurrentDirectory(); + return recordLog.currentDirectory = underlying.getCurrentDirectory(); } else { - return underlyingShim.getCurrentDirectory(); + return underlying.getCurrentDirectory(); } }; wrapper.resolvePath = recordReplay(wrapper.resolvePath, underlying)( - path => callAndRecord(underlyingShim.resolvePath(path), recordLog.pathsResolved, { path }), + path => callAndRecord(underlying.resolvePath(path), recordLog.pathsResolved, { path }), memoize(path => findResultByFields(replayLog.pathsResolved, { path }, !ts.isRootedDiskPath(ts.normalizeSlashes(path)) && replayLog.currentDirectory ? replayLog.currentDirectory + "/" + path : ts.normalizeSlashes(path)))); wrapper.readFile = recordReplay(wrapper.readFile, underlying)( path => { - const result = underlyingShim.readFile(path); + const result = underlying.readFile(path); const logEntry = { path, codepage: 0, result: { contents: result, codepage: 0 } }; recordLog.filesRead.push(logEntry); return result; @@ -228,14 +226,14 @@ namespace Playback { (path, extension, exclude) => findResultByPath(wrapper, replayLog.directoriesRead.filter(d => d.extension === extension && ts.arrayIsEqualTo(d.exclude, exclude)), path)); wrapper.writeFile = recordReplay(wrapper.writeFile, underlying)( - (path: string, contents: string) => callAndRecord(underlyingShim.writeFile(path, contents), recordLog.filesWritten, { path, contents, bom: false }), + (path: string, contents: string) => callAndRecord(underlying.writeFile(path, contents), recordLog.filesWritten, { path, contents, bom: false }), (path: string, contents: string) => noOpReplay("writeFile")); wrapper.exit = (exitCode) => { if (recordLog !== undefined) { wrapper.endRecord(); } - underlyingShim.exit(exitCode); + underlying.exit(exitCode); }; } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 5516b18e0de..e2ec5cc159f 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1834,7 +1834,7 @@ namespace ts.server { if (!rangeEnd) { rangeEnd = this.root.charCount(); } - const walkFns: ILineIndexWalker = { + const walkFns = { goSubtree: true, done: false, leaf: function (relativeStart: number, relativeLength: number, ll: LineLeaf) { diff --git a/src/server/node.d.ts b/src/server/node.d.ts index 8e4d8c28e9b..0bde0bb6602 100644 --- a/src/server/node.d.ts +++ b/src/server/node.d.ts @@ -68,7 +68,7 @@ interface BufferConstructor { new (array: any[]): Buffer; prototype: Buffer; isBuffer(obj: any): boolean; - byteLength: (string: string, encoding?: string) => number; + byteLength(string: string, encoding?: string): number; concat(list: Buffer[], totalLength?: number): Buffer; } declare var Buffer: BufferConstructor; @@ -190,7 +190,7 @@ declare namespace NodeJS { nextTick(callback: Function): void; umask(mask?: number): number; uptime(): number; - hrtime: (time?: number[]) => number[]; + hrtime(time?: number[]): number[]; // Worker send? (message: any, sendHandle?: any): void; diff --git a/src/services/formatting/ruleOperationContext.ts b/src/services/formatting/ruleOperationContext.ts index 3108095e8e6..47330faa0dd 100644 --- a/src/services/formatting/ruleOperationContext.ts +++ b/src/services/formatting/ruleOperationContext.ts @@ -6,8 +6,8 @@ namespace ts.formatting { export class RuleOperationContext { private customContextChecks: { (context: FormattingContext): boolean; }[]; - constructor(...funcs: { (this: typeof Rules, context: FormattingContext): boolean; }[]) { - this.customContextChecks = <{ (this: any, context: FormattingContext): boolean }[]>funcs; + constructor(...funcs: { (context: FormattingContext): boolean; }[]) { + this.customContextChecks = funcs; } static Any: RuleOperationContext = new RuleOperationContext(); diff --git a/src/services/services.ts b/src/services/services.ts index 1a43f9a744b..496dd7172ea 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -19,15 +19,15 @@ namespace ts { getChildCount(sourceFile?: SourceFile): number; getChildAt(index: number, sourceFile?: SourceFile): Node; getChildren(sourceFile?: SourceFile): Node[]; - getStart(this: Node, sourceFile?: SourceFile): number; + getStart(sourceFile?: SourceFile): number; getFullStart(): number; - getEnd(this: Node): number; + getEnd(): number; getWidth(sourceFile?: SourceFile): number; getFullWidth(): number; getLeadingTriviaWidth(sourceFile?: SourceFile): number; getFullText(sourceFile?: SourceFile): string; getText(sourceFile?: SourceFile): string; - getFirstToken(this: Node, sourceFile?: SourceFile): Node; + getFirstToken(sourceFile?: SourceFile): Node; getLastToken(sourceFile?: SourceFile): Node; } diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 0363e45a64a..afdc85fffd8 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -769,7 +769,7 @@ namespace ts { * The default is CRLF. */ export function getNewLineOrDefaultFromHost(host: LanguageServiceHost | LanguageServiceShimHost) { - return (host).getNewLine ? (host).getNewLine() : carriageReturnLineFeed; + return host.getNewLine ? host.getNewLine() : carriageReturnLineFeed; } export function lineBreakPart() { From 0af56c0ee201209d997193160567a7547a766fd2 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 2 Feb 2016 16:27:01 -0800 Subject: [PATCH 034/342] Update error numbers in new tests after merge --- .../reference/thisTypeInFunctionsNegative.errors.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 49a4380977a..ce3b3eed6f8 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -91,8 +91,8 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(168,1): er tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'Base1' is not assignable to type 'Base2'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,30): error TS2332: 'this' cannot be referenced in current location. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,26): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,30): error TS1005: ',' expected. @@ -442,10 +442,10 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): e } let voidThis = new VoidThis(); ~~~~~~~~~~~~~~ -!!! error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +!!! error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. let implicitVoidThis = new ImplicitVoidThis(); ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2671: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +!!! error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. ///// parse errors ///// From 8c87da523bd927a5579f6286946339ccc6d52de5 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Thu, 4 Feb 2016 15:43:43 -0800 Subject: [PATCH 035/342] First round of review comments addressed. Only major thing is a bug fix in `isContextSensitiveFunctionLikeDeclaration`, and turning on context sensitivity to `this` even with `--strictThis` off. --- src/compiler/checker.ts | 66 ++++++++++--------- .../reference/contextualTyping24.errors.txt | 2 +- .../baselines/reference/contextualTyping24.js | 2 +- .../looseThisTypeInFunctions.errors.txt | 32 +++++++-- .../reference/looseThisTypeInFunctions.js | 31 ++++++++- .../reference/thisTypeInFunctions.js | 8 +-- .../reference/thisTypeInFunctions.symbols | 8 +-- .../reference/thisTypeInFunctions.types | 26 ++++---- .../thisTypeInFunctionsNegative.errors.txt | 6 +- tests/cases/compiler/contextualTyping24.ts | 2 +- .../thisType/looseThisTypeInFunctions.ts | 17 ++++- .../types/thisType/thisTypeInFuncTemp.ts | 27 ++++++++ .../types/thisType/thisTypeInFunctions.ts | 8 +-- 13 files changed, 162 insertions(+), 73 deletions(-) create mode 100644 tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9188cfff55d..2303aa539f6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -131,8 +131,8 @@ namespace ts { const noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); - const anySignature = createSignature(undefined, undefined, emptyArray, undefined, anyType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); - const unknownSignature = createSignature(undefined, undefined, emptyArray, undefined, unknownType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); + const anySignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); + const unknownSignature = createSignature(undefined, undefined, undefined, emptyArray, unknownType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true); @@ -3540,7 +3540,7 @@ namespace ts { resolveObjectTypeMembers(type, source, typeParameters, typeArguments); } - function createSignature(declaration: SignatureDeclaration, typeParameters: TypeParameter[], parameters: Symbol[], thisType: Type, + function createSignature(declaration: SignatureDeclaration, typeParameters: TypeParameter[], thisType: Type, parameters: Symbol[], resolvedReturnType: Type, minArgumentCount: number, hasRestParameter: boolean, hasStringLiterals: boolean): Signature { const sig = new Signature(checker); sig.declaration = declaration; @@ -3555,7 +3555,7 @@ namespace ts { } function cloneSignature(sig: Signature): Signature { - return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.thisType, sig.resolvedReturnType, + return createSignature(sig.declaration, sig.typeParameters, sig.thisType, sig.parameters, sig.resolvedReturnType, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); } @@ -3567,7 +3567,7 @@ namespace ts { const baseConstructorType = getBaseConstructorTypeOfClass(classType); const baseSignatures = getSignaturesOfType(baseConstructorType, SignatureKind.Construct); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, emptyArray, undefined, classType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, emptyArray, classType, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false)]; } const baseTypeNode = getBaseTypeNodeOfClass(classType); const typeArguments = map(baseTypeNode.typeArguments, getTypeFromTypeNode); @@ -4098,6 +4098,7 @@ namespace ts { let hasStringLiterals = false; let minArgumentCount = -1; let thisType: Type = undefined; + let hasThisParameter: boolean; const isJSConstructSignature = isJSDocConstructSignature(declaration); let returnType: Type = undefined; @@ -4113,11 +4114,9 @@ namespace ts { const resolvedSymbol = resolveName(param, paramSymbol.name, SymbolFlags.Value, undefined, undefined); paramSymbol = resolvedSymbol; } - if (paramSymbol.name === "this") { - thisType = param.type && getTypeOfSymbol(paramSymbol); - if (i !== 0 || declaration.kind === SyntaxKind.Constructor) { - error(param, Diagnostics.this_cannot_be_referenced_in_current_location); - } + if (i == 0 && paramSymbol.name === "this") { + hasThisParameter = true; + thisType = param.type ? getTypeFromTypeNode(param.type) : unknownType; } else { parameters.push(paramSymbol); @@ -4129,7 +4128,7 @@ namespace ts { if (param.initializer || param.questionToken || param.dotDotDotToken) { if (minArgumentCount < 0) { - minArgumentCount = i - (thisType ? 1 : 0); + minArgumentCount = i - (hasThisParameter ? 1 : 0); } } else { @@ -4139,19 +4138,19 @@ namespace ts { } if (minArgumentCount < 0) { - minArgumentCount = declaration.parameters.length - (thisType ? 1 : 0); + minArgumentCount = declaration.parameters.length - (hasThisParameter ? 1 : 0); } - if (!thisType && compilerOptions.strictThis) { - if (declaration.kind === SyntaxKind.FunctionDeclaration - || declaration.kind === SyntaxKind.CallSignature - || declaration.kind == SyntaxKind.FunctionExpression - || declaration.kind === SyntaxKind.FunctionType) { + if (!hasThisParameter && compilerOptions.strictThis) { + if (declaration.kind === SyntaxKind.FunctionDeclaration || + declaration.kind === SyntaxKind.CallSignature || + declaration.kind == SyntaxKind.FunctionExpression || + declaration.kind === SyntaxKind.FunctionType) { thisType = voidType; } else if ((declaration.kind === SyntaxKind.MethodDeclaration || declaration.kind === SyntaxKind.MethodSignature) && (isClassLike(declaration.parent) || declaration.parent.kind === SyntaxKind.InterfaceDeclaration)) { thisType = declaration.flags & NodeFlags.Static ? - getWidenedType(checkExpression((declaration.parent).name)) : + getTypeOfSymbol(getSymbolOfNode(declaration.parent)) : getThisType(declaration.name); Debug.assert(!!thisType, "couldn't find implicit this type"); } @@ -4187,7 +4186,7 @@ namespace ts { } } - links.resolvedSignature = createSignature(declaration, typeParameters, parameters, thisType, returnType, minArgumentCount, hasRestParameter(declaration), hasStringLiterals); + links.resolvedSignature = createSignature(declaration, typeParameters, thisType, parameters, returnType, minArgumentCount, hasRestParameter(declaration), hasStringLiterals); } return links.resolvedSignature; } @@ -5105,8 +5104,8 @@ namespace ts { } } const result = createSignature(signature.declaration, freshTypeParameters, + signature.thisType && instantiateType(signature.thisType, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), - signature.thisType ? instantiateType(signature.thisType, mapper) : undefined, instantiateType(signature.resolvedReturnType, mapper), signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); result.target = signature; @@ -5220,14 +5219,12 @@ namespace ts { } function isContextSensitiveFunctionLikeDeclaration(node: FunctionLikeDeclaration) { - if (compilerOptions.strictThis) { - return !node.typeParameters && - (!forEach(node.parameters, p => p.type) - || (node.kind !== SyntaxKind.ArrowFunction && (!node.parameters.length || (node.parameters[0].name).text !== "this"))); - } - else { - return !node.typeParameters && node.parameters.length && !forEach(node.parameters, p => p.type); + const areAllParametersUntyped = !forEach(node.parameters, p => p.type); + if (node.kind === SyntaxKind.ArrowFunction) { + return !node.typeParameters && node.parameters.length && areAllParametersUntyped; } + const hasThisType = node.parameters.length && (node.parameters[0].name).text === "this" && node.parameters[0].type; + return !node.typeParameters && areAllParametersUntyped && !hasThisType; } function getTypeWithoutSignatures(type: Type): Type { @@ -5305,13 +5302,13 @@ namespace ts { let result = Ternary.True; if (source.thisType || target.thisType) { - const s = source.thisType || anyType; - const t = target.thisType || anyType; - if (s !== voidType) { + if (source.thisType !== voidType) { + const s = source.thisType ? getApparentType(source.thisType) : anyType; + const t = target.thisType ? getApparentType(target.thisType) : anyType; // void sources are assignable to anything. - let related = compareTypes(getApparentType(t), getApparentType(s), reportErrors); + let related = compareTypes(t, s, reportErrors); if (!related) { - related = compareTypes(getApparentType(s), getApparentType(t), /*reportErrors*/ false); + related = compareTypes(s, t, /*reportErrors*/ false); if (!related) { errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, "this", "this"); return Ternary.False; @@ -11626,6 +11623,11 @@ namespace ts { if (node.questionToken && isBindingPattern(node.name) && func.body) { error(node, Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature); } + if ((node.name).text === "this") { + if(indexOf(func.parameters, node) !== 0 || func.kind === SyntaxKind.Constructor) { + error(node, Diagnostics.this_cannot_be_referenced_in_current_location); + } + } // Only check rest parameter type if it's not a binding pattern. Since binding patterns are // not allowed in a rest parameter, we already have an error from checkGrammarParameterList. diff --git a/tests/baselines/reference/contextualTyping24.errors.txt b/tests/baselines/reference/contextualTyping24.errors.txt index a172600e1c5..b4d0d534456 100644 --- a/tests/baselines/reference/contextualTyping24.errors.txt +++ b/tests/baselines/reference/contextualTyping24.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(a: string ==== tests/cases/compiler/contextualTyping24.ts (1 errors) ==== - var foo:(a:{():number; (i:number):number; })=>number; foo = function(a:string){return 5}; + var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, a:string){return 5}; ~~~ !!! error TS2322: Type '(a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. !!! error TS2322: Types of parameters 'a' and 'a' are incompatible. diff --git a/tests/baselines/reference/contextualTyping24.js b/tests/baselines/reference/contextualTyping24.js index 04c4ecba21b..14c1feeb031 100644 --- a/tests/baselines/reference/contextualTyping24.js +++ b/tests/baselines/reference/contextualTyping24.js @@ -1,5 +1,5 @@ //// [contextualTyping24.ts] -var foo:(a:{():number; (i:number):number; })=>number; foo = function(a:string){return 5}; +var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, a:string){return 5}; //// [contextualTyping24.js] var foo; diff --git a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt index 058a1555ed6..317446050a8 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt +++ b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt @@ -1,11 +1,15 @@ -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(20,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(21,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'C'. -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(27,9): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(32,5): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(33,27): error TS2339: Property 'length' does not exist on type 'number'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(37,9): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,19): error TS2339: Property 'length' does not exist on type 'number'. -==== tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts (2 errors) ==== +==== tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts (5 errors) ==== interface I { + n: number; explicitThis(this: this, m: number): number; } interface Unused { @@ -30,10 +34,23 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(27,9): error !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type 'C'. let o = { - explicitThis: function (m) { return m }, - implicitThis(m: number): number { return m } + n: 101, + explicitThis: function (m: number) { + return m + this.n.length; // ok, this.n: any + }, + implicitThis(m: number): number { return m; } }; let i: I = o; + let o2: I = { + n: 1001 + explicitThis: function (m) { + ~~~~~~~~~~~~ +!!! error TS1005: ',' expected. + return m + this.n.length; // error, this.n: number, no member 'length' + ~~~~~~ +!!! error TS2339: Property 'length' does not exist on type 'number'. + }, + } let x = i.explicitThis; let n = x(12); // callee:void doesn't match this:I ~~~~~ @@ -45,4 +62,9 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(27,9): error o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; + i.explicitThis = function(m) { + return this.n.length; // error, this.n: number + ~~~~~~ +!!! error TS2339: Property 'length' does not exist on type 'number'. + } \ No newline at end of file diff --git a/tests/baselines/reference/looseThisTypeInFunctions.js b/tests/baselines/reference/looseThisTypeInFunctions.js index 66677293c5b..ecb9f650716 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.js +++ b/tests/baselines/reference/looseThisTypeInFunctions.js @@ -1,5 +1,6 @@ //// [looseThisTypeInFunctions.ts] interface I { + n: number; explicitThis(this: this, m: number): number; } interface Unused { @@ -20,10 +21,19 @@ class C implements I { let c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything let o = { - explicitThis: function (m) { return m }, - implicitThis(m: number): number { return m } + n: 101, + explicitThis: function (m: number) { + return m + this.n.length; // ok, this.n: any + }, + implicitThis(m: number): number { return m; } }; let i: I = o; +let o2: I = { + n: 1001 + explicitThis: function (m) { + return m + this.n.length; // error, this.n: number, no member 'length' + }, +} let x = i.explicitThis; let n = x(12); // callee:void doesn't match this:I let u: Unused; @@ -33,6 +43,9 @@ c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; +i.explicitThis = function(m) { + return this.n.length; // error, this.n: number +} //// [looseThisTypeInFunctions.js] @@ -53,10 +66,19 @@ var C = (function () { var c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything var o = { - explicitThis: function (m) { return m; }, + n: 101, + explicitThis: function (m) { + return m + this.n.length; // ok, this.n: any + }, implicitThis: function (m) { return m; } }; var i = o; +var o2 = { + n: 1001, + explicitThis: function (m) { + return m + this.n.length; // error, this.n: number, no member 'length' + } +}; var x = i.explicitThis; var n = x(12); // callee:void doesn't match this:I var u; @@ -66,3 +88,6 @@ c.explicitVoid = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; +i.explicitThis = function (m) { + return this.n.length; // error, this.n: number +}; diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js index 0798843fc44..f3ad84acb55 100644 --- a/tests/baselines/reference/thisTypeInFunctions.js +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -140,10 +140,10 @@ c.explicitThis = explicitCFunction; c.explicitThis = function(this: C, m: number) { return this.n + m }; // this:any compatibility -c.explicitC = function(m: number) { return this.n + m }; -c.explicitProperty = function(m: number) { return this.n + m }; -c.explicitThis = function(m: number) { return this.n + m }; -c.implicitThis = function(m: number) { return this.n + m }; +c.explicitC = function(m) { return this.n + m }; +c.explicitProperty = function(m) { return this.n + m }; +c.explicitThis = function(m) { return this.n + m }; +c.implicitThis = function(m) { return this.n + m }; c.implicitThis = reconstructed.implicitThis; c.explicitC = function(this: B, m: number) { return this.n + m }; diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols index 1d9ebbd0cf4..bb6a9acfdd0 100644 --- a/tests/baselines/reference/thisTypeInFunctions.symbols +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -585,7 +585,7 @@ c.explicitThis = function(this: C, m: number) { return this.n + m }; >m : Symbol(m, Decl(thisTypeInFunctions.ts, 138, 34)) // this:any compatibility -c.explicitC = function(m: number) { return this.n + m }; +c.explicitC = function(m) { return this.n + m }; >c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) >explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) @@ -595,7 +595,7 @@ c.explicitC = function(m: number) { return this.n + m }; >n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 141, 23)) -c.explicitProperty = function(m: number) { return this.n + m }; +c.explicitProperty = function(m) { return this.n + m }; >c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) >explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) @@ -605,7 +605,7 @@ c.explicitProperty = function(m: number) { return this.n + m }; >n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 142, 30)) -c.explicitThis = function(m: number) { return this.n + m }; +c.explicitThis = function(m) { return this.n + m }; >c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) >explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) @@ -615,7 +615,7 @@ c.explicitThis = function(m: number) { return this.n + m }; >n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 143, 26)) -c.implicitThis = function(m: number) { return this.n + m }; +c.implicitThis = function(m) { return this.n + m }; >c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) >implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index 36b458b91e0..b0fc9fc3300 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -520,7 +520,7 @@ let anyToSpecified: (this: { y: number }, x: number) => number = function(x: num >this : { y: number; } >y : number >x : number ->function(x: number): number { return x + 12; } : (this: { y: number; }, x: number) => number +>function(x: number): number { return x + 12; } : (x: number) => number >x : number >x + 12 : number >x : number @@ -718,12 +718,12 @@ c.explicitThis = function(this: C, m: number) { return this.n + m }; >m : number // this:any compatibility -c.explicitC = function(m: number) { return this.n + m }; ->c.explicitC = function(m: number) { return this.n + m } : (this: C, m: number) => number +c.explicitC = function(m) { return this.n + m }; +>c.explicitC = function(m) { return this.n + m } : (this: C, m: number) => number >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->function(m: number) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (this: C, m: number) => number >m : number >this.n + m : number >this.n : number @@ -731,12 +731,12 @@ c.explicitC = function(m: number) { return this.n + m }; >n : number >m : number -c.explicitProperty = function(m: number) { return this.n + m }; ->c.explicitProperty = function(m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +c.explicitProperty = function(m) { return this.n + m }; +>c.explicitProperty = function(m) { return this.n + m } : (this: { n: number; }, m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->function(m: number) { return this.n + m } : (this: { n: number; }, m: number) => number +>function(m) { return this.n + m } : (this: { n: number; }, m: number) => number >m : number >this.n + m : number >this.n : number @@ -744,12 +744,12 @@ c.explicitProperty = function(m: number) { return this.n + m }; >n : number >m : number -c.explicitThis = function(m: number) { return this.n + m }; ->c.explicitThis = function(m: number) { return this.n + m } : (this: C, m: number) => number +c.explicitThis = function(m) { return this.n + m }; +>c.explicitThis = function(m) { return this.n + m } : (this: C, m: number) => number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->function(m: number) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (this: C, m: number) => number >m : number >this.n + m : number >this.n : number @@ -757,12 +757,12 @@ c.explicitThis = function(m: number) { return this.n + m }; >n : number >m : number -c.implicitThis = function(m: number) { return this.n + m }; ->c.implicitThis = function(m: number) { return this.n + m } : (this: C, m: number) => number +c.implicitThis = function(m) { return this.n + m }; +>c.implicitThis = function(m) { return this.n + m } : (this: C, m: number) => number >c.implicitThis : (this: C, m: number) => number >c : C >implicitThis : (this: C, m: number) => number ->function(m: number) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (this: C, m: number) => number >m : number >this.n + m : number >this.n : number diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index ce3b3eed6f8..4e8efd187eb 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -94,6 +94,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,1): er tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,30): error TS2332: 'this' cannot be referenced in current location. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,61): error TS2339: Property 'n' does not exist on type 'void'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,26): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,30): error TS1005: ',' expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,57): error TS2339: Property 'n' does not exist on type 'void'. @@ -103,7 +104,6 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,27): e tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,54): error TS2339: Property 'n' does not exist on type 'void'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,23): error TS1005: ',' expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,24): error TS1138: Parameter declaration expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,51): error TS2339: Property 'n' does not exist on type 'void'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,28): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,32): error TS1005: ',' expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,59): error TS2339: Property 'n' does not exist on type 'void'. @@ -452,6 +452,8 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): e function notFirst(a: number, this: C): number { return this.n; } ~~~~~~~ !!! error TS2332: 'this' cannot be referenced in current location. + ~ +!!! error TS2339: Property 'n' does not exist on type 'void'. function modifiers(async this: C): number { return this.n; } ~~~~ !!! error TS1003: Identifier expected. @@ -473,8 +475,6 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): e !!! error TS1005: ',' expected. ~ !!! error TS1138: Parameter declaration expected. - ~ -!!! error TS2339: Property 'n' does not exist on type 'void'. function decorated(@deco() this: C): number { return this.n; } ~~~~ !!! error TS1003: Identifier expected. diff --git a/tests/cases/compiler/contextualTyping24.ts b/tests/cases/compiler/contextualTyping24.ts index be28ff3b04c..fad23fa313c 100644 --- a/tests/cases/compiler/contextualTyping24.ts +++ b/tests/cases/compiler/contextualTyping24.ts @@ -1 +1 @@ -var foo:(a:{():number; (i:number):number; })=>number; foo = function(a:string){return 5}; \ No newline at end of file +var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, a:string){return 5}; \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts index 34d1ebd4a8e..3e8bdb11170 100644 --- a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts @@ -1,4 +1,5 @@ interface I { + n: number; explicitThis(this: this, m: number): number; } interface Unused { @@ -19,10 +20,19 @@ class C implements I { let c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything let o = { - explicitThis: function (m) { return m }, - implicitThis(m: number): number { return m } + n: 101, + explicitThis: function (m: number) { + return m + this.n.length; // ok, this.n: any + }, + implicitThis(m: number): number { return m; } }; let i: I = o; +let o2: I = { + n: 1001 + explicitThis: function (m) { + return m + this.n.length; // error, this.n: number, no member 'length' + }, +} let x = i.explicitThis; let n = x(12); // callee:void doesn't match this:I let u: Unused; @@ -32,3 +42,6 @@ c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; +i.explicitThis = function(m) { + return this.n.length; // error, this.n: number +} diff --git a/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts b/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts new file mode 100644 index 00000000000..2f4873031fb --- /dev/null +++ b/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts @@ -0,0 +1,27 @@ +// @strictThis: true +// 1. contextual typing predicate is wrong (currently: method2: function () ...) +// () -> yes (allParametersAreUntyped=t, noThisParameter=t, noTypeParameters=t) +// ok .. fixed? +// 2. contextual typing of this doesn't seem to work +// strictThis was turned off. DUH. +// 3. when it DID work, it was giving bogus types with strictThis OFF (see the last example) +interface T { + (x: number): void; +} +interface I { + n: number + method(this: this): number; + method2(this: this): number; +} +let i: I = { + n: 12, + method: function(this) { // this: I + return this.n.length; // error, 'number' has no property 'length' + }, + method2: function() { // this: I + return this.n.length; // error, 'number' has no property 'length' + } +} +i.method = function () { return this.n.length } // this: I +i.method = function (this) { return this.n.length } // this: I +var t: T = function (this, y) { } // yes! (but this: any NOT number!!) \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts index 623c880d339..f92b8ab4e15 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -140,10 +140,10 @@ c.explicitThis = explicitCFunction; c.explicitThis = function(this: C, m: number) { return this.n + m }; // this:any compatibility -c.explicitC = function(m: number) { return this.n + m }; -c.explicitProperty = function(m: number) { return this.n + m }; -c.explicitThis = function(m: number) { return this.n + m }; -c.implicitThis = function(m: number) { return this.n + m }; +c.explicitC = function(m) { return this.n + m }; +c.explicitProperty = function(m) { return this.n + m }; +c.explicitThis = function(m) { return this.n + m }; +c.implicitThis = function(m) { return this.n + m }; c.implicitThis = reconstructed.implicitThis; c.explicitC = function(this: B, m: number) { return this.n + m }; From 2f74da112db6491d53321dc947660fb7c3f8e5d3 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Thu, 4 Feb 2016 16:01:10 -0800 Subject: [PATCH 036/342] Add specific error messages for out-of-place this Also remove lint in checker. --- src/compiler/checker.ts | 7 +- src/compiler/diagnosticMessages.json | 8 +++ .../thisTypeInFunctionsNegative.errors.txt | 64 +++++++++++-------- .../reference/thisTypeInFunctionsNegative.js | 16 ++++- .../thisType/thisTypeInFunctionsNegative.ts | 7 +- 5 files changed, 69 insertions(+), 33 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2303aa539f6..4508b25383f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11624,8 +11624,11 @@ namespace ts { error(node, Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature); } if ((node.name).text === "this") { - if(indexOf(func.parameters, node) !== 0 || func.kind === SyntaxKind.Constructor) { - error(node, Diagnostics.this_cannot_be_referenced_in_current_location); + if (indexOf(func.parameters, node) !== 0) { + error(node, Diagnostics.this_parameter_must_be_the_first_parameter); + } + if (func.kind === SyntaxKind.Constructor) { + error(node, Diagnostics.A_constructor_cannot_have_a_this_parameter); } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 804b820f11e..116270d0c4d 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1827,6 +1827,14 @@ "category": "Error", "code": 2672 }, + "'this' parameter must be the first parameter.": { + "category": "Error", + "code": 2673 + }, + "A constructor cannot have a 'this' parameter.": { + "category": "Error", + "code": 2674 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 4e8efd187eb..0b755b9e0bd 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -93,33 +93,34 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,1): er Type 'Base1' is not assignable to type 'Base2'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,30): error TS2332: 'this' cannot be referenced in current location. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,61): error TS2339: Property 'n' does not exist on type 'void'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,26): error TS1003: Identifier expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,30): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(185,57): error TS2339: Property 'n' does not exist on type 'void'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,20): error TS2370: A rest parameter must be of an array type. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,23): error TS1003: Identifier expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,27): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(186,54): error TS2339: Property 'n' does not exist on type 'void'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,23): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,24): error TS1138: Parameter declaration expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,28): error TS1003: Identifier expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,32): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(188,59): error TS2339: Property 'n' does not exist on type 'void'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,30): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,32): error TS1138: Parameter declaration expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,39): error TS1005: ';' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,40): error TS1128: Declaration or statement expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,42): error TS2304: Cannot find name 'number'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(189,49): error TS1005: ';' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,1): error TS7027: Unreachable code detected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,29): error TS2304: Cannot find name 'm'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,32): error TS1005: ';' expected. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): error TS2304: Cannot find name 'm'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,17): error TS2674: A constructor cannot have a 'this' parameter. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,30): error TS2673: 'this' parameter must be the first parameter. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,61): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(190,26): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(190,30): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(190,57): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(191,20): error TS2370: A rest parameter must be of an array type. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(191,23): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(191,27): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(191,54): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,23): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,24): error TS1138: Parameter declaration expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(193,28): error TS1003: Identifier expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(193,32): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(193,59): error TS2339: Property 'n' does not exist on type 'void'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,30): error TS1005: ',' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,32): error TS1138: Parameter declaration expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,39): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,40): error TS1128: Declaration or statement expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,42): error TS2304: Cannot find name 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(194,49): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,1): error TS7027: Unreachable code detected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,29): error TS2304: Cannot find name 'm'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,32): error TS1005: ';' expected. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,35): error TS2304: Cannot find name 'm'. -==== tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts (75 errors) ==== +==== tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts (76 errors) ==== class C { n: number; explicitThis(this: this, m: number): number { @@ -447,13 +448,20 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(192,35): e ~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. - - ///// parse errors ///// + ///// syntax-ish errors ///// + class ThisConstructor { + constructor(this: ThisConstructor, private n: number) { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2674: A constructor cannot have a 'this' parameter. + } + } function notFirst(a: number, this: C): number { return this.n; } ~~~~~~~ -!!! error TS2332: 'this' cannot be referenced in current location. +!!! error TS2673: 'this' parameter must be the first parameter. ~ !!! error TS2339: Property 'n' does not exist on type 'void'. + + ///// parse errors ///// function modifiers(async this: C): number { return this.n; } ~~~~ !!! error TS1003: Identifier expected. diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.js b/tests/baselines/reference/thisTypeInFunctionsNegative.js index 43d83daef0d..c0892d9e4c8 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.js +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.js @@ -180,9 +180,14 @@ function ImplicitVoidThis() { let voidThis = new VoidThis(); let implicitVoidThis = new ImplicitVoidThis(); +///// syntax-ish errors ///// +class ThisConstructor { + constructor(this: ThisConstructor, private n: number) { + } +} +function notFirst(a: number, this: C): number { return this.n; } ///// parse errors ///// -function notFirst(a: number, this: C): number { return this.n; } function modifiers(async this: C): number { return this.n; } function restParam(...this: C): number { return this.n; } function optional(this?: C): number { return this.n; } @@ -364,8 +369,15 @@ function ImplicitVoidThis() { } var voidThis = new VoidThis(); var implicitVoidThis = new ImplicitVoidThis(); -///// parse errors ///// +///// syntax-ish errors ///// +var ThisConstructor = (function () { + function ThisConstructor(n) { + this.n = n; + } + return ThisConstructor; +}()); function notFirst(a, this) { return this.n; } +///// parse errors ///// function modifiers(, C) { if ( === void 0) { = this; } return this.n; diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts index 3fba9ad8a73..3afc5a5c69b 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts @@ -180,9 +180,14 @@ function ImplicitVoidThis() { let voidThis = new VoidThis(); let implicitVoidThis = new ImplicitVoidThis(); +///// syntax-ish errors ///// +class ThisConstructor { + constructor(this: ThisConstructor, private n: number) { + } +} +function notFirst(a: number, this: C): number { return this.n; } ///// parse errors ///// -function notFirst(a: number, this: C): number { return this.n; } function modifiers(async this: C): number { return this.n; } function restParam(...this: C): number { return this.n; } function optional(this?: C): number { return this.n; } From 71488fc3b1b75202efceb9b93ad84e571cad07cf Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 5 Feb 2016 09:38:17 -0800 Subject: [PATCH 037/342] Refactorings from review comments 1. Add `getThisArgumentOfCall` (and correct the code) 2. Remove `getParameterTypeAtIndex` in favour of `getTypeAtPosition`. Simplify calling code. --- src/compiler/checker.ts | 61 ++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4508b25383f..f595a588dd7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3559,10 +3559,6 @@ namespace ts { sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); } - function getParameterTypeAtIndex(signature: Signature, i: number, max: number, outOfRangeType?: Type): Type { - return i < max ? getTypeOfSymbol(signature.parameters[i]) : (outOfRangeType || getRestTypeOfSignature(signature)); - } - function getDefaultConstructSignatures(classType: InterfaceType): Signature[] { const baseConstructorType = getBaseConstructorTypeOfClass(classType); const baseSignatures = getSignaturesOfType(baseConstructorType, SignatureKind.Construct); @@ -5301,14 +5297,12 @@ namespace ts { target = getErasedSignature(target); let result = Ternary.True; - if (source.thisType || target.thisType) { + if (source.thisType && target.thisType) { if (source.thisType !== voidType) { - const s = source.thisType ? getApparentType(source.thisType) : anyType; - const t = target.thisType ? getApparentType(target.thisType) : anyType; // void sources are assignable to anything. - let related = compareTypes(t, s, reportErrors); + let related = compareTypes(target.thisType, source.thisType, reportErrors); if (!related) { - related = compareTypes(s, t, /*reportErrors*/ false); + related = compareTypes(source.thisType, target.thisType, /*reportErrors*/ false); if (!related) { errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, "this", "this"); return Ternary.False; @@ -6474,27 +6468,23 @@ namespace ts { } function forEachMatchingParameterType(source: Signature, target: Signature, callback: (s: Type, t: Type) => void) { - let sourceMax = source.parameters.length; - let targetMax = target.parameters.length; + const sourceMax = source.parameters.length; + const targetMax = target.parameters.length; let count: number; if (source.hasRestParameter && target.hasRestParameter) { - count = sourceMax > targetMax ? sourceMax : targetMax; - sourceMax--; - targetMax--; + count = Math.max(sourceMax, targetMax); } else if (source.hasRestParameter) { - sourceMax--; count = targetMax; } else if (target.hasRestParameter) { - targetMax--; count = sourceMax; } else { - count = sourceMax < targetMax ? sourceMax : targetMax; + count = Math.min(sourceMax, targetMax); } for (let i = 0; i < count; i++) { - callback(getParameterTypeAtIndex(source, i, sourceMax), getParameterTypeAtIndex(target, i, targetMax)); + callback(getTypeAtPosition(source, i), getTypeAtPosition(target, i)); } } @@ -9416,7 +9406,7 @@ namespace ts { context.failedTypeParameterIndex = undefined; } - const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; + const calleeNode = getThisArgumentOfCall(node); if (signature.thisType) { const mapper = excludeCallee !== undefined ? identityMapper : inferenceMapper; const calleeType: Type = calleeNode ? checkExpressionWithContextualType(calleeNode, signature.thisType, mapper) : voidType; @@ -9503,13 +9493,13 @@ namespace ts { function checkApplicableSignature(node: CallLikeExpression, args: Expression[], signature: Signature, relation: Map, excludeArgument: boolean[], reportErrors: boolean) { const headMessage = Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1; if (signature.thisType && signature.thisType !== voidType && node.kind !== SyntaxKind.NewExpression) { - // If the source is not of the form `x.f`, then sourceType = voidType - // If the target is voidType, then the check is skipped -- anything is compatible. - // If the the expression is a new expression, then the check is skipped. - const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; - const calleeType: Type = calleeNode ? checkExpressionWithContextualType(calleeNode, signature.thisType, undefined) : voidType; + // If the source's this is not of the form `x.f` or `x[f]`, then sourceType = voidType + // If the target's this is voidType, then the check is skipped -- anything is compatible. + // If the expression is a new expression, then the check is skipped. + const calleeNode = getThisArgumentOfCall(node); + const calleeType = calleeNode ? checkExpression(calleeNode) : voidType; const errorNode = reportErrors ? (calleeNode || node) : undefined; - if (!checkTypeRelatedTo(calleeType, getApparentType(signature.thisType), relation, errorNode, headMessage)) { + if (!checkTypeRelatedTo(calleeType, signature.thisType, relation, errorNode, headMessage)) { return false; } } @@ -9541,6 +9531,21 @@ namespace ts { return true; } + /** + * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. + */ + function getThisArgumentOfCall(node: CallLikeExpression): LeftHandSideExpression { + if (node.kind === SyntaxKind.CallExpression) { + const callee = (node).expression; + if (callee.kind === SyntaxKind.PropertyAccessExpression) { + return (callee as PropertyAccessExpression).expression; + } + else if (callee.kind === SyntaxKind.ElementAccessExpression) { + return (callee as ElementAccessExpression).expression; + } + } + } + /** * Returns the effective arguments for an expression that works like a function invocation. * @@ -9888,7 +9893,7 @@ namespace ts { let excludeCallee: boolean; let excludeArgument: boolean[]; if (!isDecorator) { - const calleeNode = node.kind === SyntaxKind.CallExpression && ((node).expression).expression; + const calleeNode = getThisArgumentOfCall(node); if (calleeNode && isContextSensitive(calleeNode)) { excludeCallee = true; } @@ -10397,8 +10402,8 @@ namespace ts { function getTypeAtPosition(signature: Signature, pos: number): Type { return signature.hasRestParameter ? - getParameterTypeAtIndex(signature, pos, signature.parameters.length - 1) : - getParameterTypeAtIndex(signature, pos, signature.parameters.length, anyType); + pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : + pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; } function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { From 5821b87eda234e51f8822a6783f2f1864863b2a8 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 5 Feb 2016 13:53:33 -0800 Subject: [PATCH 038/342] Do not contextually type object callee arguments --- src/compiler/checker.ts | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f595a588dd7..32e82d9d537 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9380,7 +9380,7 @@ namespace ts { return getSignatureInstantiation(signature, getInferredTypes(context)); } - function inferTypeArguments(node: CallLikeExpression, signature: Signature, args: Expression[], excludeCallee: boolean, excludeArgument: boolean[], context: InferenceContext): void { + function inferTypeArguments(node: CallLikeExpression, signature: Signature, args: Expression[], excludeArgument: boolean[], context: InferenceContext): void { const typeParameters = signature.typeParameters; const inferenceMapper = getInferenceMapper(context); @@ -9406,11 +9406,10 @@ namespace ts { context.failedTypeParameterIndex = undefined; } - const calleeNode = getThisArgumentOfCall(node); if (signature.thisType) { - const mapper = excludeCallee !== undefined ? identityMapper : inferenceMapper; - const calleeType: Type = calleeNode ? checkExpressionWithContextualType(calleeNode, signature.thisType, mapper) : voidType; - inferTypes(context, calleeType, signature.thisType); + const thisArgumentNode = getThisArgumentOfCall(node); + const thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; + inferTypes(context, thisArgumentType, signature.thisType); } // We perform two passes over the arguments. In the first pass we infer from all arguments, but use @@ -9442,11 +9441,6 @@ namespace ts { // Decorators will not have `excludeArgument`, as their arguments cannot be contextually typed. // Tagged template expressions will always have `undefined` for `excludeArgument[0]`. if (excludeArgument) { - if (signature.thisType && calleeNode) { - if (excludeCallee === false) { - inferTypes(context, checkExpressionWithContextualType(calleeNode, signature.thisType, inferenceMapper), signature.thisType); - } - } for (let i = 0; i < argCount; i++) { // No need to check for omitted args and template expressions, their exclusion value is always undefined if (excludeArgument[i] === false) { @@ -9496,10 +9490,10 @@ namespace ts { // If the source's this is not of the form `x.f` or `x[f]`, then sourceType = voidType // If the target's this is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. - const calleeNode = getThisArgumentOfCall(node); - const calleeType = calleeNode ? checkExpression(calleeNode) : voidType; - const errorNode = reportErrors ? (calleeNode || node) : undefined; - if (!checkTypeRelatedTo(calleeType, signature.thisType, relation, errorNode, headMessage)) { + const thisArgumentNode = getThisArgumentOfCall(node); + const thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; + const errorNode = reportErrors ? (thisArgumentNode || node) : undefined; + if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage)) { return false; } } @@ -9890,13 +9884,8 @@ namespace ts { // // For a decorator, no arguments are susceptible to contextual typing due to the fact // decorators are applied to a declaration by the emitter, and not to an expression. - let excludeCallee: boolean; let excludeArgument: boolean[]; if (!isDecorator) { - const calleeNode = getThisArgumentOfCall(node); - if (calleeNode && isContextSensitive(calleeNode)) { - excludeCallee = true; - } // We do not need to call `getEffectiveArgumentCount` here as it only // applies when calculating the number of arguments for a decorator. for (let i = isTaggedTemplate ? 1 : 0; i < args.length; i++) { @@ -10045,7 +10034,7 @@ namespace ts { typeArgumentsAreValid = checkTypeArguments(candidate, typeArguments, typeArgumentTypes, /*reportErrors*/ false); } else { - inferTypeArguments(node, candidate, args, excludeCallee, excludeArgument, inferenceContext); + inferTypeArguments(node, candidate, args, excludeArgument, inferenceContext); typeArgumentsAreValid = inferenceContext.failedTypeParameterIndex === undefined; typeArgumentTypes = inferenceContext.inferredTypes; } From 80de700be03700f483d1852a130f490a266e66b4 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 5 Feb 2016 16:18:21 -0800 Subject: [PATCH 039/342] Get contextual type of this parameter correctly Now the language service also sees the contextual type. Note that with this change, the type display for contextually typed this parameters goes away because there is no symbol. I'll fix type display next. --- src/compiler/checker.ts | 23 +++++++--- .../reference/thisTypeInFunctions.types | 42 +++++++++---------- tests/cases/fourslash/quickInfoOnThis.ts | 16 ++++++- 3 files changed, 53 insertions(+), 28 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 32e82d9d537..be98dc985b5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7383,6 +7383,10 @@ namespace ts { captureLexicalThis(node, container); } if (isFunctionLike(container)) { + const type = getContextuallyTypedThisType(container); + if (type) { + return type; + } const signature = getSignatureFromDeclaration(container); if (signature.thisType) { return signature.thisType; @@ -7633,6 +7637,19 @@ namespace ts { } } + function getContextuallyTypedThisType(func: FunctionLikeDeclaration): Type { + if ((isFunctionExpressionOrArrowFunction(func) || isObjectLiteralMethod(func)) && + isContextSensitive(func) && + func.kind !== SyntaxKind.ArrowFunction) { + const contextualSignature = getContextualSignature(func); + if (contextualSignature) { + return contextualSignature.thisType; + } + } + + return undefined; + } + // Return contextual type of parameter or undefined if no contextual type is available function getContextuallyTypedParameterType(parameter: ParameterDeclaration): Type { const func = parameter.parent; @@ -10396,12 +10413,6 @@ namespace ts { } function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { - if (context.thisType) { - if (signature.declaration.kind !== SyntaxKind.ArrowFunction) { - // do not contextually type thisType for ArrowFunction. - signature.thisType = context.thisType; - } - } const len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); for (let i = 0; i < len; i++) { const parameter = signature.parameters[i]; diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index b0fc9fc3300..e1044bb3d90 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -143,7 +143,7 @@ function implicitThis(n: number): number { let impl: I = { >impl : I >I : I ->{ a: 12, explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) explicitVoid1() { return 12; }, explicitStructural() { return this.a; }, explicitInterface() { return this.a; }, explicitThis() { return this.a; }, implicitMethod() { return this.a; }, implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?)} : { a: number; explicitVoid2: () => any; explicitVoid1(): number; explicitStructural(this: { a: number; }): number; explicitInterface(this: I): number; explicitThis(this: I): number; implicitMethod(this: I): number; implicitFunction: () => any; } +>{ a: 12, explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) explicitVoid1() { return 12; }, explicitStructural() { return this.a; }, explicitInterface() { return this.a; }, explicitThis() { return this.a; }, implicitMethod() { return this.a; }, implicitFunction: () => this.a, // ok, this: any because it refers to some outer object (window?)} : { a: number; explicitVoid2: () => any; explicitVoid1(): number; explicitStructural(): number; explicitInterface(): number; explicitThis(): number; implicitMethod(): number; implicitFunction: () => any; } a: 12, >a : number @@ -161,7 +161,7 @@ let impl: I = { >12 : number explicitStructural() { ->explicitStructural : (this: { a: number; }) => number +>explicitStructural : () => number return this.a; >this.a : number @@ -170,7 +170,7 @@ let impl: I = { }, explicitInterface() { ->explicitInterface : (this: I) => number +>explicitInterface : () => number return this.a; >this.a : number @@ -179,7 +179,7 @@ let impl: I = { }, explicitThis() { ->explicitThis : (this: I) => number +>explicitThis : () => number return this.a; >this.a : number @@ -188,7 +188,7 @@ let impl: I = { }, implicitMethod() { ->implicitMethod : (this: I) => number +>implicitMethod : () => number return this.a; >this.a : number @@ -220,21 +220,21 @@ impl.explicitVoid2 = () => 12; >12 : number impl.explicitStructural = function() { return this.a; }; ->impl.explicitStructural = function() { return this.a; } : (this: { a: number; }) => number +>impl.explicitStructural = function() { return this.a; } : () => number >impl.explicitStructural : (this: { a: number; }) => number >impl : I >explicitStructural : (this: { a: number; }) => number ->function() { return this.a; } : (this: { a: number; }) => number +>function() { return this.a; } : () => number >this.a : number >this : { a: number; } >a : number impl.explicitInterface = function() { return this.a; }; ->impl.explicitInterface = function() { return this.a; } : (this: I) => number +>impl.explicitInterface = function() { return this.a; } : () => number >impl.explicitInterface : (this: I) => number >impl : I >explicitInterface : (this: I) => number ->function() { return this.a; } : (this: I) => number +>function() { return this.a; } : () => number >this.a : number >this : I >a : number @@ -256,21 +256,21 @@ impl.explicitInterface = () => 12; >12 : number impl.explicitThis = function () { return this.a; }; ->impl.explicitThis = function () { return this.a; } : (this: I) => number +>impl.explicitThis = function () { return this.a; } : () => number >impl.explicitThis : (this: I) => number >impl : I >explicitThis : (this: I) => number ->function () { return this.a; } : (this: I) => number +>function () { return this.a; } : () => number >this.a : number >this : I >a : number impl.implicitMethod = function () { return this.a; }; ->impl.implicitMethod = function () { return this.a; } : (this: I) => number +>impl.implicitMethod = function () { return this.a; } : () => number >impl.implicitMethod : (this: I) => number >impl : I >implicitMethod : (this: I) => number ->function () { return this.a; } : (this: I) => number +>function () { return this.a; } : () => number >this.a : number >this : I >a : number @@ -719,11 +719,11 @@ c.explicitThis = function(this: C, m: number) { return this.n + m }; // this:any compatibility c.explicitC = function(m) { return this.n + m }; ->c.explicitC = function(m) { return this.n + m } : (this: C, m: number) => number +>c.explicitC = function(m) { return this.n + m } : (m: number) => number >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->function(m) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (m: number) => number >m : number >this.n + m : number >this.n : number @@ -732,11 +732,11 @@ c.explicitC = function(m) { return this.n + m }; >m : number c.explicitProperty = function(m) { return this.n + m }; ->c.explicitProperty = function(m) { return this.n + m } : (this: { n: number; }, m: number) => number +>c.explicitProperty = function(m) { return this.n + m } : (m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->function(m) { return this.n + m } : (this: { n: number; }, m: number) => number +>function(m) { return this.n + m } : (m: number) => number >m : number >this.n + m : number >this.n : number @@ -745,11 +745,11 @@ c.explicitProperty = function(m) { return this.n + m }; >m : number c.explicitThis = function(m) { return this.n + m }; ->c.explicitThis = function(m) { return this.n + m } : (this: C, m: number) => number +>c.explicitThis = function(m) { return this.n + m } : (m: number) => number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->function(m) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (m: number) => number >m : number >this.n + m : number >this.n : number @@ -758,11 +758,11 @@ c.explicitThis = function(m) { return this.n + m }; >m : number c.implicitThis = function(m) { return this.n + m }; ->c.implicitThis = function(m) { return this.n + m } : (this: C, m: number) => number +>c.implicitThis = function(m) { return this.n + m } : (m: number) => number >c.implicitThis : (this: C, m: number) => number >c : C >implicitThis : (this: C, m: number) => number ->function(m) { return this.n + m } : (this: C, m: number) => number +>function(m) { return this.n + m } : (m: number) => number >m : number >this.n + m : number >this.n : number diff --git a/tests/cases/fourslash/quickInfoOnThis.ts b/tests/cases/fourslash/quickInfoOnThis.ts index cef78efe0cc..3213b85174e 100644 --- a/tests/cases/fourslash/quickInfoOnThis.ts +++ b/tests/cases/fourslash/quickInfoOnThis.ts @@ -42,6 +42,17 @@ ////function explicitLiteral(th/*14*/is: { n: number }): void { //// console.log(th/*15*/is); ////} +//// +//// interface ContextualInterface { +//// m: number; +//// method(this: this, n: number); +//// } +//// let o: ContextualInterface = { +//// m: 12, +//// method(n) { +//// let x = this/*16*/.m; +//// } +//// } goTo.marker('1'); verify.quickInfoIs('void'); @@ -73,4 +84,7 @@ goTo.marker('14'); verify.quickInfoIs('(parameter) this: {\n n: number;\n}'); goTo.marker('15'); -verify.quickInfoIs('this: {\n n: number;\n}'); \ No newline at end of file +verify.quickInfoIs('this: {\n n: number;\n}'); + +goTo.marker('16'); +verify.quickInfoIs('this: ContextualInterface'); \ No newline at end of file From c7e80e19f0bf61d9097e89e4dc1864e51b128821 Mon Sep 17 00:00:00 2001 From: vilicvane Date: Sat, 6 Feb 2016 16:51:25 +0800 Subject: [PATCH 040/342] Avoid writing files that are not changed while compiling incrementally. --- src/compiler/sys.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 9c3972b2756..69277f65a92 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -39,6 +39,15 @@ namespace ts { referenceCount: number; } + interface OutputFingerprint { + hash: string; + mtime: Date; + } + + interface OutputFingerprintMap { + [fileName: string]: OutputFingerprint; + } + declare var require: any; declare var module: any; declare var process: any; @@ -226,6 +235,7 @@ namespace ts { const _fs = require("fs"); const _path = require("path"); const _os = require("os"); + const _crypto = require("crypto"); // average async stat takes about 30 microseconds // set chunk size to do 30 files in < 1 millisecond @@ -439,12 +449,26 @@ namespace ts { return buffer.toString("utf8"); } + const outputFingerprintMap: OutputFingerprintMap = {}; + function writeFile(fileName: string, data: string, writeByteOrderMark?: boolean): void { // If a BOM is required, emit one if (writeByteOrderMark) { data = "\uFEFF" + data; } + const md5 = getMd5(data); + const mtimeBefore = _fs.existsSync(fileName) && _fs.statSync(fileName).mtime; + + if (mtimeBefore && outputFingerprintMap.hasOwnProperty(fileName)) { + const fingerprint = outputFingerprintMap[fileName]; + + // If output has not been changed, and the file has no external modification + if (fingerprint.hash === md5 && fingerprint.mtime.getTime() === mtimeBefore.getTime()) { + return; + } + } + let fd: number; try { @@ -456,6 +480,19 @@ namespace ts { _fs.closeSync(fd); } } + + const mtimeAfter = _fs.statSync(fileName).mtime; + + outputFingerprintMap[fileName] = { + hash: md5, + mtime: mtimeAfter + }; + } + + function getMd5(data: string): string { + const hash = _crypto.createHash("md5"); + hash.update(data); + return hash.digest("hex"); } function getCanonicalPath(path: string): string { From fa598758b12d9b06c2b21579e8512a32bffd5065 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 8 Feb 2016 09:41:57 -0800 Subject: [PATCH 041/342] Improve display and contextual typing of `this` 1. Always display `this` type if annotated. 2. Contextually type un-annotated `this` parameters in addition to `this` expressions. --- src/compiler/checker.ts | 9 +- .../reference/contextualTyping24.errors.txt | 4 +- .../looseThisTypeInFunctions.errors.txt | 4 +- .../reference/thisTypeInFunctions.types | 128 +++++++++--------- .../thisTypeInFunctionsNegative.errors.txt | 16 +-- tests/cases/fourslash/quickInfoOnThis.ts | 16 ++- 6 files changed, 92 insertions(+), 85 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index be98dc985b5..06986107fbb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2203,15 +2203,14 @@ namespace ts { function buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { writePunctuation(writer, SyntaxKind.OpenParenToken); - const useThisType = thisType && thisType.symbol; - if (useThisType) { + if (thisType) { writeKeyword(writer, SyntaxKind.ThisKeyword); writePunctuation(writer, SyntaxKind.ColonToken); writeSpace(writer); buildTypeDisplay(thisType, writer, enclosingDeclaration, flags, symbolStack); } for (let i = 0; i < parameters.length; i++) { - if (i > 0 || useThisType) { + if (i > 0 || thisType) { writePunctuation(writer, SyntaxKind.CommaToken); writeSpace(writer); } @@ -2690,7 +2689,9 @@ namespace ts { } } // Use contextual parameter type if one is available - const type = getContextuallyTypedParameterType(declaration); + const type = declaration.symbol.name === "this" + ? getContextuallyTypedThisType(func) + : getContextuallyTypedParameterType(declaration); if (type) { return type; } diff --git a/tests/baselines/reference/contextualTyping24.errors.txt b/tests/baselines/reference/contextualTyping24.errors.txt index b4d0d534456..d5cb13e4e3e 100644 --- a/tests/baselines/reference/contextualTyping24.errors.txt +++ b/tests/baselines/reference/contextualTyping24.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. +tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(this: void, a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. Types of parameters 'a' and 'a' are incompatible. Type 'string' is not assignable to type '{ (): number; (i: number): number; }'. @@ -6,6 +6,6 @@ tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(a: string ==== tests/cases/compiler/contextualTyping24.ts (1 errors) ==== var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, a:string){return 5}; ~~~ -!!! error TS2322: Type '(a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. +!!! error TS2322: Type '(this: void, a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. !!! error TS2322: Types of parameters 'a' and 'a' are incompatible. !!! error TS2322: Type 'string' is not assignable to type '{ (): number; (i: number): number; }'. \ No newline at end of file diff --git a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt index 317446050a8..4eef7d83f78 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt +++ b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(21,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(21,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(this: void, m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'C'. tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(32,5): error TS1005: ',' expected. @@ -30,7 +30,7 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,19): error let c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything ~~~~~~~~~~~~~~ -!!! error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(this: void, m: number) => number'. !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type 'C'. let o = { diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index e1044bb3d90..2c334b2caed 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -56,7 +56,7 @@ class C { >m : number } explicitVoid(this: void, m: number): number { ->explicitVoid : (m: number) => number +>explicitVoid : (this: void, m: number) => number >this : void >m : number @@ -83,11 +83,11 @@ interface I { >a : number explicitVoid1(this: void): number; ->explicitVoid1 : () => number +>explicitVoid1 : (this: void) => number >this : void explicitVoid2(this: void): number; ->explicitVoid2 : () => number +>explicitVoid2 : (this: void) => number >this : void explicitStructural(this: {a: number}): number; @@ -108,7 +108,7 @@ interface I { >implicitMethod : (this: this) => number implicitFunction: () => number; ->implicitFunction : () => number +>implicitFunction : (this: void) => number } function explicitStructural(this: { y: number }, x: number): number { >explicitStructural : (this: { y: number; }, x: number) => number @@ -134,7 +134,7 @@ function justThis(this: { y: number }): number { >y : number } function implicitThis(n: number): number { ->implicitThis : (n: number) => number +>implicitThis : (this: void, n: number) => number >n : number return 12; @@ -204,37 +204,37 @@ let impl: I = { >a : any } impl.explicitVoid1 = function () { return 12; }; ->impl.explicitVoid1 = function () { return 12; } : () => number ->impl.explicitVoid1 : () => number +>impl.explicitVoid1 = function () { return 12; } : (this: void) => number +>impl.explicitVoid1 : (this: void) => number >impl : I ->explicitVoid1 : () => number ->function () { return 12; } : () => number +>explicitVoid1 : (this: void) => number +>function () { return 12; } : (this: void) => number >12 : number impl.explicitVoid2 = () => 12; >impl.explicitVoid2 = () => 12 : () => number ->impl.explicitVoid2 : () => number +>impl.explicitVoid2 : (this: void) => number >impl : I ->explicitVoid2 : () => number +>explicitVoid2 : (this: void) => number >() => 12 : () => number >12 : number impl.explicitStructural = function() { return this.a; }; ->impl.explicitStructural = function() { return this.a; } : () => number +>impl.explicitStructural = function() { return this.a; } : (this: void) => number >impl.explicitStructural : (this: { a: number; }) => number >impl : I >explicitStructural : (this: { a: number; }) => number ->function() { return this.a; } : () => number +>function() { return this.a; } : (this: void) => number >this.a : number >this : { a: number; } >a : number impl.explicitInterface = function() { return this.a; }; ->impl.explicitInterface = function() { return this.a; } : () => number +>impl.explicitInterface = function() { return this.a; } : (this: void) => number >impl.explicitInterface : (this: I) => number >impl : I >explicitInterface : (this: I) => number ->function() { return this.a; } : () => number +>function() { return this.a; } : (this: void) => number >this.a : number >this : I >a : number @@ -256,21 +256,21 @@ impl.explicitInterface = () => 12; >12 : number impl.explicitThis = function () { return this.a; }; ->impl.explicitThis = function () { return this.a; } : () => number +>impl.explicitThis = function () { return this.a; } : (this: void) => number >impl.explicitThis : (this: I) => number >impl : I >explicitThis : (this: I) => number ->function () { return this.a; } : () => number +>function () { return this.a; } : (this: void) => number >this.a : number >this : I >a : number impl.implicitMethod = function () { return this.a; }; ->impl.implicitMethod = function () { return this.a; } : () => number +>impl.implicitMethod = function () { return this.a; } : (this: void) => number >impl.implicitMethod : (this: I) => number >impl : I >implicitMethod : (this: I) => number ->function () { return this.a; } : () => number +>function () { return this.a; } : (this: void) => number >this.a : number >this : I >a : number @@ -285,9 +285,9 @@ impl.implicitMethod = () => 12; impl.implicitFunction = () => this.a; // ok, this: any because it refers to some outer object (window?) >impl.implicitFunction = () => this.a : () => any ->impl.implicitFunction : () => number +>impl.implicitFunction : (this: void) => number >impl : I ->implicitFunction : () => number +>implicitFunction : (this: void) => number >() => this.a : () => any >this.a : any >this : any @@ -308,15 +308,15 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: >explicitStructural : (this: { y: number; }, x: number) => number let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; ->implicitAnyOk : { notSpecified: number; f: (x: number) => number; } +>implicitAnyOk : { notSpecified: number; f: (this: void, x: number) => number; } >notSpecified : number ->f : (x: number) => number +>f : (this: void, x: number) => number >x : number ->{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (n: number) => number; } +>{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (this: void, n: number) => number; } >notSpecified : number >12 : number ->f : (n: number) => number ->implicitThis : (n: number) => number +>f : (this: void, n: number) => number +>implicitThis : (this: void, n: number) => number ok.f(13); >ok.f(13) : number @@ -327,14 +327,14 @@ ok.f(13); implicitThis(12); >implicitThis(12) : number ->implicitThis : (n: number) => number +>implicitThis : (this: void, n: number) => number >12 : number implicitAnyOk.f(12); >implicitAnyOk.f(12) : number ->implicitAnyOk.f : (x: number) => number ->implicitAnyOk : { notSpecified: number; f: (x: number) => number; } ->f : (x: number) => number +>implicitAnyOk.f : (this: void, x: number) => number +>implicitAnyOk : { notSpecified: number; f: (this: void, x: number) => number; } +>f : (this: void, x: number) => number >12 : number let c = new C(); @@ -410,7 +410,7 @@ d.implicitThis(12); >12 : number let reconstructed: { ->reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } n: number, >n : number @@ -438,12 +438,12 @@ let reconstructed: { >m : number explicitVoid(this: void, m: number): number, ->explicitVoid : (m: number) => number +>explicitVoid : (this: void, m: number) => number >this : void >m : number } = { ->{ n: 12, explicitThis: c.explicitThis, implicitThis: c.implicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; implicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (m: number) => number; } +>{ n: 12, explicitThis: c.explicitThis, implicitThis: c.implicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; implicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (this: void, m: number) => number; } n: 12, >n : number @@ -474,23 +474,23 @@ let reconstructed: { >explicitProperty : (this: { n: number; }, m: number) => number explicitVoid: c.explicitVoid ->explicitVoid : (m: number) => number ->c.explicitVoid : (m: number) => number +>explicitVoid : (this: void, m: number) => number +>c.explicitVoid : (this: void, m: number) => number >c : C ->explicitVoid : (m: number) => number +>explicitVoid : (this: void, m: number) => number }; reconstructed.explicitProperty(11); >reconstructed.explicitProperty(11) : number >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number ->reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >explicitProperty : (this: { n: number; }, m: number) => number >11 : number reconstructed.implicitThis(11); >reconstructed.implicitThis(11) : number >reconstructed.implicitThis : (m: number) => number ->reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >implicitThis : (m: number) => number >11 : number @@ -520,14 +520,14 @@ let anyToSpecified: (this: { y: number }, x: number) => number = function(x: num >this : { y: number; } >y : number >x : number ->function(x: number): number { return x + 12; } : (x: number) => number +>function(x: number): number { return x + 12; } : (this: void, x: number) => number >x : number >x + 12 : number >x : number >12 : number let unspecifiedLambda: (x: number) => number = x => x + 12; ->unspecifiedLambda : (x: number) => number +>unspecifiedLambda : (this: void, x: number) => number >x : number >x => x + 12 : (x: number) => number >x : number @@ -536,7 +536,7 @@ let unspecifiedLambda: (x: number) => number = x => x + 12; >12 : number let specifiedLambda: (this: void, x: number) => number = x => x + 12; ->specifiedLambda : (x: number) => number +>specifiedLambda : (this: void, x: number) => number >this : void >x : number >x => x + 12 : (x: number) => number @@ -550,14 +550,14 @@ let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = uns >this : { y: number; } >y : number >x : number ->unspecifiedLambda : (x: number) => number +>unspecifiedLambda : (this: void, x: number) => number let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; >specifiedLambdaToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number ->specifiedLambda : (x: number) => number +>specifiedLambda : (this: void, x: number) => number let explicitCFunction: (this: C, m: number) => number; @@ -622,7 +622,7 @@ c.explicitProperty = reconstructed.explicitProperty; >c : C >explicitProperty : (this: { n: number; }, m: number) => number >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number ->reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >explicitProperty : (this: { n: number; }, m: number) => number // lambdas are assignable to anything @@ -719,11 +719,11 @@ c.explicitThis = function(this: C, m: number) { return this.n + m }; // this:any compatibility c.explicitC = function(m) { return this.n + m }; ->c.explicitC = function(m) { return this.n + m } : (m: number) => number +>c.explicitC = function(m) { return this.n + m } : (this: void, m: number) => number >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: void, m: number) => number >m : number >this.n + m : number >this.n : number @@ -732,11 +732,11 @@ c.explicitC = function(m) { return this.n + m }; >m : number c.explicitProperty = function(m) { return this.n + m }; ->c.explicitProperty = function(m) { return this.n + m } : (m: number) => number +>c.explicitProperty = function(m) { return this.n + m } : (this: void, m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: void, m: number) => number >m : number >this.n + m : number >this.n : number @@ -745,11 +745,11 @@ c.explicitProperty = function(m) { return this.n + m }; >m : number c.explicitThis = function(m) { return this.n + m }; ->c.explicitThis = function(m) { return this.n + m } : (m: number) => number +>c.explicitThis = function(m) { return this.n + m } : (this: void, m: number) => number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: void, m: number) => number >m : number >this.n + m : number >this.n : number @@ -758,11 +758,11 @@ c.explicitThis = function(m) { return this.n + m }; >m : number c.implicitThis = function(m) { return this.n + m }; ->c.implicitThis = function(m) { return this.n + m } : (m: number) => number +>c.implicitThis = function(m) { return this.n + m } : (this: void, m: number) => number >c.implicitThis : (this: C, m: number) => number >c : C >implicitThis : (this: C, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: void, m: number) => number >m : number >this.n + m : number >this.n : number @@ -776,7 +776,7 @@ c.implicitThis = reconstructed.implicitThis; >c : C >implicitThis : (this: C, m: number) => number >reconstructed.implicitThis : (m: number) => number ->reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; implicitThis(m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >implicitThis : (m: number) => number c.explicitC = function(this: B, m: number) { return this.n + m }; @@ -797,9 +797,9 @@ c.explicitC = function(this: B, m: number) { return this.n + m }; // this:void compatibility c.explicitVoid = n => n; >c.explicitVoid = n => n : (n: number) => number ->c.explicitVoid : (m: number) => number +>c.explicitVoid : (this: void, m: number) => number >c : C ->explicitVoid : (m: number) => number +>explicitVoid : (this: void, m: number) => number >n => n : (n: number) => number >n : number >n : number @@ -978,7 +978,7 @@ function LiteralTypeThis(this: {x: string}) { >"ok" : string } function AnyThis(this: any) { ->AnyThis : () => void +>AnyThis : (this: any) => void >this : any this.x = "ok"; @@ -1001,20 +1001,20 @@ let literalTypeThis = new LiteralTypeThis(); let anyThis = new AnyThis(); >anyThis : any >new AnyThis() : any ->AnyThis : () => void +>AnyThis : (this: any) => void //// type parameter inference //// declare var f: { ->f : { (x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } +>f : { (this: void, x: number): number; call(this: (this: void, ...argArray: any[]) => U, ...argArray: any[]): U; } (this: void, x: number): number, >this : void >x : number call(this: (...argArray: any[]) => U, ...argArray: any[]): U; ->call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U +>call : (this: (this: void, ...argArray: any[]) => U, ...argArray: any[]) => U >U : U ->this : (...argArray: any[]) => U +>this : (this: void, ...argArray: any[]) => U >argArray : any[] >U : U >argArray : any[] @@ -1024,13 +1024,13 @@ declare var f: { let n: number = f.call(12); >n : number >f.call(12) : number ->f.call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U ->f : { (x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } ->call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U +>f.call : (this: (this: void, ...argArray: any[]) => U, ...argArray: any[]) => U +>f : { (this: void, x: number): number; call(this: (this: void, ...argArray: any[]) => U, ...argArray: any[]): U; } +>call : (this: (this: void, ...argArray: any[]) => U, ...argArray: any[]) => U >12 : number function missingTypeIsImplicitAny(this, a: number) { return a; } ->missingTypeIsImplicitAny : (a: number) => number +>missingTypeIsImplicitAny : (this: any, a: number) => number >this : any >a : number >a : number diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 0b755b9e0bd..fdb9489f639 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -33,7 +33,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(95,1): err tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(96,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(97,20): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(98,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(101,5): error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(x: number) => number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(101,5): error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(this: void, x: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type '{ y: number; }'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(124,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. @@ -70,13 +70,13 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(134,1): er Types of parameters 'this' and 'this' are incompatible. Type '{ n: number; }' is not assignable to type 'D'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(135,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(136,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(136,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'D'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(137,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(137,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'D'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(138,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(138,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'D'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(146,51): error TS2339: Property 'x' does not exist on type 'typeof Base1'. @@ -287,7 +287,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,35): e // oops, this triggers contextual typing, which needs to be updated to understand that =>'s `this` is void. let specifiedToImplicitVoid: (x: number) => number = explicitStructural; ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(x: number) => number'. +!!! error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(this: void, x: number) => number'. !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type '{ y: number; }'. @@ -371,17 +371,17 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,35): e !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. c.explicitVoid = d.implicitD; ~~~~~~~~~~~~~~ -!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type 'D'. c.explicitVoid = d.explicitD; ~~~~~~~~~~~~~~ -!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type 'D'. c.explicitVoid = d.explicitThis; ~~~~~~~~~~~~~~ -!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(m: number) => number'. +!!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. !!! error TS2322: Types of parameters 'this' and 'this' are incompatible. !!! error TS2322: Type 'void' is not assignable to type 'D'. diff --git a/tests/cases/fourslash/quickInfoOnThis.ts b/tests/cases/fourslash/quickInfoOnThis.ts index 3213b85174e..57bbb6c5a3e 100644 --- a/tests/cases/fourslash/quickInfoOnThis.ts +++ b/tests/cases/fourslash/quickInfoOnThis.ts @@ -43,16 +43,20 @@ //// console.log(th/*15*/is); ////} //// -//// interface ContextualInterface { +////interface ContextualInterface { //// m: number; //// method(this: this, n: number); -//// } -//// let o: ContextualInterface = { +////} +////let o: ContextualInterface = { //// m: 12, //// method(n) { //// let x = this/*16*/.m; //// } -//// } +////} +////interface ContextualInterface2 { +//// (this: void, n: number): void; +////} +////let contextualInterface2: ContextualInterface2 = function (th/*17*/is, n) { } goTo.marker('1'); verify.quickInfoIs('void'); @@ -87,4 +91,6 @@ goTo.marker('15'); verify.quickInfoIs('this: {\n n: number;\n}'); goTo.marker('16'); -verify.quickInfoIs('this: ContextualInterface'); \ No newline at end of file +verify.quickInfoIs('this: ContextualInterface'); +goTo.marker('17'); +verify.quickInfoIs('(parameter) this: void'); \ No newline at end of file From 738713b146d055194254640d8b079cc54ca6cd7f Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 8 Feb 2016 14:01:51 -0800 Subject: [PATCH 042/342] Improve error reporting 1. Fix bug in error reporting in compareSignaturesRelated. 2. When the this-argument is a union type, allow assignability when the method's signature is assignable to *any* member of the union. --- src/compiler/checker.ts | 12 +- src/compiler/core.ts | 17 + .../reference/thisTypeInFunctions.js | 24 +- .../reference/thisTypeInFunctions.symbols | 382 +++++++++--------- .../reference/thisTypeInFunctions.types | 25 +- .../types/thisType/thisTypeInFunctions.ts | 11 +- 6 files changed, 267 insertions(+), 204 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 06986107fbb..0acb3a127d5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5305,7 +5305,9 @@ namespace ts { if (!related) { related = compareTypes(source.thisType, target.thisType, /*reportErrors*/ false); if (!related) { - errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, "this", "this"); + if (reportErrors) { + errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, "this", "this"); + } return Ternary.False; } } @@ -9511,7 +9513,13 @@ namespace ts { const thisArgumentNode = getThisArgumentOfCall(node); const thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; const errorNode = reportErrors ? (thisArgumentNode || node) : undefined; - if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage)) { + if (thisArgumentType.flags & TypeFlags.UnionOrIntersection) { + const u = thisArgumentType; + if (!forEach(u.types, t => checkTypeRelatedTo(t, signature.thisType, relation, errorNode, headMessage))) { + return false; + } + } + else if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage)) { return false; } } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 21536da36ff..f1f9d93c5d2 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -91,6 +91,23 @@ namespace ts { return undefined; } + /** + * Iterates through `array` by index and performs the callback on each element of array until the callback + * returns a falsey value, then returns false. + * If no such value is found, the callback is applied to each element of array and `true` is returned. + */ + export function trueForAll(array: T[], callback: (element: T, index: number) => boolean): boolean { + if (array) { + for (let i = 0, len = array.length; i < len; i++) { + if (!callback(array[i], i)) { + return false; + } + } + } + + return true; + } + export function contains(array: T[], value: T): boolean { if (array) { for (const v of array) { diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js index f3ad84acb55..af55603a4b7 100644 --- a/tests/baselines/reference/thisTypeInFunctions.js +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -1,5 +1,8 @@ //// [thisTypeInFunctions.ts] // body checking +class B { + n: number; +} class C { n: number; explicitThis(this: this, m: number): number { @@ -19,9 +22,6 @@ class C { } } class D extends C { } -class B { - n: number; -} interface I { a: number; explicitVoid1(this: void): number; @@ -185,6 +185,11 @@ d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +// union assignability + +let b1b2: Base1 | Base2; +b1b2.implicit(); + ////// use this-type for construction with new //// function InterfaceThis(this: I) { this.a = 12; @@ -216,6 +221,11 @@ var __extends = (this && this.__extends) || function (d, b) { }; var _this = this; // body checking +var B = (function () { + function B() { + } + return B; +}()); var C = (function () { function C() { } @@ -243,11 +253,6 @@ var D = (function (_super) { } return D; }(C)); -var B = (function () { - function B() { - } - return B; -}()); function explicitStructural(x) { return x + this.y; } @@ -390,6 +395,9 @@ d1.implicit = b2.implicit; // ok, 'y' in D: { x, y } (d assignable e) d2.implicit = d1.explicit; // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) +// union assignability +var b1b2; +b1b2.implicit(); ////// use this-type for construction with new //// function InterfaceThis() { this.a = 12; diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols index bb6a9acfdd0..120494c206f 100644 --- a/tests/baselines/reference/thisTypeInFunctions.symbols +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -1,77 +1,77 @@ === tests/cases/conformance/types/thisType/thisTypeInFunctions.ts === // body checking -class C { ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +class B { +>B : Symbol(B, Decl(thisTypeInFunctions.ts, 0, 0)) n: number; >n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) +} +class C { +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) + + n: number; +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) explicitThis(this: this, m: number): number { ->explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 3, 17)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 3, 28)) +>explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 6, 17)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 28)) return this.n + m; ->this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 3, 28)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 28)) } implicitThis(m: number): number { ->implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 17)) +>implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 17)) return this.n + m; ->this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 6, 17)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 17)) } explicitC(this: C, m: number): number { ->explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 9, 14)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 22)) +>explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 12, 14)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 22)) return this.n + m; ->this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 1, 9)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 9, 22)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 4, 9)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 22)) } explicitProperty(this: {n: number}, m: number): number { ->explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 12, 21)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 39)) +>explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 15, 21)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 15, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 39)) return this.n + m; ->this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 12, 26)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 12, 39)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 15, 28)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 15, 26)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 15, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 39)) } explicitVoid(this: void, m: number): number { ->explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 15, 17)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 28)) +>explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 17, 5)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 18, 17)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 18, 28)) return m + 1; ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 15, 28)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 18, 28)) } } class D extends C { } ->D : Symbol(D, Decl(thisTypeInFunctions.ts, 18, 1)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>D : Symbol(D, Decl(thisTypeInFunctions.ts, 21, 1)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) -class B { ->B : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) - - n: number; ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 20, 9)) -} interface I { ->I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) a: number; >a : Symbol(a, Decl(thisTypeInFunctions.ts, 23, 13)) @@ -92,7 +92,7 @@ interface I { explicitInterface(this: I): number; >explicitInterface : Symbol(explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 28, 22)) ->I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) explicitThis(this: this): number; >explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 28, 39)) @@ -134,7 +134,7 @@ function implicitThis(n: number): number { } let impl: I = { >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) ->I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) a: 12, >a : Symbol(a, Decl(thisTypeInFunctions.ts, 42, 15)) @@ -159,7 +159,7 @@ let impl: I = { return this.a; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) }, @@ -168,7 +168,7 @@ let impl: I = { return this.a; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) }, @@ -177,7 +177,7 @@ let impl: I = { return this.a; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) }, @@ -207,7 +207,7 @@ impl.explicitInterface = function() { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) >explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 27, 50)) >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) impl.explicitStructural = () => 12; @@ -225,7 +225,7 @@ impl.explicitThis = function () { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) >explicitThis : Symbol(I.explicitThis, Decl(thisTypeInFunctions.ts, 28, 39)) >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) impl.implicitMethod = function () { return this.a; }; @@ -233,7 +233,7 @@ impl.implicitMethod = function () { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 42, 3)) >implicitMethod : Symbol(I.implicitMethod, Decl(thisTypeInFunctions.ts, 29, 37)) >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) impl.implicitMethod = () => 12; @@ -282,57 +282,57 @@ implicitAnyOk.f(12); let c = new C(); >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) let d = new D(); >d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) ->D : Symbol(D, Decl(thisTypeInFunctions.ts, 18, 1)) +>D : Symbol(D, Decl(thisTypeInFunctions.ts, 21, 1)) let ripped = c.explicitC; >ripped : Symbol(ripped, Decl(thisTypeInFunctions.ts, 79, 3)) ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) c.explicitC(12); ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) c.explicitProperty(12); ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) c.explicitThis(12); ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) c.implicitThis(12); ->c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) d.explicitC(12); ->d.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>d.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) d.explicitProperty(12); ->d.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>d.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) d.explicitThis(12); ->d.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>d.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) d.implicitThis(12); ->d.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>d.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >d : Symbol(d, Decl(thisTypeInFunctions.ts, 78, 3)) ->implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) let reconstructed: { >reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) @@ -343,7 +343,7 @@ let reconstructed: { explicitThis(this: C, m: number): number, // note: this: this is not allowed in an object literal type. >explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 89, 14)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 90, 17)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 90, 25)) implicitThis(m: number): number, @@ -353,7 +353,7 @@ let reconstructed: { explicitC(this: C, m: number): number, >explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 91, 36)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 92, 14)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 92, 22)) explicitProperty: (this: {n : number}, m: number) => number, @@ -373,33 +373,33 @@ let reconstructed: { explicitThis: c.explicitThis, >explicitThis : Symbol(explicitThis, Decl(thisTypeInFunctions.ts, 96, 10)) ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) implicitThis: c.implicitThis, >implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 97, 33)) ->c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) explicitC: c.explicitC, >explicitC : Symbol(explicitC, Decl(thisTypeInFunctions.ts, 98, 33)) ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) explicitProperty: c.explicitProperty, >explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 99, 27)) ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) explicitVoid: c.explicitVoid >explicitVoid : Symbol(explicitVoid, Decl(thisTypeInFunctions.ts, 100, 41)) ->c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 17, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 17, 5)) }; reconstructed.explicitProperty(11); @@ -467,7 +467,7 @@ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = speci let explicitCFunction: (this: C, m: number) => number; >explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 117, 24)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 117, 32)) let explicitPropertyFunction: (this: {n: number}, m: number) => number; @@ -477,33 +477,33 @@ let explicitPropertyFunction: (this: {n: number}, m: number) => number; >m : Symbol(m, Decl(thisTypeInFunctions.ts, 118, 49)) c.explicitC = explicitCFunction; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) c.explicitC = function(this: C, m: number) { return this.n + m }; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 120, 23)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 120, 31)) ->this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 120, 31)) c.explicitProperty = explicitPropertyFunction; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 118, 3)) c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 122, 30)) >n : Symbol(n, Decl(thisTypeInFunctions.ts, 122, 37)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 122, 48)) @@ -513,143 +513,143 @@ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m >m : Symbol(m, Decl(thisTypeInFunctions.ts, 122, 48)) c.explicitProperty = reconstructed.explicitProperty; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >reconstructed.explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) >reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) >explicitProperty : Symbol(explicitProperty, Decl(thisTypeInFunctions.ts, 92, 42)) // lambdas are assignable to anything c.explicitC = m => m; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 13)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 13)) c.explicitThis = m => m; ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 16)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 16)) c.explicitProperty = m => m; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 20)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 20)) // this inside lambdas refer to outer scope // the outer-scoped lambda at top-level is still just `any` c.explicitC = m => m + this.n; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 132, 13)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 132, 13)) c.explicitThis = m => m + this.n; ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 133, 16)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 133, 16)) c.explicitProperty = m => m + this.n; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 134, 20)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 134, 20)) //NOTE: this=C here, I guess? c.explicitThis = explicitCFunction; ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 117, 3)) c.explicitThis = function(this: C, m: number) { return this.n + m }; ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 138, 26)) ->C : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) +>C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 138, 34)) ->this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 138, 34)) // this:any compatibility c.explicitC = function(m) { return this.n + m }; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 141, 23)) ->this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 141, 23)) c.explicitProperty = function(m) { return this.n + m }; ->c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) +>explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 14, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 142, 30)) ->this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 12, 26)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) +>this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 15, 28)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 15, 26)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 15, 28)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 142, 30)) c.explicitThis = function(m) { return this.n + m }; ->c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 2, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 143, 26)) ->this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 143, 26)) c.implicitThis = function(m) { return this.n + m }; ->c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 144, 26)) ->this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 0, 0)) ->n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) +>this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 144, 26)) c.implicitThis = reconstructed.implicitThis; ->c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>c.implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 5, 5)) +>implicitThis : Symbol(C.implicitThis, Decl(thisTypeInFunctions.ts, 8, 5)) >reconstructed.implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) >reconstructed : Symbol(reconstructed, Decl(thisTypeInFunctions.ts, 88, 3)) >implicitThis : Symbol(implicitThis, Decl(thisTypeInFunctions.ts, 90, 45)) c.explicitC = function(this: B, m: number) { return this.n + m }; ->c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) +>explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 11, 5)) >this : Symbol(this, Decl(thisTypeInFunctions.ts, 147, 23)) ->B : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) +>B : Symbol(B, Decl(thisTypeInFunctions.ts, 0, 0)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 147, 31)) ->this.n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 20, 9)) ->this : Symbol(B, Decl(thisTypeInFunctions.ts, 19, 21)) ->n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 20, 9)) +>this.n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 1, 9)) +>this : Symbol(B, Decl(thisTypeInFunctions.ts, 0, 0)) +>n : Symbol(B.n, Decl(thisTypeInFunctions.ts, 1, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 147, 31)) // this:void compatibility c.explicitVoid = n => n; ->c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>c.explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 17, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 77, 3)) ->explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 14, 5)) +>explicitVoid : Symbol(C.explicitVoid, Decl(thisTypeInFunctions.ts, 17, 5)) >n : Symbol(n, Decl(thisTypeInFunctions.ts, 150, 16)) >n : Symbol(n, Decl(thisTypeInFunctions.ts, 150, 16)) @@ -791,72 +791,84 @@ b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) >d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) >implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) +// union assignability + +let b1b2: Base1 | Base2; +>b1b2 : Symbol(b1b2, Decl(thisTypeInFunctions.ts, 188, 3)) +>Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) +>Base2 : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) + +b1b2.implicit(); +>b1b2.implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 154, 14), Decl(thisTypeInFunctions.ts, 166, 13)) +>b1b2 : Symbol(b1b2, Decl(thisTypeInFunctions.ts, 188, 3)) +>implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 154, 14), Decl(thisTypeInFunctions.ts, 166, 13)) + ////// use this-type for construction with new //// function InterfaceThis(this: I) { ->InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 187, 23)) ->I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 189, 16)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 192, 23)) +>I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) this.a = 12; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 1)) +>this : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) } function LiteralTypeThis(this: {x: string}) { ->LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 190, 25)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 194, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 195, 25)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) this.x = "ok"; ->this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 190, 30)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) +>this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 195, 30)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) } function AnyThis(this: any) { ->AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 193, 17)) +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 197, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 198, 17)) this.x = "ok"; } let interfaceThis = new InterfaceThis(); ->interfaceThis : Symbol(interfaceThis, Decl(thisTypeInFunctions.ts, 196, 3)) ->InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) +>interfaceThis : Symbol(interfaceThis, Decl(thisTypeInFunctions.ts, 201, 3)) +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 189, 16)) let literalTypeThis = new LiteralTypeThis(); ->literalTypeThis : Symbol(literalTypeThis, Decl(thisTypeInFunctions.ts, 197, 3)) ->LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) +>literalTypeThis : Symbol(literalTypeThis, Decl(thisTypeInFunctions.ts, 202, 3)) +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 194, 1)) let anyThis = new AnyThis(); ->anyThis : Symbol(anyThis, Decl(thisTypeInFunctions.ts, 198, 3)) ->AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) +>anyThis : Symbol(anyThis, Decl(thisTypeInFunctions.ts, 203, 3)) +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 197, 1)) //// type parameter inference //// declare var f: { ->f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 206, 11)) (this: void, x: number): number, ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 202, 5)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 202, 16)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 207, 5)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 207, 16)) call(this: (...argArray: any[]) => U, ...argArray: any[]): U; ->call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 203, 12)) ->argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 19)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) ->argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 44)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 208, 12)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 208, 19)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 208, 44)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) }; let n: number = f.call(12); ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 205, 3)) ->f.call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) ->f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) ->call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 210, 3)) +>f.call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 206, 11)) +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) function missingTypeIsImplicitAny(this, a: number) { return a; } ->missingTypeIsImplicitAny : Symbol(missingTypeIsImplicitAny, Decl(thisTypeInFunctions.ts, 205, 27)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 207, 34)) ->a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) ->a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) +>missingTypeIsImplicitAny : Symbol(missingTypeIsImplicitAny, Decl(thisTypeInFunctions.ts, 210, 27)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 212, 34)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 212, 39)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 212, 39)) diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index 2c334b2caed..e5f6a561d59 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -1,5 +1,11 @@ === tests/cases/conformance/types/thisType/thisTypeInFunctions.ts === // body checking +class B { +>B : B + + n: number; +>n : number +} class C { >C : C @@ -70,12 +76,6 @@ class D extends C { } >D : D >C : C -class B { ->B : B - - n: number; ->n : number -} interface I { >I : I @@ -952,6 +952,19 @@ b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) >d2 : Derived2 >implicit : (this: Derived2) => number +// union assignability + +let b1b2: Base1 | Base2; +>b1b2 : Base1 | Base2 +>Base1 : Base1 +>Base2 : Base2 + +b1b2.implicit(); +>b1b2.implicit() : number +>b1b2.implicit : ((this: Base1) => number) | ((this: Base2) => number) +>b1b2 : Base1 | Base2 +>implicit : ((this: Base1) => number) | ((this: Base2) => number) + ////// use this-type for construction with new //// function InterfaceThis(this: I) { >InterfaceThis : (this: I) => void diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts index f92b8ab4e15..e5cc9e45ba2 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -1,5 +1,8 @@ // @strictThis: true // body checking +class B { + n: number; +} class C { n: number; explicitThis(this: this, m: number): number { @@ -19,9 +22,6 @@ class C { } } class D extends C { } -class B { - n: number; -} interface I { a: number; explicitVoid1(this: void): number; @@ -185,6 +185,11 @@ d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) +// union assignability + +let b1b2: Base1 | Base2; +b1b2.implicit(); + ////// use this-type for construction with new //// function InterfaceThis(this: I) { this.a = 12; From 41bb4468652243e2df9f1bd563f7544469bb3021 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 8 Feb 2016 16:39:19 -0800 Subject: [PATCH 043/342] Revert unioning of this argument types The right solution is to not instantiate this-types of unions, which is a separate problem more to do with this-class types. --- src/compiler/checker.ts | 8 +- src/compiler/core.ts | 17 ---- .../looseThisTypeInFunctions.errors.txt | 22 +++-- .../reference/looseThisTypeInFunctions.js | 9 +-- .../reference/thisTypeInFunctions.js | 8 -- .../reference/thisTypeInFunctions.symbols | 80 ++++++++----------- .../reference/thisTypeInFunctions.types | 13 --- .../thisType/looseThisTypeInFunctions.ts | 8 +- .../types/thisType/thisTypeInFuncTemp.ts | 36 +++------ .../types/thisType/thisTypeInFunctions.ts | 5 -- 10 files changed, 61 insertions(+), 145 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0acb3a127d5..b9343a2cdbe 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9513,13 +9513,7 @@ namespace ts { const thisArgumentNode = getThisArgumentOfCall(node); const thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; const errorNode = reportErrors ? (thisArgumentNode || node) : undefined; - if (thisArgumentType.flags & TypeFlags.UnionOrIntersection) { - const u = thisArgumentType; - if (!forEach(u.types, t => checkTypeRelatedTo(t, signature.thisType, relation, errorNode, headMessage))) { - return false; - } - } - else if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage)) { + if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage)) { return false; } } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index f1f9d93c5d2..21536da36ff 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -91,23 +91,6 @@ namespace ts { return undefined; } - /** - * Iterates through `array` by index and performs the callback on each element of array until the callback - * returns a falsey value, then returns false. - * If no such value is found, the callback is applied to each element of array and `true` is returned. - */ - export function trueForAll(array: T[], callback: (element: T, index: number) => boolean): boolean { - if (array) { - for (let i = 0, len = array.length; i < len; i++) { - if (!callback(array[i], i)) { - return false; - } - } - } - - return true; - } - export function contains(array: T[], value: T): boolean { if (array) { for (const v of array) { diff --git a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt index 4eef7d83f78..caaf7afb09c 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt +++ b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt @@ -1,13 +1,12 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(21,1): error TS2322: Type '(this: C, m: number) => number' is not assignable to type '(this: void, m: number) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'void' is not assignable to type 'C'. -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(32,5): error TS1005: ',' expected. -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(33,27): error TS2339: Property 'length' does not exist on type 'number'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(33,28): error TS2339: Property 'length' does not exist on type 'number'. tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(37,9): error TS2345: Argument of type 'void' is not assignable to parameter of type 'I'. -tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,19): error TS2339: Property 'length' does not exist on type 'number'. +tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,20): error TS2339: Property 'length' does not exist on type 'number'. -==== tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts (5 errors) ==== +==== tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts (4 errors) ==== interface I { n: number; explicitThis(this: this, m: number): number; @@ -42,12 +41,10 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,19): error }; let i: I = o; let o2: I = { - n: 1001 + n: 1001, explicitThis: function (m) { - ~~~~~~~~~~~~ -!!! error TS1005: ',' expected. - return m + this.n.length; // error, this.n: number, no member 'length' - ~~~~~~ + return m + this.n.length; // error, this.n: number, no member 'length' + ~~~~~~ !!! error TS2339: Property 'length' does not exist on type 'number'. }, } @@ -63,8 +60,7 @@ tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts(46,19): error o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; i.explicitThis = function(m) { - return this.n.length; // error, this.n: number - ~~~~~~ + return this.n.length; // error, this.n: number + ~~~~~~ !!! error TS2339: Property 'length' does not exist on type 'number'. - } - \ No newline at end of file + } \ No newline at end of file diff --git a/tests/baselines/reference/looseThisTypeInFunctions.js b/tests/baselines/reference/looseThisTypeInFunctions.js index ecb9f650716..3b172877e0e 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.js +++ b/tests/baselines/reference/looseThisTypeInFunctions.js @@ -29,9 +29,9 @@ let o = { }; let i: I = o; let o2: I = { - n: 1001 + n: 1001, explicitThis: function (m) { - return m + this.n.length; // error, this.n: number, no member 'length' + return m + this.n.length; // error, this.n: number, no member 'length' }, } let x = i.explicitThis; @@ -44,9 +44,8 @@ o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; i.explicitThis = function(m) { - return this.n.length; // error, this.n: number -} - + return this.n.length; // error, this.n: number +} //// [looseThisTypeInFunctions.js] var C = (function () { diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js index af55603a4b7..8d34f9bc2cf 100644 --- a/tests/baselines/reference/thisTypeInFunctions.js +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -185,11 +185,6 @@ d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) -// union assignability - -let b1b2: Base1 | Base2; -b1b2.implicit(); - ////// use this-type for construction with new //// function InterfaceThis(this: I) { this.a = 12; @@ -395,9 +390,6 @@ d1.implicit = b2.implicit; // ok, 'y' in D: { x, y } (d assignable e) d2.implicit = d1.explicit; // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit; // ok, 'x' and 'y' not in C: { x } (c assignable to f) -// union assignability -var b1b2; -b1b2.implicit(); ////// use this-type for construction with new //// function InterfaceThis() { this.a = 12; diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols index 120494c206f..9cd1915fc94 100644 --- a/tests/baselines/reference/thisTypeInFunctions.symbols +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -791,22 +791,10 @@ b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) >d2 : Symbol(d2, Decl(thisTypeInFunctions.ts, 176, 3)) >implicit : Symbol(Base2.implicit, Decl(thisTypeInFunctions.ts, 166, 13)) -// union assignability - -let b1b2: Base1 | Base2; ->b1b2 : Symbol(b1b2, Decl(thisTypeInFunctions.ts, 188, 3)) ->Base1 : Symbol(Base1, Decl(thisTypeInFunctions.ts, 150, 24)) ->Base2 : Symbol(Base2, Decl(thisTypeInFunctions.ts, 164, 1)) - -b1b2.implicit(); ->b1b2.implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 154, 14), Decl(thisTypeInFunctions.ts, 166, 13)) ->b1b2 : Symbol(b1b2, Decl(thisTypeInFunctions.ts, 188, 3)) ->implicit : Symbol(implicit, Decl(thisTypeInFunctions.ts, 154, 14), Decl(thisTypeInFunctions.ts, 166, 13)) - ////// use this-type for construction with new //// function InterfaceThis(this: I) { ->InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 189, 16)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 192, 23)) +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 187, 23)) >I : Symbol(I, Decl(thisTypeInFunctions.ts, 22, 21)) this.a = 12; @@ -815,60 +803,60 @@ function InterfaceThis(this: I) { >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 23, 13)) } function LiteralTypeThis(this: {x: string}) { ->LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 194, 1)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 195, 25)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 190, 25)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) this.x = "ok"; ->this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 195, 30)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 195, 32)) +>this.x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) +>this : Symbol(, Decl(thisTypeInFunctions.ts, 190, 30)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 190, 32)) } function AnyThis(this: any) { ->AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 197, 1)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 198, 17)) +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 193, 17)) this.x = "ok"; } let interfaceThis = new InterfaceThis(); ->interfaceThis : Symbol(interfaceThis, Decl(thisTypeInFunctions.ts, 201, 3)) ->InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 189, 16)) +>interfaceThis : Symbol(interfaceThis, Decl(thisTypeInFunctions.ts, 196, 3)) +>InterfaceThis : Symbol(InterfaceThis, Decl(thisTypeInFunctions.ts, 184, 25)) let literalTypeThis = new LiteralTypeThis(); ->literalTypeThis : Symbol(literalTypeThis, Decl(thisTypeInFunctions.ts, 202, 3)) ->LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 194, 1)) +>literalTypeThis : Symbol(literalTypeThis, Decl(thisTypeInFunctions.ts, 197, 3)) +>LiteralTypeThis : Symbol(LiteralTypeThis, Decl(thisTypeInFunctions.ts, 189, 1)) let anyThis = new AnyThis(); ->anyThis : Symbol(anyThis, Decl(thisTypeInFunctions.ts, 203, 3)) ->AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 197, 1)) +>anyThis : Symbol(anyThis, Decl(thisTypeInFunctions.ts, 198, 3)) +>AnyThis : Symbol(AnyThis, Decl(thisTypeInFunctions.ts, 192, 1)) //// type parameter inference //// declare var f: { ->f : Symbol(f, Decl(thisTypeInFunctions.ts, 206, 11)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) (this: void, x: number): number, ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 207, 5)) ->x : Symbol(x, Decl(thisTypeInFunctions.ts, 207, 16)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 202, 5)) +>x : Symbol(x, Decl(thisTypeInFunctions.ts, 202, 16)) call(this: (...argArray: any[]) => U, ...argArray: any[]): U; ->call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 208, 12)) ->argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 208, 19)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) ->argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 208, 44)) ->U : Symbol(U, Decl(thisTypeInFunctions.ts, 208, 9)) +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 203, 12)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 19)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) +>argArray : Symbol(argArray, Decl(thisTypeInFunctions.ts, 203, 44)) +>U : Symbol(U, Decl(thisTypeInFunctions.ts, 203, 9)) }; let n: number = f.call(12); ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 210, 3)) ->f.call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) ->f : Symbol(f, Decl(thisTypeInFunctions.ts, 206, 11)) ->call : Symbol(call, Decl(thisTypeInFunctions.ts, 207, 36)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 205, 3)) +>f.call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) +>f : Symbol(f, Decl(thisTypeInFunctions.ts, 201, 11)) +>call : Symbol(call, Decl(thisTypeInFunctions.ts, 202, 36)) function missingTypeIsImplicitAny(this, a: number) { return a; } ->missingTypeIsImplicitAny : Symbol(missingTypeIsImplicitAny, Decl(thisTypeInFunctions.ts, 210, 27)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 212, 34)) ->a : Symbol(a, Decl(thisTypeInFunctions.ts, 212, 39)) ->a : Symbol(a, Decl(thisTypeInFunctions.ts, 212, 39)) +>missingTypeIsImplicitAny : Symbol(missingTypeIsImplicitAny, Decl(thisTypeInFunctions.ts, 205, 27)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 207, 34)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) +>a : Symbol(a, Decl(thisTypeInFunctions.ts, 207, 39)) diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index e5f6a561d59..3922e454c3f 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -952,19 +952,6 @@ b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) >d2 : Derived2 >implicit : (this: Derived2) => number -// union assignability - -let b1b2: Base1 | Base2; ->b1b2 : Base1 | Base2 ->Base1 : Base1 ->Base2 : Base2 - -b1b2.implicit(); ->b1b2.implicit() : number ->b1b2.implicit : ((this: Base1) => number) | ((this: Base2) => number) ->b1b2 : Base1 | Base2 ->implicit : ((this: Base1) => number) | ((this: Base2) => number) - ////// use this-type for construction with new //// function InterfaceThis(this: I) { >InterfaceThis : (this: I) => void diff --git a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts index 3e8bdb11170..b151961e324 100644 --- a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts @@ -28,9 +28,9 @@ let o = { }; let i: I = o; let o2: I = { - n: 1001 + n: 1001, explicitThis: function (m) { - return m + this.n.length; // error, this.n: number, no member 'length' + return m + this.n.length; // error, this.n: number, no member 'length' }, } let x = i.explicitThis; @@ -43,5 +43,5 @@ o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) o.implicitThis = i.explicitThis; i.explicitThis = function(m) { - return this.n.length; // error, this.n: number -} + return this.n.length; // error, this.n: number +} \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts b/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts index 2f4873031fb..e4ae3deb171 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts @@ -1,27 +1,9 @@ -// @strictThis: true -// 1. contextual typing predicate is wrong (currently: method2: function () ...) -// () -> yes (allParametersAreUntyped=t, noThisParameter=t, noTypeParameters=t) -// ok .. fixed? -// 2. contextual typing of this doesn't seem to work -// strictThis was turned off. DUH. -// 3. when it DID work, it was giving bogus types with strictThis OFF (see the last example) -interface T { - (x: number): void; -} -interface I { - n: number - method(this: this): number; - method2(this: this): number; -} -let i: I = { - n: 12, - method: function(this) { // this: I - return this.n.length; // error, 'number' has no property 'length' - }, - method2: function() { // this: I - return this.n.length; // error, 'number' has no property 'length' - } -} -i.method = function () { return this.n.length } // this: I -i.method = function (this) { return this.n.length } // this: I -var t: T = function (this, y) { } // yes! (but this: any NOT number!!) \ No newline at end of file +//@strictThis: true +interface A { a: number; m(this: this): number } +interface B { b: number, m(this: this): number } +interface C { c: number; m(): number } +let a: A; +let ab: A | B; +let abc: A | B | C; +// ab.m().length; +abc.m().length; // should be OK? this: any, right? \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts index e5cc9e45ba2..8676d12c5ab 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -185,11 +185,6 @@ d2.implicit = d1.explicit // ok, 'y' in { x, y } (c assignable to f) b1.implicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) b1.explicit = d2.implicit // ok, 'x' and 'y' not in C: { x } (c assignable to f) -// union assignability - -let b1b2: Base1 | Base2; -b1b2.implicit(); - ////// use this-type for construction with new //// function InterfaceThis(this: I) { this.a = 12; From 63c690813fe82138be9f7d53c814f05992eece74 Mon Sep 17 00:00:00 2001 From: vilicvane Date: Tue, 9 Feb 2016 22:23:43 +0800 Subject: [PATCH 044/342] Create createHash and getModifiedTime under sys, and refactor implementation into compiler host --- src/compiler/program.ts | 39 +++++++++++++++++++++++++++++++++- src/compiler/sys.ts | 46 +++++++++-------------------------------- 2 files changed, 48 insertions(+), 37 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 9852b2354e2..d9d23a92186 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -559,6 +559,12 @@ namespace ts { sourceMap: false, }; + interface OutputFingerprint { + hash: string; + byteOrderMark: boolean; + mtime: Date; + } + export function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost { const existingDirectories: Map = {}; @@ -609,11 +615,42 @@ namespace ts { } } + const outputFingerprints: Map = + options.watch && sys.createHash && sys.getModifiedTime ? {} : undefined; + + const fileWriter: typeof sys.writeFile = outputFingerprints ? + (fileName, data, writeByteOrderMark) => { + const hash = sys.createHash(data); + const mtimeBefore = sys.getModifiedTime(fileName); + + if (mtimeBefore && outputFingerprints.hasOwnProperty(fileName)) { + const fingerprint = outputFingerprints[fileName]; + + // If output has not been changed, and the file has no external modification + if (fingerprint.byteOrderMark === writeByteOrderMark && + fingerprint.hash === hash && + fingerprint.mtime.getTime() === mtimeBefore.getTime()) { + return; + } + } + + sys.writeFile(fileName, data, writeByteOrderMark); + + const mtimeAfter = sys.getModifiedTime(fileName); + + outputFingerprints[fileName] = { + hash, + byteOrderMark: writeByteOrderMark, + mtime: mtimeAfter + }; + } : + (fileName, data, writeByteOrderMark) => sys.writeFile(fileName, data, writeByteOrderMark); + function writeFile(fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void) { try { const start = new Date().getTime(); ensureDirectoriesExist(getDirectoryPath(normalizePath(fileName))); - sys.writeFile(fileName, data, writeByteOrderMark); + fileWriter(fileName, data, writeByteOrderMark); ioWriteTime += new Date().getTime() - start; } catch (e) { diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 69277f65a92..3f33df61a0f 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -20,6 +20,8 @@ namespace ts { getExecutingFilePath(): string; getCurrentDirectory(): string; readDirectory(path: string, extension?: string, exclude?: string[]): string[]; + getModifiedTime?(path: string): Date; + createHash?(data: string): string; getMemoryUsage?(): number; exit(exitCode?: number): void; } @@ -39,15 +41,6 @@ namespace ts { referenceCount: number; } - interface OutputFingerprint { - hash: string; - mtime: Date; - } - - interface OutputFingerprintMap { - [fileName: string]: OutputFingerprint; - } - declare var require: any; declare var module: any; declare var process: any; @@ -449,26 +442,12 @@ namespace ts { return buffer.toString("utf8"); } - const outputFingerprintMap: OutputFingerprintMap = {}; - function writeFile(fileName: string, data: string, writeByteOrderMark?: boolean): void { // If a BOM is required, emit one if (writeByteOrderMark) { data = "\uFEFF" + data; } - const md5 = getMd5(data); - const mtimeBefore = _fs.existsSync(fileName) && _fs.statSync(fileName).mtime; - - if (mtimeBefore && outputFingerprintMap.hasOwnProperty(fileName)) { - const fingerprint = outputFingerprintMap[fileName]; - - // If output has not been changed, and the file has no external modification - if (fingerprint.hash === md5 && fingerprint.mtime.getTime() === mtimeBefore.getTime()) { - return; - } - } - let fd: number; try { @@ -480,19 +459,6 @@ namespace ts { _fs.closeSync(fd); } } - - const mtimeAfter = _fs.statSync(fileName).mtime; - - outputFingerprintMap[fileName] = { - hash: md5, - mtime: mtimeAfter - }; - } - - function getMd5(data: string): string { - const hash = _crypto.createHash("md5"); - hash.update(data); - return hash.digest("hex"); } function getCanonicalPath(path: string): string { @@ -593,6 +559,14 @@ namespace ts { return process.cwd(); }, readDirectory, + getModifiedTime(path) { + return _fs.existsSync(path) && _fs.statSync(path).mtime; + }, + createHash(data) { + const hash = _crypto.createHash("md5"); + hash.update(data); + return hash.digest("hex"); + }, getMemoryUsage() { if (global.gc) { global.gc(); From acf965a20e0f238aac6cf48649ab78fec867213b Mon Sep 17 00:00:00 2001 From: vilicvane Date: Wed, 10 Feb 2016 08:47:52 +0800 Subject: [PATCH 045/342] Refine implementation --- src/compiler/program.ts | 2 +- src/compiler/sys.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d9d23a92186..33c2da50c1a 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -623,7 +623,7 @@ namespace ts { const hash = sys.createHash(data); const mtimeBefore = sys.getModifiedTime(fileName); - if (mtimeBefore && outputFingerprints.hasOwnProperty(fileName)) { + if (mtimeBefore && hasProperty(outputFingerprints, fileName)) { const fingerprint = outputFingerprints[fileName]; // If output has not been changed, and the file has no external modification diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 3f33df61a0f..9f7903d4201 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -229,6 +229,7 @@ namespace ts { const _path = require("path"); const _os = require("os"); const _crypto = require("crypto"); + let hash: any; // average async stat takes about 30 microseconds // set chunk size to do 30 files in < 1 millisecond @@ -560,10 +561,18 @@ namespace ts { }, readDirectory, getModifiedTime(path) { - return _fs.existsSync(path) && _fs.statSync(path).mtime; + try { + return _fs.statSync(path).mtime; + } + catch (e) { + return undefined; + } }, createHash(data) { - const hash = _crypto.createHash("md5"); + if (!hash) { + hash = _crypto.createHash("md5"); + } + hash.update(data); return hash.digest("hex"); }, From 0282c0463d975c48d9cdda429690a36544941e97 Mon Sep 17 00:00:00 2001 From: vilicvane Date: Wed, 10 Feb 2016 08:50:22 +0800 Subject: [PATCH 046/342] Revert hash object caching --- src/compiler/sys.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 9f7903d4201..99008d4cc7e 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -229,7 +229,6 @@ namespace ts { const _path = require("path"); const _os = require("os"); const _crypto = require("crypto"); - let hash: any; // average async stat takes about 30 microseconds // set chunk size to do 30 files in < 1 millisecond @@ -569,10 +568,7 @@ namespace ts { } }, createHash(data) { - if (!hash) { - hash = _crypto.createHash("md5"); - } - + const hash = _crypto.createHash("md5"); hash.update(data); return hash.digest("hex"); }, From a4813052922da694a34474d884f0f633482fd588 Mon Sep 17 00:00:00 2001 From: vilicvane Date: Thu, 11 Feb 2016 16:38:21 +0800 Subject: [PATCH 047/342] Reorganize related functions --- src/compiler/program.ts | 56 +++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 33c2da50c1a..0f98b46d933 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -615,42 +615,50 @@ namespace ts { } } - const outputFingerprints: Map = - options.watch && sys.createHash && sys.getModifiedTime ? {} : undefined; + let outputFingerprints: Map; - const fileWriter: typeof sys.writeFile = outputFingerprints ? - (fileName, data, writeByteOrderMark) => { - const hash = sys.createHash(data); - const mtimeBefore = sys.getModifiedTime(fileName); + function writeFileIfUpdated(fileName: string, data: string, writeByteOrderMark: boolean): void { + if (!outputFingerprints) { + outputFingerprints = {}; + } - if (mtimeBefore && hasProperty(outputFingerprints, fileName)) { - const fingerprint = outputFingerprints[fileName]; + const hash = sys.createHash(data); + const mtimeBefore = sys.getModifiedTime(fileName); - // If output has not been changed, and the file has no external modification - if (fingerprint.byteOrderMark === writeByteOrderMark && - fingerprint.hash === hash && - fingerprint.mtime.getTime() === mtimeBefore.getTime()) { - return; - } + if (mtimeBefore && hasProperty(outputFingerprints, fileName)) { + const fingerprint = outputFingerprints[fileName]; + + // If output has not been changed, and the file has no external modification + if (fingerprint.byteOrderMark === writeByteOrderMark && + fingerprint.hash === hash && + fingerprint.mtime.getTime() === mtimeBefore.getTime()) { + return; } + } - sys.writeFile(fileName, data, writeByteOrderMark); + sys.writeFile(fileName, data, writeByteOrderMark); - const mtimeAfter = sys.getModifiedTime(fileName); + const mtimeAfter = sys.getModifiedTime(fileName); - outputFingerprints[fileName] = { - hash, - byteOrderMark: writeByteOrderMark, - mtime: mtimeAfter - }; - } : - (fileName, data, writeByteOrderMark) => sys.writeFile(fileName, data, writeByteOrderMark); + outputFingerprints[fileName] = { + hash, + byteOrderMark: writeByteOrderMark, + mtime: mtimeAfter + }; + } function writeFile(fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void) { try { const start = new Date().getTime(); ensureDirectoriesExist(getDirectoryPath(normalizePath(fileName))); - fileWriter(fileName, data, writeByteOrderMark); + + if (options.watch && sys.createHash && sys.getModifiedTime) { + writeFileIfUpdated(fileName, data, writeByteOrderMark); + } + else { + sys.writeFile(fileName, data, writeByteOrderMark); + } + ioWriteTime += new Date().getTime() - start; } catch (e) { From 26cc99b92d63540bbd7792415a9f82a1e9936106 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 14 Feb 2016 18:41:38 -0800 Subject: [PATCH 048/342] Introduce -strictNullChecks compiler option --- src/compiler/commandLineParser.ts | 5 +++++ src/compiler/diagnosticMessages.json | 4 ++++ src/compiler/types.ts | 1 + 3 files changed, 10 insertions(+) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 86d073f7d49..bdc586b6037 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -326,6 +326,11 @@ namespace ts { name: "noImplicitUseStrict", type: "boolean", description: Diagnostics.Do_not_emit_use_strict_directives_in_module_output + }, + { + name: "strictNullChecks", + type: "boolean", + description: Diagnostics.Enable_strict_null_checks } ]; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 25b86e67d34..6978a9ad611 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2576,6 +2576,10 @@ "category": "Message", "code": 6112 }, + "Enable strict null checks.": { + "category": "Message", + "code": 6113 + }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 6b9f49cac01..3e59a623c2f 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2420,6 +2420,7 @@ namespace ts { allowSyntheticDefaultImports?: boolean; allowJs?: boolean; noImplicitUseStrict?: boolean; + strictNullChecks?: boolean; /* @internal */ stripInternal?: boolean; // Skip checking lib.d.ts to help speed up tests. From 8e926035b7e17533b205d06d4c60a89c21238e00 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 14 Feb 2016 18:59:58 -0800 Subject: [PATCH 049/342] Parsing of nullable types --- src/compiler/parser.ts | 23 +++++++++++++++++------ src/compiler/types.ts | 8 +++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 66d33f9d7d9..16ee3eb1627 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -127,7 +127,8 @@ namespace ts { case SyntaxKind.IntersectionType: return visitNodes(cbNodes, (node).types); case SyntaxKind.ParenthesizedType: - return visitNode(cbNode, (node).type); + case SyntaxKind.NullableType: + return visitNode(cbNode, (node).type); case SyntaxKind.ObjectBindingPattern: case SyntaxKind.ArrayBindingPattern: return visitNodes(cbNodes, (node).elements); @@ -2413,11 +2414,21 @@ namespace ts { function parseArrayTypeOrHigher(): TypeNode { let type = parseNonArrayType(); - while (!scanner.hasPrecedingLineBreak() && parseOptional(SyntaxKind.OpenBracketToken)) { - parseExpected(SyntaxKind.CloseBracketToken); - const node = createNode(SyntaxKind.ArrayType, type.pos); - node.elementType = type; - type = finishNode(node); + while (!scanner.hasPrecedingLineBreak()) { + if (parseOptional(SyntaxKind.OpenBracketToken)) { + parseExpected(SyntaxKind.CloseBracketToken); + const node = createNode(SyntaxKind.ArrayType, type.pos); + node.elementType = type; + type = finishNode(node); + } + else if (parseOptional(SyntaxKind.QuestionToken)) { + const node = createNode(SyntaxKind.NullableType, type.pos); + node.type = type; + type = finishNode(node); + } + else { + break; + } } return type; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 3e59a623c2f..c2e5b166815 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -208,6 +208,7 @@ namespace ts { ParenthesizedType, ThisType, StringLiteralType, + NullableType, // Binding patterns ObjectBindingPattern, ArrayBindingPattern, @@ -353,7 +354,7 @@ namespace ts { FirstFutureReservedWord = ImplementsKeyword, LastFutureReservedWord = YieldKeyword, FirstTypeNode = TypePredicate, - LastTypeNode = StringLiteralType, + LastTypeNode = NullableType, FirstPunctuation = OpenBraceToken, LastPunctuation = CaretEqualsToken, FirstToken = Unknown, @@ -777,6 +778,11 @@ namespace ts { _stringLiteralTypeBrand: any; } + // @kind(SyntaxKind.NullableType) + export interface NullableTypeNode extends TypeNode { + type: TypeNode; + } + // @kind(SyntaxKind.StringLiteral) export interface StringLiteral extends LiteralExpression { _stringLiteralBrand: any; From 26e371d7bd985361c2a251dce5707129079cf362 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 14 Feb 2016 19:15:04 -0800 Subject: [PATCH 050/342] Use TypeFlags.Undefined for both undefined and null types --- src/compiler/checker.ts | 22 +++++++++++----------- src/compiler/types.ts | 13 ++++++------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6b43b3802c2..4667ff64d95 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -115,8 +115,8 @@ namespace ts { const booleanType = createIntrinsicType(TypeFlags.Boolean, "boolean"); const esSymbolType = createIntrinsicType(TypeFlags.ESSymbol, "symbol"); const voidType = createIntrinsicType(TypeFlags.Void, "void"); - const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefinedOrNull, "undefined"); - const nullType = createIntrinsicType(TypeFlags.Null | TypeFlags.ContainsUndefinedOrNull, "null"); + const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "undefined"); + const nullType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "null"); const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); const emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); @@ -210,7 +210,7 @@ namespace ts { }, "undefined": { type: undefinedType, - flags: TypeFlags.ContainsUndefinedOrNull + flags: TypeFlags.ContainsUndefined } }; @@ -6244,7 +6244,7 @@ namespace ts { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray return type.flags & TypeFlags.Reference && ((type).target === globalArrayType || (type).target === globalReadonlyArrayType) || - !(type.flags & (TypeFlags.Undefined | TypeFlags.Null)) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & TypeFlags.Undefined) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isTupleLikeType(type: Type): boolean { @@ -6308,7 +6308,7 @@ namespace ts { function getWidenedType(type: Type): Type { if (type.flags & TypeFlags.RequiresWidening) { - if (type.flags & (TypeFlags.Undefined | TypeFlags.Null)) { + if (type.flags & TypeFlags.Undefined) { return anyType; } if (type.flags & TypeFlags.PredicateType) { @@ -6363,7 +6363,7 @@ namespace ts { if (type.flags & TypeFlags.ObjectLiteral) { for (const p of getPropertiesOfObjectType(type)) { const t = getTypeOfSymbol(p); - if (t.flags & TypeFlags.ContainsUndefinedOrNull) { + if (t.flags & TypeFlags.ContainsUndefined) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(getWidenedType(t))); } @@ -6407,7 +6407,7 @@ namespace ts { } function reportErrorsFromWidening(declaration: Declaration, type: Type) { - if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & TypeFlags.ContainsUndefinedOrNull) { + if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & TypeFlags.ContainsUndefined) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); @@ -11087,8 +11087,8 @@ namespace ts { // as having the primitive type Number. If one operand is the null or undefined value, // it is treated as having the type of the other operand. // The result is always of the Number primitive type. - if (leftType.flags & (TypeFlags.Undefined | TypeFlags.Null)) leftType = rightType; - if (rightType.flags & (TypeFlags.Undefined | TypeFlags.Null)) rightType = leftType; + if (leftType.flags & TypeFlags.Undefined) leftType = rightType; + if (rightType.flags & TypeFlags.Undefined) rightType = leftType; let suggestedOperator: SyntaxKind; // if a user tries to apply a bitwise operator to 2 boolean operands @@ -11115,8 +11115,8 @@ namespace ts { // or at least one of the operands to be of type Any or the String primitive type. // If one operand is the null or undefined value, it is treated as having the type of the other operand. - if (leftType.flags & (TypeFlags.Undefined | TypeFlags.Null)) leftType = rightType; - if (rightType.flags & (TypeFlags.Undefined | TypeFlags.Null)) rightType = leftType; + if (leftType.flags & TypeFlags.Undefined) leftType = rightType; + if (rightType.flags & TypeFlags.Undefined) rightType = leftType; let resultType: Type; if (isTypeOfKind(leftType, TypeFlags.NumberLike) && isTypeOfKind(rightType, TypeFlags.NumberLike)) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c2e5b166815..17a50a1c571 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2074,8 +2074,7 @@ namespace ts { Number = 0x00000004, Boolean = 0x00000008, Void = 0x00000010, - Undefined = 0x00000020, - Null = 0x00000040, + Undefined = 0x00000020, // Undefined or null Enum = 0x00000080, // Enum type StringLiteral = 0x00000100, // String literal type TypeParameter = 0x00000200, // Type parameter @@ -2093,7 +2092,7 @@ namespace ts { /* @internal */ FreshObjectLiteral = 0x00100000, // Fresh object literal type /* @internal */ - ContainsUndefinedOrNull = 0x00200000, // Type is or contains Undefined or Null type + ContainsUndefined = 0x00200000, // Type is or contains undefined type /* @internal */ ContainsObjectLiteral = 0x00400000, // Type is or contains object literal type /* @internal */ @@ -2104,18 +2103,18 @@ namespace ts { PredicateType = 0x08000000, // Predicate types are also Boolean types, but should not be considered Intrinsics - there's no way to capture this with flags /* @internal */ - Intrinsic = Any | String | Number | Boolean | ESSymbol | Void | Undefined | Null, + Intrinsic = Any | String | Number | Boolean | ESSymbol | Void | Undefined, /* @internal */ - Primitive = String | Number | Boolean | ESSymbol | Void | Undefined | Null | StringLiteral | Enum, + Primitive = String | Number | Boolean | ESSymbol | Void | Undefined | StringLiteral | Enum, StringLike = String | StringLiteral, NumberLike = Number | Enum, ObjectType = Class | Interface | Reference | Tuple | Anonymous, UnionOrIntersection = Union | Intersection, StructuredType = ObjectType | Union | Intersection, /* @internal */ - RequiresWidening = ContainsUndefinedOrNull | ContainsObjectLiteral | PredicateType, + RequiresWidening = ContainsUndefined | ContainsObjectLiteral | PredicateType, /* @internal */ - PropagatingFlags = ContainsUndefinedOrNull | ContainsObjectLiteral | ContainsAnyFunctionType + PropagatingFlags = ContainsUndefined | ContainsObjectLiteral | ContainsAnyFunctionType } export type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; From 98b6a5ad11f3ac8d0cec8c6358468b08079dbf90 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:23:40 -0800 Subject: [PATCH 051/342] Make undefined and null assignable to each other --- src/compiler/checker.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4667ff64d95..2de8c86e5fd 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5415,8 +5415,7 @@ namespace ts { } if (isTypeAny(target)) return Ternary.True; - if (source === undefinedType) return Ternary.True; - if (source === nullType && target !== undefinedType) return Ternary.True; + if (source.flags & TypeFlags.Undefined) return Ternary.True; if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) { if (result = enumRelatedTo(source, target)) { From e79df80e224957449f18608db6d1fdadc1646629 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:24:20 -0800 Subject: [PATCH 052/342] Accepting new baselines --- tests/baselines/reference/arrayLiteralWidened.types | 2 +- tests/baselines/reference/arrayLiterals2ES5.types | 2 +- .../reference/destructuringVariableDeclaration1ES5.types | 4 ++-- .../reference/destructuringVariableDeclaration1ES6.types | 4 ++-- .../baselines/reference/logicalOrOperatorWithEveryType.types | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/baselines/reference/arrayLiteralWidened.types b/tests/baselines/reference/arrayLiteralWidened.types index 9599db2dff5..83db7046eed 100644 --- a/tests/baselines/reference/arrayLiteralWidened.types +++ b/tests/baselines/reference/arrayLiteralWidened.types @@ -19,7 +19,7 @@ var a = [undefined, undefined]; var b = [[], [null, null]]; // any[][] >b : any[][] ->[[], [null, null]] : null[][] +>[[], [null, null]] : undefined[][] >[] : undefined[] >[null, null] : null[] >null : null diff --git a/tests/baselines/reference/arrayLiterals2ES5.types b/tests/baselines/reference/arrayLiterals2ES5.types index a9cf31611c2..cbfb620fb00 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.types +++ b/tests/baselines/reference/arrayLiterals2ES5.types @@ -130,7 +130,7 @@ var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; var temp3 = [undefined, null, undefined]; >temp3 : any[] ->[undefined, null, undefined] : null[] +>[undefined, null, undefined] : undefined[] >undefined : undefined >null : null >undefined : undefined diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types index f8188147a79..aab01926a5a 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types @@ -168,7 +168,7 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >g : any >g1 : any[] ->[undefined, null] : null[] +>[undefined, null] : undefined[] >undefined : undefined >null : null >g : { g1: any[]; } @@ -184,7 +184,7 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any >h1 : number[] ->[undefined, null] : null[] +>[undefined, null] : undefined[] >undefined : undefined >null : null >h : { h1: number[]; } diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types index 7b4fe5409db..7e98817c052 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types @@ -168,7 +168,7 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >g : any >g1 : any[] ->[undefined, null] : null[] +>[undefined, null] : undefined[] >undefined : undefined >null : null >g : { g1: any[]; } @@ -184,7 +184,7 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any >h1 : number[] ->[undefined, null] : null[] +>[undefined, null] : undefined[] >undefined : undefined >null : null >h : { h1: number[]; } diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 4540e35aaf4..609af4ecc94 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -572,7 +572,7 @@ var rj9 = null || null; // null || null is any var rj10 = undefined || null; // undefined || null is any >rj10 : any ->undefined || null : null +>undefined || null : undefined >undefined : undefined >null : null From 6d6d2a11bc07c5ab15462362e27164446a3d05bd Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:34:14 -0800 Subject: [PATCH 053/342] Introduce nullable types in checker --- src/compiler/checker.ts | 61 ++++++++++++++++++++++++++++++++++++++--- src/compiler/types.ts | 5 +++- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2de8c86e5fd..4d930b35667 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -51,6 +51,8 @@ namespace ts { const languageVersion = compilerOptions.target || ScriptTarget.ES3; const modulekind = getEmitModuleKind(compilerOptions); const allowSyntheticDefaultImports = typeof compilerOptions.allowSyntheticDefaultImports !== "undefined" ? compilerOptions.allowSyntheticDefaultImports : modulekind === ModuleKind.System; + const strictNullChecks = compilerOptions.strictNullChecks; + const emitResolver = createResolver(); @@ -2340,6 +2342,7 @@ namespace ts { case SyntaxKind.UnionType: case SyntaxKind.IntersectionType: case SyntaxKind.ParenthesizedType: + case SyntaxKind.NullableType: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible @@ -4664,6 +4667,14 @@ namespace ts { return links.resolvedType; } + function getTypeFromNullableTypeNode(node: NullableTypeNode): Type { + const links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = getNullableType(getTypeFromTypeNode(node.type)); + } + return links.resolvedType; + } + function addTypeToSet(typeSet: Type[], type: Type, typeSetKind: TypeFlags) { if (type.flags & typeSetKind) { addTypesToSet(typeSet, (type).types, typeSetKind); @@ -4736,8 +4747,10 @@ namespace ts { return anyType; } if (noSubtypeReduction) { - removeAllButLast(typeSet, undefinedType); - removeAllButLast(typeSet, nullType); + if (!strictNullChecks) { + removeAllButLast(typeSet, undefinedType); + removeAllButLast(typeSet, nullType); + } } else { removeSubtypes(typeSet); @@ -4920,6 +4933,8 @@ namespace ts { return getTypeFromUnionTypeNode(node); case SyntaxKind.IntersectionType: return getTypeFromIntersectionTypeNode(node); + case SyntaxKind.NullableType: + return getTypeFromNullableTypeNode(node); case SyntaxKind.ParenthesizedType: case SyntaxKind.JSDocNullableType: case SyntaxKind.JSDocNonNullableType: @@ -5415,7 +5430,9 @@ namespace ts { } if (isTypeAny(target)) return Ternary.True; - if (source.flags & TypeFlags.Undefined) return Ternary.True; + if (source.flags & TypeFlags.Undefined) { + if (!strictNullChecks || target.flags & TypeFlags.Undefined) return Ternary.True; + } if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) { if (result = enumRelatedTo(source, target)) { @@ -6262,6 +6279,41 @@ namespace ts { return !!(type.flags & TypeFlags.Tuple); } + function isNullableType(type: Type): boolean { + if (type.flags & TypeFlags.Undefined) { + return true; + } + if (type.flags & TypeFlags.Union) { + for (const t of (type as UnionType).types) { + if (t.flags & TypeFlags.Undefined) { + return true; + } + } + } + return false; + } + + function getNullableType(type: Type): Type { + if (!strictNullChecks) { + return type; + } + if (!type.nullableType) { + type.nullableType = isNullableType(type) ? type : getUnionType([type, undefinedType]); + } + return type.nullableType; + } + + function getNonNullableTypeFromUnionType(type: UnionType): Type { + if (!type.nonNullableType) { + type.nonNullableType = removeTypesFromUnionOrIntersection(type, [undefinedType, nullType]); + } + return type.nonNullableType; + } + + function getNonNullableType(type: Type): Type { + return strictNullChecks && type.flags & TypeFlags.Union ? getNonNullableTypeFromUnionType(type as UnionType) : type; + } + function getRegularTypeOfObjectLiteral(type: Type): Type { if (type.flags & TypeFlags.FreshObjectLiteral) { let regularType = (type).regularType; @@ -14988,7 +15040,8 @@ namespace ts { case SyntaxKind.IntersectionType: return checkUnionOrIntersectionType(node); case SyntaxKind.ParenthesizedType: - return checkSourceElement((node).type); + case SyntaxKind.NullableType: + return checkSourceElement((node).type); case SyntaxKind.FunctionDeclaration: return checkFunctionDeclaration(node); case SyntaxKind.Block: diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 17a50a1c571..d7abcc02963 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2125,6 +2125,7 @@ namespace ts { /* @internal */ id: number; // Unique ID symbol?: Symbol; // Symbol associated with type (if any) pattern?: DestructuringPattern; // Destructuring pattern represented by type (if any) + nullableType?: Type; // Cached nullable form of this type } /* @internal */ @@ -2197,7 +2198,9 @@ namespace ts { resolvedProperties: SymbolTable; // Cache of resolved properties } - export interface UnionType extends UnionOrIntersectionType { } + export interface UnionType extends UnionOrIntersectionType { + nonNullableType?: Type; // Cached non-nullable form of type + } export interface IntersectionType extends UnionOrIntersectionType { } From f08f6067e8c86059ee868cb4eb3e0db72b6e0e77 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:38:49 -0800 Subject: [PATCH 054/342] Display support for nullable types --- src/compiler/checker.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4d930b35667..96c6642fb26 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -53,7 +53,6 @@ namespace ts { const allowSyntheticDefaultImports = typeof compilerOptions.allowSyntheticDefaultImports !== "undefined" ? compilerOptions.allowSyntheticDefaultImports : modulekind === ModuleKind.System; const strictNullChecks = compilerOptions.strictNullChecks; - const emitResolver = createResolver(); const undefinedSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "undefined"); @@ -1873,6 +1872,10 @@ namespace ts { else if (type.flags & TypeFlags.Tuple) { writeTupleType(type); } + else if (isNullableType(type)) { + writeType(getNonNullableType(type), TypeFormatFlags.InElementType); + writePunctuation(writer, SyntaxKind.QuestionToken); + } else if (type.flags & TypeFlags.UnionOrIntersection) { writeUnionOrIntersectionType(type, flags); } From fa36ff85ca78861fd24586c0403eeb4a1bf50305 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:42:16 -0800 Subject: [PATCH 055/342] Don't widen undefined types in unions --- src/compiler/checker.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 96c6642fb26..b17de2a2b74 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6360,6 +6360,10 @@ namespace ts { numberIndexInfo && createIndexInfo(getWidenedType(numberIndexInfo.type), numberIndexInfo.isReadonly)); } + function getWidenedConstituentType(type: Type): Type { + return type.flags & TypeFlags.Undefined ? type : getWidenedType(type); + } + function getWidenedType(type: Type): Type { if (type.flags & TypeFlags.RequiresWidening) { if (type.flags & TypeFlags.Undefined) { @@ -6372,7 +6376,7 @@ namespace ts { return getWidenedTypeOfObjectLiteral(type); } if (type.flags & TypeFlags.Union) { - return getUnionType(map((type).types, getWidenedType), /*noSubtypeReduction*/ true); + return getUnionType(map((type).types, getWidenedConstituentType), /*noSubtypeReduction*/ true); } if (isArrayType(type)) { return createArrayType(getWidenedType((type).typeArguments[0])); From 0d3005b85de012da071b2a11b827ba6126800dfe Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 09:58:49 -0800 Subject: [PATCH 056/342] Support nullable types with expression operators --- src/compiler/checker.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b17de2a2b74..eefc636f5bd 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10880,7 +10880,8 @@ namespace ts { return booleanType; case SyntaxKind.PlusPlusToken: case SyntaxKind.MinusMinusToken: - const ok = checkArithmeticOperandType(node.operand, operandType, Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + const ok = checkArithmeticOperandType(node.operand, getNonNullableType(operandType), + Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); if (ok) { // run check only if former checks succeeded to avoid reporting cascading errors checkReferenceExpression(node.operand, @@ -10894,7 +10895,8 @@ namespace ts { function checkPostfixUnaryExpression(node: PostfixUnaryExpression): Type { const operandType = checkExpression(node.operand); - const ok = checkArithmeticOperandType(node.operand, operandType, Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + const ok = checkArithmeticOperandType(node.operand, getNonNullableType(operandType), + Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); if (ok) { // run check only if former checks succeeded to avoid reporting cascading errors checkReferenceExpression(node.operand, @@ -11148,6 +11150,9 @@ namespace ts { if (leftType.flags & TypeFlags.Undefined) leftType = rightType; if (rightType.flags & TypeFlags.Undefined) rightType = leftType; + leftType = getNonNullableType(leftType); + rightType = getNonNullableType(rightType); + let suggestedOperator: SyntaxKind; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion @@ -11176,6 +11181,9 @@ namespace ts { if (leftType.flags & TypeFlags.Undefined) leftType = rightType; if (rightType.flags & TypeFlags.Undefined) rightType = leftType; + leftType = getNonNullableType(leftType); + rightType = getNonNullableType(rightType); + let resultType: Type; if (isTypeOfKind(leftType, TypeFlags.NumberLike) && isTypeOfKind(rightType, TypeFlags.NumberLike)) { // Operands of an enum type are treated as having the primitive type Number. @@ -11235,7 +11243,7 @@ namespace ts { case SyntaxKind.AmpersandAmpersandToken: return rightType; case SyntaxKind.BarBarToken: - return getUnionType([leftType, rightType]); + return getUnionType([getNonNullableType(leftType), rightType]); case SyntaxKind.EqualsToken: checkAssignmentOperator(rightType); return getRegularTypeOfObjectLiteral(rightType); From 09fa3e5e158b488e42a86ca560394a1a74167af4 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 11:37:36 -0800 Subject: [PATCH 057/342] Ensure empty array literal is assignable to array of non-null type in strict null mode --- src/compiler/checker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index eefc636f5bd..1464d719478 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -118,6 +118,7 @@ namespace ts { const voidType = createIntrinsicType(TypeFlags.Void, "void"); const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "undefined"); const nullType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "null"); + const emptyArrayElementType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "undefined"); const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); const emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); @@ -5434,7 +5435,7 @@ namespace ts { if (isTypeAny(target)) return Ternary.True; if (source.flags & TypeFlags.Undefined) { - if (!strictNullChecks || target.flags & TypeFlags.Undefined) return Ternary.True; + if (!strictNullChecks || target.flags & TypeFlags.Undefined || source === emptyArrayElementType) return Ternary.True; } if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) { @@ -8222,7 +8223,7 @@ namespace ts { } } } - return createArrayType(elementTypes.length ? getUnionType(elementTypes) : undefinedType); + return createArrayType(elementTypes.length ? getUnionType(elementTypes) : emptyArrayElementType); } function isNumericName(name: DeclarationName): boolean { From 41401c7caeb73d45c08ea8fa2f18d90e6a401458 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 17:02:43 -0800 Subject: [PATCH 058/342] Make types of optional parameters and properties nullable --- src/compiler/checker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1464d719478..c7e74d86f90 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2677,7 +2677,8 @@ namespace ts { // Use type from type annotation if one is present if (declaration.type) { - return getTypeFromTypeNode(declaration.type); + const type = getTypeFromTypeNode(declaration.type); + return declaration.questionToken ? getNullableType(type) : type; } if (declaration.kind === SyntaxKind.Parameter) { @@ -2692,7 +2693,7 @@ namespace ts { // Use contextual parameter type if one is available const type = getContextuallyTypedParameterType(declaration); if (type) { - return type; + return declaration.questionToken ? getNullableType(type) : type; } } From 586c3ac86fb27282723bcb88907e80bccbf9860a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Feb 2016 19:26:20 -0800 Subject: [PATCH 059/342] Exclude undefined/null from flags propagation within union types --- src/compiler/checker.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c7e74d86f90..83a149efdc1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4387,10 +4387,12 @@ namespace ts { // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type // of an object literal or the anyFunctionType. This is because there are operations in the type checker // that care about the presence of such types at arbitrary depth in a containing type. - function getPropagatingFlagsOfTypes(types: Type[]): TypeFlags { + function getPropagatingFlagsOfTypes(types: Type[], excludeKinds: TypeFlags): TypeFlags { let result: TypeFlags = 0; for (const type of types) { - result |= type.flags; + if (!(type.flags & excludeKinds)) { + result |= type.flags; + } } return result & TypeFlags.PropagatingFlags; } @@ -4399,7 +4401,8 @@ namespace ts { const id = getTypeListId(typeArguments); let type = target.instantiations[id]; if (!type) { - const flags = TypeFlags.Reference | (typeArguments ? getPropagatingFlagsOfTypes(typeArguments) : 0); + const propagatedFlags = typeArguments ? getPropagatingFlagsOfTypes(typeArguments, /*excludeKinds*/ 0) : 0; + const flags = TypeFlags.Reference | propagatedFlags; type = target.instantiations[id] = createObjectType(flags, target.symbol); type.target = target; type.typeArguments = typeArguments; @@ -4659,7 +4662,8 @@ namespace ts { } function createNewTupleType(elementTypes: Type[]) { - const type = createObjectType(TypeFlags.Tuple | getPropagatingFlagsOfTypes(elementTypes)); + const propagatedFlags = getPropagatingFlagsOfTypes(elementTypes, /*excludeKinds*/ 0); + const type = createObjectType(TypeFlags.Tuple | propagatedFlags); type.elementTypes = elementTypes; return type; } @@ -4766,7 +4770,8 @@ namespace ts { const id = getTypeListId(typeSet); let type = unionTypes[id]; if (!type) { - type = unionTypes[id] = createObjectType(TypeFlags.Union | getPropagatingFlagsOfTypes(typeSet)); + const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Undefined); + type = unionTypes[id] = createObjectType(TypeFlags.Union | propagatedFlags); type.types = typeSet; } return type; @@ -4800,7 +4805,8 @@ namespace ts { const id = getTypeListId(typeSet); let type = intersectionTypes[id]; if (!type) { - type = intersectionTypes[id] = createObjectType(TypeFlags.Intersection | getPropagatingFlagsOfTypes(typeSet)); + const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Undefined); + type = intersectionTypes[id] = createObjectType(TypeFlags.Intersection | propagatedFlags); type.types = typeSet; } return type; From bf89530e3621ded10c57716b2c76a18c9845c5ae Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 16 Feb 2016 09:51:49 -0800 Subject: [PATCH 060/342] Add truthy/falsey guards for nullable types --- src/compiler/checker.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 83a149efdc1..2e7595f65be 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6993,6 +6993,10 @@ namespace ts { return type; + function narrowTypeByTruthiness(type: Type, expr: Identifier, assumeTrue: boolean): Type { + return strictNullChecks && assumeTrue && getResolvedSymbol(expr) === symbol ? getNonNullableType(type) : type; + } + function narrowTypeByEquality(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { // Check that we have 'typeof ' on the left and string literal on the right if (expr.left.kind !== SyntaxKind.TypeOfExpression || expr.right.kind !== SyntaxKind.StringLiteral) { @@ -7195,6 +7199,8 @@ namespace ts { // will be a subtype or the same type as the argument. function narrowType(type: Type, expr: Expression, assumeTrue: boolean): Type { switch (expr.kind) { + case SyntaxKind.Identifier: + return narrowTypeByTruthiness(type, expr, assumeTrue) case SyntaxKind.CallExpression: return narrowTypeByTypePredicate(type, expr, assumeTrue); case SyntaxKind.ParenthesizedExpression: From bd12f1b9138f826847667f2c42aa0414c562dcf0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 16 Feb 2016 11:03:28 -0800 Subject: [PATCH 061/342] Add missing semicolon --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2e7595f65be..f3aece5dcdb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7200,7 +7200,7 @@ namespace ts { function narrowType(type: Type, expr: Expression, assumeTrue: boolean): Type { switch (expr.kind) { case SyntaxKind.Identifier: - return narrowTypeByTruthiness(type, expr, assumeTrue) + return narrowTypeByTruthiness(type, expr, assumeTrue); case SyntaxKind.CallExpression: return narrowTypeByTypePredicate(type, expr, assumeTrue); case SyntaxKind.ParenthesizedExpression: From a014edf55a61376839682b537463b01d03929c66 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 16 Feb 2016 13:00:21 -0800 Subject: [PATCH 062/342] Address more comments and remove temp test. I added the temp test by mistake. --- src/lib/core.d.ts | 4 ++-- .../conformance/types/thisType/thisTypeInFuncTemp.ts | 9 --------- 2 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts diff --git a/src/lib/core.d.ts b/src/lib/core.d.ts index 5a94b21b0fb..efc6e12fc6d 100644 --- a/src/lib/core.d.ts +++ b/src/lib/core.d.ts @@ -215,7 +215,7 @@ interface Function { * @param thisArg The object to be used as the this object. * @param argArray A set of arguments to be passed to the function. */ - apply(this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; + apply(this: (this: T, ...argArray: any[]) => U, thisArg: T, argArray?: any): U; apply(this: Function, thisArg: any, argArray?: any): any; /** @@ -223,7 +223,7 @@ interface Function { * @param thisArg The object to be used as the current object. * @param argArray A list of arguments to be passed to the method. */ - call(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): U; + call(this: (this: T, ...argArray: any[]) => U, thisArg: T, ...argArray: any[]): U; call(this: Function, thisArg: any, ...argArray: any[]): any; /** diff --git a/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts b/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts deleted file mode 100644 index e4ae3deb171..00000000000 --- a/tests/cases/conformance/types/thisType/thisTypeInFuncTemp.ts +++ /dev/null @@ -1,9 +0,0 @@ -//@strictThis: true -interface A { a: number; m(this: this): number } -interface B { b: number, m(this: this): number } -interface C { c: number; m(): number } -let a: A; -let ab: A | B; -let abc: A | B | C; -// ab.m().length; -abc.m().length; // should be OK? this: any, right? \ No newline at end of file From 703dcee952d136de19c11f9653384bb0ae23b7db Mon Sep 17 00:00:00 2001 From: AbubakerB Date: Wed, 17 Feb 2016 22:46:37 +0000 Subject: [PATCH 063/342] Allow private and protected class members to be accessible in nested classes --- src/compiler/checker.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ab057d430a4..5436aba1cd3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8950,9 +8950,10 @@ namespace ts { const enclosingClass = enclosingClassDeclaration ? getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClassDeclaration)) : undefined; - // Private property is accessible if declaring and enclosing class are the same + // Private property is accessible if the property is within the declaring class if (flags & NodeFlags.Private) { - if (declaringClass !== enclosingClass) { + const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); + if (!isNodeWithinClass(node, declaringClassDeclaration)) { error(node, Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(declaringClass)); return false; } @@ -8965,10 +8966,13 @@ namespace ts { if (left.kind === SyntaxKind.SuperKeyword) { return true; } - // A protected property is accessible in the declaring class and classes derived from it + // A protected property is accessible if the property is within the declaring class or classes derived from it + const typeClassDeclaration = getClassLikeDeclarationOfSymbol(type.symbol); if (!enclosingClass || !hasBaseType(enclosingClass, declaringClass)) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); - return false; + if (!isNodeWithinClass(node, typeClassDeclaration)) { + error(node, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); + return false; + } } // No further restrictions for static properties if (flags & NodeFlags.Static) { @@ -8981,9 +8985,11 @@ namespace ts { } // TODO: why is the first part of this check here? - if (!(getTargetType(type).flags & (TypeFlags.Class | TypeFlags.Interface) && hasBaseType(type, enclosingClass))) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); - return false; + if (getTargetType(type).flags & (TypeFlags.Class | TypeFlags.Interface)) { + if (!(hasBaseType(type, enclosingClass) || isNodeWithinClass(node, typeClassDeclaration))) { + error(node, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); + return false; + } } return true; } From 6ce411dd9fc114a91e6ca2fa3436d304b0978787 Mon Sep 17 00:00:00 2001 From: AbubakerB Date: Wed, 17 Feb 2016 22:47:00 +0000 Subject: [PATCH 064/342] Added tests --- ...lassPropertyAccessibleWithinNestedClass.ts | 38 ++++++++++++++++++ ...lassPropertyAccessibleWithinNestedClass.ts | 38 ++++++++++++++++++ ...sPropertyAccessibleWithinNestedSubclass.ts | 39 +++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts diff --git a/tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts b/tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts new file mode 100644 index 00000000000..a958a5ae624 --- /dev/null +++ b/tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts @@ -0,0 +1,38 @@ +// @target: ES5 +// no errors + +class C { + private x: string; + private get y() { return this.x; } + private set y(x) { this.y = this.x; } + private foo() { return this.foo; } + + private static x: string; + private static get y() { return this.x; } + private static set y(x) { this.y = this.x; } + private static foo() { return this.foo; } + private static bar() { this.foo(); } + + private bar() { + class C2 { + private foo() { + let x: C; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + + let y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + } + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts new file mode 100644 index 00000000000..3482d1a09e9 --- /dev/null +++ b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts @@ -0,0 +1,38 @@ +// @target: ES5 +// no errors + +class C { + protected x: string; + protected get y() { return this.x; } + protected set y(x) { this.y = this.x; } + protected foo() { return this.foo; } + + protected static x: string; + protected static get y() { return this.x; } + protected static set y(x) { this.y = this.x; } + protected static foo() { return this.foo; } + protected static bar() { this.foo(); } + + protected bar() { + class C2 { + protected foo() { + let x: C; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + + let y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + } + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts new file mode 100644 index 00000000000..aae17b8362f --- /dev/null +++ b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts @@ -0,0 +1,39 @@ +// @target: ES5 + +class B { + protected x: string; + protected static x: string; +} + +class C extends B { + protected get y() { return this.x; } + protected set y(x) { this.y = this.x; } + protected foo() { return this.x; } + + protected static get y() { return this.x; } + protected static set y(x) { this.y = this.x; } + protected static foo() { return this.x; } + protected static bar() { this.foo(); } + + protected bar() { + class D { + protected foo() { + var c = new C(); + var c1 = c.y; + var c2 = c.x; + var c3 = c.foo; + var c4 = c.bar; + var c5 = c.z; // error + + var sc1 = C.x; + var sc2 = C.y; + var sc3 = C.foo; + var sc4 = C.bar; + } + } + } +} + +class E extends C { + protected z: string; +} \ No newline at end of file From 9a384641874b9bd5ea2c43c6eddf0c36f8432073 Mon Sep 17 00:00:00 2001 From: AbubakerB Date: Wed, 17 Feb 2016 22:47:14 +0000 Subject: [PATCH 065/342] Accept baselines --- ...lassPropertyAccessibleWithinNestedClass.js | 84 ++++++++++ ...ropertyAccessibleWithinNestedClass.symbols | 154 +++++++++++++++++ ...sPropertyAccessibleWithinNestedClass.types | 158 ++++++++++++++++++ ...lassPropertyAccessibleWithinNestedClass.js | 84 ++++++++++ ...ropertyAccessibleWithinNestedClass.symbols | 154 +++++++++++++++++ ...sPropertyAccessibleWithinNestedClass.types | 158 ++++++++++++++++++ ...yAccessibleWithinNestedSubclass.errors.txt | 44 +++++ ...sPropertyAccessibleWithinNestedSubclass.js | 99 +++++++++++ 8 files changed, 935 insertions(+) create mode 100644 tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.js create mode 100644 tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.symbols create mode 100644 tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.types create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.js create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.symbols create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.types create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.errors.txt create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.js diff --git a/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.js b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.js new file mode 100644 index 00000000000..3bb0a7da3ea --- /dev/null +++ b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.js @@ -0,0 +1,84 @@ +//// [privateClassPropertyAccessibleWithinNestedClass.ts] +// no errors + +class C { + private x: string; + private get y() { return this.x; } + private set y(x) { this.y = this.x; } + private foo() { return this.foo; } + + private static x: string; + private static get y() { return this.x; } + private static set y(x) { this.y = this.x; } + private static foo() { return this.foo; } + private static bar() { this.foo(); } + + private bar() { + class C2 { + private foo() { + let x: C; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + + let y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + } + } + } +} + +//// [privateClassPropertyAccessibleWithinNestedClass.js] +// no errors +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.prototype.foo = function () { return this.foo; }; + Object.defineProperty(C, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.foo = function () { return this.foo; }; + C.bar = function () { this.foo(); }; + C.prototype.bar = function () { + var C2 = (function () { + function C2() { + } + C2.prototype.foo = function () { + var x; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + var y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + }; + return C2; + }()); + }; + return C; +}()); diff --git a/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.symbols b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.symbols new file mode 100644 index 00000000000..dd22887eb23 --- /dev/null +++ b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.symbols @@ -0,0 +1,154 @@ +=== tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts === +// no errors + +class C { +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + private x: string; +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + private get y() { return this.x; } +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>this.x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + private set y(x) { this.y = this.x; } +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 18)) +>this.y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>this.x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + private foo() { return this.foo; } +>foo : Symbol(foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) +>this.foo : Symbol(foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) + + private static x: string; +>x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) + + private static get y() { return this.x; } +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) +>this.x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) + + private static set y(x) { this.y = this.x; } +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 25)) +>this.y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) +>this.x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) + + private static foo() { return this.foo; } +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) +>this.foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) + + private static bar() { this.foo(); } +>bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 11, 45)) +>this.foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) +>this : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) + + private bar() { +>bar : Symbol(bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 12, 40)) + + class C2 { +>C2 : Symbol(C2, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 14, 19)) + + private foo() { +>foo : Symbol(foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 15, 18)) + + let x: C; +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + var x1 = x.foo; +>x1 : Symbol(x1, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 18, 19)) +>x.foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) + + var x2 = x.bar; +>x2 : Symbol(x2, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 19, 19)) +>x.bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 12, 40)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 12, 40)) + + var x3 = x.x; +>x3 : Symbol(x3, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 20, 19)) +>x.x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + var x4 = x.y; +>x4 : Symbol(x4, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 21, 19)) +>x.y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) + + var sx1 = C.x; +>sx1 : Symbol(sx1, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 23, 19)) +>C.x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 6, 38)) + + var sx2 = C.y; +>sx2 : Symbol(sx2, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 24, 19)) +>C.y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 8, 29), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 9, 45)) + + var sx3 = C.bar; +>sx3 : Symbol(sx3, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 25, 19)) +>C.bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 11, 45)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 11, 45)) + + var sx4 = C.foo; +>sx4 : Symbol(sx4, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 26, 19)) +>C.foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 10, 48)) + + let y = new C(); +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>C : Symbol(C, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + var y1 = y.foo; +>y1 : Symbol(y1, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 29, 19)) +>y.foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>foo : Symbol(C.foo, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 5, 41)) + + var y2 = y.bar; +>y2 : Symbol(y2, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 30, 19)) +>y.bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 12, 40)) +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>bar : Symbol(C.bar, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 12, 40)) + + var y3 = y.x; +>y3 : Symbol(y3, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 31, 19)) +>y.x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>x : Symbol(x, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + var y4 = y.y; +>y4 : Symbol(y4, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 32, 19)) +>y.y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) +>y : Symbol(y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>y : Symbol(C.y, Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 3, 22), Decl(privateClassPropertyAccessibleWithinNestedClass.ts, 4, 38)) + } + } + } +} diff --git a/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.types b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.types new file mode 100644 index 00000000000..ee8eb82b940 --- /dev/null +++ b/tests/baselines/reference/privateClassPropertyAccessibleWithinNestedClass.types @@ -0,0 +1,158 @@ +=== tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinNestedClass.ts === +// no errors + +class C { +>C : C + + private x: string; +>x : string + + private get y() { return this.x; } +>y : string +>this.x : string +>this : this +>x : string + + private set y(x) { this.y = this.x; } +>y : string +>x : string +>this.y = this.x : string +>this.y : string +>this : this +>y : string +>this.x : string +>this : this +>x : string + + private foo() { return this.foo; } +>foo : () => any +>this.foo : () => any +>this : this +>foo : () => any + + private static x: string; +>x : string + + private static get y() { return this.x; } +>y : string +>this.x : string +>this : typeof C +>x : string + + private static set y(x) { this.y = this.x; } +>y : string +>x : string +>this.y = this.x : string +>this.y : string +>this : typeof C +>y : string +>this.x : string +>this : typeof C +>x : string + + private static foo() { return this.foo; } +>foo : () => typeof C.foo +>this.foo : () => typeof C.foo +>this : typeof C +>foo : () => typeof C.foo + + private static bar() { this.foo(); } +>bar : () => void +>this.foo() : () => typeof C.foo +>this.foo : () => typeof C.foo +>this : typeof C +>foo : () => typeof C.foo + + private bar() { +>bar : () => void + + class C2 { +>C2 : C2 + + private foo() { +>foo : () => void + + let x: C; +>x : C +>C : C + + var x1 = x.foo; +>x1 : () => any +>x.foo : () => any +>x : C +>foo : () => any + + var x2 = x.bar; +>x2 : () => void +>x.bar : () => void +>x : C +>bar : () => void + + var x3 = x.x; +>x3 : string +>x.x : string +>x : C +>x : string + + var x4 = x.y; +>x4 : string +>x.y : string +>x : C +>y : string + + var sx1 = C.x; +>sx1 : string +>C.x : string +>C : typeof C +>x : string + + var sx2 = C.y; +>sx2 : string +>C.y : string +>C : typeof C +>y : string + + var sx3 = C.bar; +>sx3 : () => void +>C.bar : () => void +>C : typeof C +>bar : () => void + + var sx4 = C.foo; +>sx4 : () => typeof C.foo +>C.foo : () => typeof C.foo +>C : typeof C +>foo : () => typeof C.foo + + let y = new C(); +>y : C +>new C() : C +>C : typeof C + + var y1 = y.foo; +>y1 : () => any +>y.foo : () => any +>y : C +>foo : () => any + + var y2 = y.bar; +>y2 : () => void +>y.bar : () => void +>y : C +>bar : () => void + + var y3 = y.x; +>y3 : string +>y.x : string +>y : C +>x : string + + var y4 = y.y; +>y4 : string +>y.y : string +>y : C +>y : string + } + } + } +} diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.js b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.js new file mode 100644 index 00000000000..2bc544e046e --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.js @@ -0,0 +1,84 @@ +//// [protectedClassPropertyAccessibleWithinNestedClass.ts] +// no errors + +class C { + protected x: string; + protected get y() { return this.x; } + protected set y(x) { this.y = this.x; } + protected foo() { return this.foo; } + + protected static x: string; + protected static get y() { return this.x; } + protected static set y(x) { this.y = this.x; } + protected static foo() { return this.foo; } + protected static bar() { this.foo(); } + + protected bar() { + class C2 { + protected foo() { + let x: C; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + + let y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + } + } + } +} + +//// [protectedClassPropertyAccessibleWithinNestedClass.js] +// no errors +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.prototype.foo = function () { return this.foo; }; + Object.defineProperty(C, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.foo = function () { return this.foo; }; + C.bar = function () { this.foo(); }; + C.prototype.bar = function () { + var C2 = (function () { + function C2() { + } + C2.prototype.foo = function () { + var x; + var x1 = x.foo; + var x2 = x.bar; + var x3 = x.x; + var x4 = x.y; + var sx1 = C.x; + var sx2 = C.y; + var sx3 = C.bar; + var sx4 = C.foo; + var y = new C(); + var y1 = y.foo; + var y2 = y.bar; + var y3 = y.x; + var y4 = y.y; + }; + return C2; + }()); + }; + return C; +}()); diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.symbols b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.symbols new file mode 100644 index 00000000000..ca10d9652e4 --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.symbols @@ -0,0 +1,154 @@ +=== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts === +// no errors + +class C { +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + protected x: string; +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + protected get y() { return this.x; } +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + protected set y(x) { this.y = this.x; } +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 20)) +>this.y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + protected foo() { return this.foo; } +>foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) +>this.foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) + + protected static x: string; +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) + + protected static get y() { return this.x; } +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) +>this.x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) + + protected static set y(x) { this.y = this.x; } +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 27)) +>this.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) +>this.x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) + + protected static foo() { return this.foo; } +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) +>this.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) + + protected static bar() { this.foo(); } +>bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 11, 47)) +>this.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) +>this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) + + protected bar() { +>bar : Symbol(bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 12, 42)) + + class C2 { +>C2 : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 14, 21)) + + protected foo() { +>foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 15, 18)) + + let x: C; +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + var x1 = x.foo; +>x1 : Symbol(x1, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 18, 19)) +>x.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) + + var x2 = x.bar; +>x2 : Symbol(x2, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 19, 19)) +>x.bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 12, 42)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 12, 42)) + + var x3 = x.x; +>x3 : Symbol(x3, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 20, 19)) +>x.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + var x4 = x.y; +>x4 : Symbol(x4, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 21, 19)) +>x.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 17, 19)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) + + var sx1 = C.x; +>sx1 : Symbol(sx1, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 23, 19)) +>C.x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 6, 40)) + + var sx2 = C.y; +>sx2 : Symbol(sx2, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 24, 19)) +>C.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 8, 31), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 9, 47)) + + var sx3 = C.bar; +>sx3 : Symbol(sx3, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 25, 19)) +>C.bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 11, 47)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 11, 47)) + + var sx4 = C.foo; +>sx4 : Symbol(sx4, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 26, 19)) +>C.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 10, 50)) + + let y = new C(); +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 0, 0)) + + var y1 = y.foo; +>y1 : Symbol(y1, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 29, 19)) +>y.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 5, 43)) + + var y2 = y.bar; +>y2 : Symbol(y2, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 30, 19)) +>y.bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 12, 42)) +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 12, 42)) + + var y3 = y.x; +>y3 : Symbol(y3, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 31, 19)) +>y.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 2, 9)) + + var y4 = y.y; +>y4 : Symbol(y4, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 32, 19)) +>y.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) +>y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 28, 19)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinNestedClass.ts, 4, 40)) + } + } + } +} diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.types new file mode 100644 index 00000000000..f7cff2e6719 --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedClass.types @@ -0,0 +1,158 @@ +=== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedClass.ts === +// no errors + +class C { +>C : C + + protected x: string; +>x : string + + protected get y() { return this.x; } +>y : string +>this.x : string +>this : this +>x : string + + protected set y(x) { this.y = this.x; } +>y : string +>x : string +>this.y = this.x : string +>this.y : string +>this : this +>y : string +>this.x : string +>this : this +>x : string + + protected foo() { return this.foo; } +>foo : () => any +>this.foo : () => any +>this : this +>foo : () => any + + protected static x: string; +>x : string + + protected static get y() { return this.x; } +>y : string +>this.x : string +>this : typeof C +>x : string + + protected static set y(x) { this.y = this.x; } +>y : string +>x : string +>this.y = this.x : string +>this.y : string +>this : typeof C +>y : string +>this.x : string +>this : typeof C +>x : string + + protected static foo() { return this.foo; } +>foo : () => typeof C.foo +>this.foo : () => typeof C.foo +>this : typeof C +>foo : () => typeof C.foo + + protected static bar() { this.foo(); } +>bar : () => void +>this.foo() : () => typeof C.foo +>this.foo : () => typeof C.foo +>this : typeof C +>foo : () => typeof C.foo + + protected bar() { +>bar : () => void + + class C2 { +>C2 : C2 + + protected foo() { +>foo : () => void + + let x: C; +>x : C +>C : C + + var x1 = x.foo; +>x1 : () => any +>x.foo : () => any +>x : C +>foo : () => any + + var x2 = x.bar; +>x2 : () => void +>x.bar : () => void +>x : C +>bar : () => void + + var x3 = x.x; +>x3 : string +>x.x : string +>x : C +>x : string + + var x4 = x.y; +>x4 : string +>x.y : string +>x : C +>y : string + + var sx1 = C.x; +>sx1 : string +>C.x : string +>C : typeof C +>x : string + + var sx2 = C.y; +>sx2 : string +>C.y : string +>C : typeof C +>y : string + + var sx3 = C.bar; +>sx3 : () => void +>C.bar : () => void +>C : typeof C +>bar : () => void + + var sx4 = C.foo; +>sx4 : () => typeof C.foo +>C.foo : () => typeof C.foo +>C : typeof C +>foo : () => typeof C.foo + + let y = new C(); +>y : C +>new C() : C +>C : typeof C + + var y1 = y.foo; +>y1 : () => any +>y.foo : () => any +>y : C +>foo : () => any + + var y2 = y.bar; +>y2 : () => void +>y.bar : () => void +>y : C +>bar : () => void + + var y3 = y.x; +>y3 : string +>y.x : string +>y : C +>x : string + + var y4 = y.y; +>y4 : string +>y.y : string +>y : C +>y : string + } + } + } +} diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.errors.txt b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.errors.txt new file mode 100644 index 00000000000..0bf38477f70 --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.errors.txt @@ -0,0 +1,44 @@ +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts(25,28): error TS2339: Property 'z' does not exist on type 'C'. + + +==== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass.ts (1 errors) ==== + + class B { + protected x: string; + protected static x: string; + } + + class C extends B { + protected get y() { return this.x; } + protected set y(x) { this.y = this.x; } + protected foo() { return this.x; } + + protected static get y() { return this.x; } + protected static set y(x) { this.y = this.x; } + protected static foo() { return this.x; } + protected static bar() { this.foo(); } + + protected bar() { + class D { + protected foo() { + var c = new C(); + var c1 = c.y; + var c2 = c.x; + var c3 = c.foo; + var c4 = c.bar; + var c5 = c.z; // error + ~ +!!! error TS2339: Property 'z' does not exist on type 'C'. + + var sc1 = C.x; + var sc2 = C.y; + var sc3 = C.foo; + var sc4 = C.bar; + } + } + } + } + + class E extends C { + protected z: string; + } \ No newline at end of file diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.js b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.js new file mode 100644 index 00000000000..255c05ac3ac --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass.js @@ -0,0 +1,99 @@ +//// [protectedClassPropertyAccessibleWithinNestedSubclass.ts] + +class B { + protected x: string; + protected static x: string; +} + +class C extends B { + protected get y() { return this.x; } + protected set y(x) { this.y = this.x; } + protected foo() { return this.x; } + + protected static get y() { return this.x; } + protected static set y(x) { this.y = this.x; } + protected static foo() { return this.x; } + protected static bar() { this.foo(); } + + protected bar() { + class D { + protected foo() { + var c = new C(); + var c1 = c.y; + var c2 = c.x; + var c3 = c.foo; + var c4 = c.bar; + var c5 = c.z; // error + + var sc1 = C.x; + var sc2 = C.y; + var sc3 = C.foo; + var sc4 = C.bar; + } + } + } +} + +class E extends C { + protected z: string; +} + +//// [protectedClassPropertyAccessibleWithinNestedSubclass.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var B = (function () { + function B() { + } + return B; +}()); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + Object.defineProperty(C.prototype, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.prototype.foo = function () { return this.x; }; + Object.defineProperty(C, "y", { + get: function () { return this.x; }, + set: function (x) { this.y = this.x; }, + enumerable: true, + configurable: true + }); + C.foo = function () { return this.x; }; + C.bar = function () { this.foo(); }; + C.prototype.bar = function () { + var D = (function () { + function D() { + } + D.prototype.foo = function () { + var c = new C(); + var c1 = c.y; + var c2 = c.x; + var c3 = c.foo; + var c4 = c.bar; + var c5 = c.z; // error + var sc1 = C.x; + var sc2 = C.y; + var sc3 = C.foo; + var sc4 = C.bar; + }; + return D; + }()); + }; + return C; +}(B)); +var E = (function (_super) { + __extends(E, _super); + function E() { + _super.apply(this, arguments); + } + return E; +}(C)); From 1f096bd0806f6a0c7807bf9d19601d6105a4495a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 17 Feb 2016 18:44:15 -0800 Subject: [PATCH 066/342] Add '!' non-null assertion postfix operator --- src/compiler/checker.ts | 7 +++++++ src/compiler/emitter.ts | 30 ++++++++++++++++++++---------- src/compiler/parser.ts | 9 +++++++++ src/compiler/types.ts | 6 ++++++ src/compiler/utilities.ts | 2 ++ 5 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f3aece5dcdb..7d7290b9031 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6878,6 +6878,7 @@ namespace ts { case SyntaxKind.NewExpression: case SyntaxKind.TypeAssertionExpression: case SyntaxKind.AsExpression: + case SyntaxKind.NonNullExpression: case SyntaxKind.ParenthesizedExpression: case SyntaxKind.PrefixUnaryExpression: case SyntaxKind.DeleteExpression: @@ -10383,6 +10384,10 @@ namespace ts { return targetType; } + function checkNonNullExpression(node: NonNullExpression) { + return getNonNullableType(checkExpression(node.expression)); + } + function getTypeAtPosition(signature: Signature, pos: number): Type { return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : @@ -11555,6 +11560,8 @@ namespace ts { case SyntaxKind.TypeAssertionExpression: case SyntaxKind.AsExpression: return checkAssertion(node); + case SyntaxKind.NonNullExpression: + return checkNonNullExpression(node); case SyntaxKind.DeleteExpression: return checkDeleteExpression(node); case SyntaxKind.VoidExpression: diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index f08082d72c8..d0d908d84b9 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1533,6 +1533,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge case SyntaxKind.JsxSpreadAttribute: case SyntaxKind.JsxExpression: case SyntaxKind.NewExpression: + case SyntaxKind.NonNullExpression: case SyntaxKind.ParenthesizedExpression: case SyntaxKind.PostfixUnaryExpression: case SyntaxKind.PrefixUnaryExpression: @@ -2077,8 +2078,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function parenthesizeForAccess(expr: Expression): LeftHandSideExpression { // When diagnosing whether the expression needs parentheses, the decision should be based // on the innermost expression in a chain of nested type assertions. - while (expr.kind === SyntaxKind.TypeAssertionExpression || expr.kind === SyntaxKind.AsExpression) { - expr = (expr).expression; + while (expr.kind === SyntaxKind.TypeAssertionExpression || + expr.kind === SyntaxKind.AsExpression || + expr.kind === SyntaxKind.NonNullExpression) { + expr = (expr).expression; } // isLeftHandSideExpression is almost the correct criterion for when it is not necessary @@ -2326,8 +2329,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } function skipParentheses(node: Expression): Expression { - while (node.kind === SyntaxKind.ParenthesizedExpression || node.kind === SyntaxKind.TypeAssertionExpression || node.kind === SyntaxKind.AsExpression) { - node = (node).expression; + while (node.kind === SyntaxKind.ParenthesizedExpression || + node.kind === SyntaxKind.TypeAssertionExpression || + node.kind === SyntaxKind.AsExpression || + node.kind === SyntaxKind.NonNullExpression) { + node = (node).expression; } return node; } @@ -2501,13 +2507,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // not the user. If we didn't want them, the emitter would not have put them // there. if (!nodeIsSynthesized(node) && node.parent.kind !== SyntaxKind.ArrowFunction) { - if (node.expression.kind === SyntaxKind.TypeAssertionExpression || node.expression.kind === SyntaxKind.AsExpression) { - let operand = (node.expression).expression; + if (node.expression.kind === SyntaxKind.TypeAssertionExpression || + node.expression.kind === SyntaxKind.AsExpression || + node.expression.kind === SyntaxKind.NonNullExpression) { + let operand = (node.expression).expression; // Make sure we consider all nested cast expressions, e.g.: // (-A).x; - while (operand.kind === SyntaxKind.TypeAssertionExpression || operand.kind === SyntaxKind.AsExpression) { - operand = (operand).expression; + while (operand.kind === SyntaxKind.TypeAssertionExpression || + operand.kind === SyntaxKind.AsExpression || + operand.kind === SyntaxKind.NonNullExpression) { + operand = (operand).expression; } // We have an expression of the form: (SubExpr) @@ -7887,9 +7897,9 @@ const _super = (function (geti, seti) { case SyntaxKind.TaggedTemplateExpression: return emitTaggedTemplateExpression(node); case SyntaxKind.TypeAssertionExpression: - return emit((node).expression); case SyntaxKind.AsExpression: - return emit((node).expression); + case SyntaxKind.NonNullExpression: + return emit((node).expression); case SyntaxKind.ParenthesizedExpression: return emitParenExpression(node); case SyntaxKind.FunctionDeclaration: diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 16ee3eb1627..25b95536947 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -178,6 +178,8 @@ namespace ts { case SyntaxKind.AsExpression: return visitNode(cbNode, (node).expression) || visitNode(cbNode, (node).type); + case SyntaxKind.NonNullExpression: + return visitNode(cbNode, (node).expression); case SyntaxKind.ConditionalExpression: return visitNode(cbNode, (node).condition) || visitNode(cbNode, (node).questionToken) || @@ -3726,6 +3728,13 @@ namespace ts { continue; } + if (parseOptional(SyntaxKind.ExclamationToken)) { + const nonNullExpression = createNode(SyntaxKind.NonNullExpression, expression.pos); + nonNullExpression.expression = expression; + expression = finishNode(nonNullExpression); + continue; + } + // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName if (!inDecoratorContext() && parseOptional(SyntaxKind.OpenBracketToken)) { const indexedAccess = createNode(SyntaxKind.ElementAccessExpression, expression.pos); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index d7abcc02963..af4045cf643 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -240,6 +240,7 @@ namespace ts { OmittedExpression, ExpressionWithTypeArguments, AsExpression, + NonNullExpression, // Misc TemplateSpan, @@ -1017,6 +1018,11 @@ namespace ts { export type AssertionExpression = TypeAssertion | AsExpression; + // @kind(SyntaxKind.NonNullExpression) + export interface NonNullExpression extends LeftHandSideExpression { + expression: Expression; + } + /// A JSX expression of the form ... // @kind(SyntaxKind.JsxElement) export interface JsxElement extends PrimaryExpression { diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 5494db5fbd6..50005d5c070 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -968,6 +968,7 @@ namespace ts { case SyntaxKind.TaggedTemplateExpression: case SyntaxKind.AsExpression: case SyntaxKind.TypeAssertionExpression: + case SyntaxKind.NonNullExpression: case SyntaxKind.ParenthesizedExpression: case SyntaxKind.FunctionExpression: case SyntaxKind.ClassExpression: @@ -2394,6 +2395,7 @@ namespace ts { case SyntaxKind.ElementAccessExpression: case SyntaxKind.NewExpression: case SyntaxKind.CallExpression: + case SyntaxKind.NonNullExpression: case SyntaxKind.JsxElement: case SyntaxKind.JsxSelfClosingElement: case SyntaxKind.TaggedTemplateExpression: From 46837fd77d23569cd425f3b10f59e7c4237bf5d6 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 17 Feb 2016 19:03:56 -0800 Subject: [PATCH 067/342] Disallow line breaks between operand and '!' non-null assertion operator --- src/compiler/parser.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 25b95536947..f3a9e5cbf85 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -3728,7 +3728,8 @@ namespace ts { continue; } - if (parseOptional(SyntaxKind.ExclamationToken)) { + if (token === SyntaxKind.ExclamationToken && !scanner.hasPrecedingLineBreak()) { + nextToken(); const nonNullExpression = createNode(SyntaxKind.NonNullExpression, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); From 54ee0b13b36610710880d5afa1c98c4b5b001d43 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 17 Feb 2016 19:04:25 -0800 Subject: [PATCH 068/342] Accepting new baselines --- .../logicalNotOperatorInvalidOperations.errors.txt | 8 +------- .../reference/logicalNotOperatorInvalidOperations.js | 3 +-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt b/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt index 07262962b08..c7d66e17f9d 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt @@ -1,19 +1,13 @@ -tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts(5,17): error TS1005: ',' expected. -tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts(5,18): error TS1109: Expression expected. tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts(8,16): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'. tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts(11,16): error TS1109: Expression expected. -==== tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts (4 errors) ==== +==== tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts (2 errors) ==== // Unary operator ! var b: number; // operand before ! var BOOLEAN1 = b!; //expect error - ~ -!!! error TS1005: ',' expected. - ~ -!!! error TS1109: Expression expected. // miss parentheses var BOOLEAN2 = !b + b; diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.js b/tests/baselines/reference/logicalNotOperatorInvalidOperations.js index 7b16f2ef36f..0cb941b0e41 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.js +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.js @@ -15,8 +15,7 @@ var BOOLEAN3 =!; // Unary operator ! var b; // operand before ! -var BOOLEAN1 = b; -!; //expect error +var BOOLEAN1 = b; //expect error // miss parentheses var BOOLEAN2 = !b + b; // miss an operand From 1e8a7e28d00734578098255705b646269aa52f2e Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 18 Feb 2016 09:13:18 -0800 Subject: [PATCH 069/342] Correct && operator to produce nullable values --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7d7290b9031..6a95162804a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11260,7 +11260,7 @@ namespace ts { case SyntaxKind.InKeyword: return checkInExpression(left, right, leftType, rightType); case SyntaxKind.AmpersandAmpersandToken: - return rightType; + return isNullableType(leftType) ? getNullableType(rightType) : rightType; case SyntaxKind.BarBarToken: return getUnionType([getNonNullableType(leftType), rightType]); case SyntaxKind.EqualsToken: From 50ea0bfc711ff68bee03f954eb86e439ff138d5c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 19 Feb 2016 09:32:56 -0800 Subject: [PATCH 070/342] Support x == null and x != null in non-null guards. Also, allow == and != in type guards. --- src/compiler/checker.ts | 60 ++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7000ace8aff..874dcb40d5a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7065,17 +7065,54 @@ namespace ts { return strictNullChecks && assumeTrue && getResolvedSymbol(expr) === symbol ? getNonNullableType(type) : type; } - function narrowTypeByEquality(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { - // Check that we have 'typeof ' on the left and string literal on the right - if (expr.left.kind !== SyntaxKind.TypeOfExpression || expr.right.kind !== SyntaxKind.StringLiteral) { + function narrowTypeByBinaryExpression(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { + switch (expr.operatorToken.kind) { + case SyntaxKind.EqualsEqualsToken: + case SyntaxKind.ExclamationEqualsToken: + if (expr.right.kind === SyntaxKind.NullKeyword) { + return narrowTypeByNullCheck(type, expr, assumeTrue); + } + // Fall through + case SyntaxKind.EqualsEqualsEqualsToken: + case SyntaxKind.ExclamationEqualsEqualsToken: + if (expr.left.kind === SyntaxKind.TypeOfExpression && expr.right.kind === SyntaxKind.StringLiteral) { + return narrowTypeByTypeof(type, expr, assumeTrue); + } + break; + case SyntaxKind.AmpersandAmpersandToken: + return narrowTypeByAnd(type, expr, assumeTrue); + case SyntaxKind.BarBarToken: + return narrowTypeByOr(type, expr, assumeTrue); + case SyntaxKind.InstanceOfKeyword: + return narrowTypeByInstanceof(type, expr, assumeTrue); + } + return type; + } + + function narrowTypeByNullCheck(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { + // We have '==' or '!=' operator with 'null' on the right + if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsToken) { + assumeTrue = !assumeTrue; + } + if (!strictNullChecks || assumeTrue) { return type; } + if (expr.left.kind !== SyntaxKind.Identifier || getResolvedSymbol(expr.left) !== symbol) { + return type; + } + return getNonNullableType(type); + } + + function narrowTypeByTypeof(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { + // We have '==', '!=', '====', or !==' operator with 'typeof xxx' on the left + // and string literal on the right const left = expr.left; const right = expr.right; if (left.expression.kind !== SyntaxKind.Identifier || getResolvedSymbol(left.expression) !== symbol) { return type; } - if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsEqualsToken) { + if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsToken || + expr.operatorToken.kind === SyntaxKind.ExclamationEqualsEqualsToken) { assumeTrue = !assumeTrue; } const typeInfo = primitiveTypeInfo[right.text]; @@ -7260,20 +7297,7 @@ namespace ts { case SyntaxKind.ParenthesizedExpression: return narrowType(type, (expr).expression, assumeTrue); case SyntaxKind.BinaryExpression: - const operator = (expr).operatorToken.kind; - if (operator === SyntaxKind.EqualsEqualsEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { - return narrowTypeByEquality(type, expr, assumeTrue); - } - else if (operator === SyntaxKind.AmpersandAmpersandToken) { - return narrowTypeByAnd(type, expr, assumeTrue); - } - else if (operator === SyntaxKind.BarBarToken) { - return narrowTypeByOr(type, expr, assumeTrue); - } - else if (operator === SyntaxKind.InstanceOfKeyword) { - return narrowTypeByInstanceof(type, expr, assumeTrue); - } - break; + return narrowTypeByBinaryExpression(type, expr, assumeTrue); case SyntaxKind.PrefixUnaryExpression: if ((expr).operator === SyntaxKind.ExclamationToken) { return narrowType(type, (expr).operand, !assumeTrue); From d10017f165ca08417c516e8723a3c3faa9cb3da4 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 19 Feb 2016 09:33:11 -0800 Subject: [PATCH 071/342] Accepting new baselines --- ...FormTypeOfEqualEqualHasNoEffect.errors.txt | 50 +++++++++++ ...dOfFormTypeOfEqualEqualHasNoEffect.symbols | 70 ---------------- ...ardOfFormTypeOfEqualEqualHasNoEffect.types | 82 ------------------- ...OfFormTypeOfNotEqualHasNoEffect.errors.txt | 50 +++++++++++ ...ardOfFormTypeOfNotEqualHasNoEffect.symbols | 70 ---------------- ...GuardOfFormTypeOfNotEqualHasNoEffect.types | 82 ------------------- 6 files changed, 100 insertions(+), 304 deletions(-) create mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt delete mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols delete mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types create mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt delete mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols delete mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt new file mode 100644 index 00000000000..c76c6e819df --- /dev/null +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt @@ -0,0 +1,50 @@ +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts(13,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'string', but here has type 'number'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts(20,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'boolean', but here has type 'string'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts(27,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'number', but here has type 'boolean'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts(34,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'C', but here has type 'string'. + + +==== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts (4 errors) ==== + class C { private p: string }; + + var strOrNum: string | number; + var strOrBool: string | boolean; + var numOrBool: number | boolean + var strOrC: string | C; + + // typeof x == s has not effect on typeguard + if (typeof strOrNum == "string") { + var r1 = strOrNum; // string | number + } + else { + var r1 = strOrNum; // string | number + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'string', but here has type 'number'. + } + + if (typeof strOrBool == "boolean") { + var r2 = strOrBool; // string | boolean + } + else { + var r2 = strOrBool; // string | boolean + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'boolean', but here has type 'string'. + } + + if (typeof numOrBool == "number") { + var r3 = numOrBool; // number | boolean + } + else { + var r3 = numOrBool; // number | boolean + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'number', but here has type 'boolean'. + } + + if (typeof strOrC == "Object") { + var r4 = strOrC; // string | C + } + else { + var r4 = strOrC; // string | C + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'C', but here has type 'string'. + } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols deleted file mode 100644 index 69e0dc78738..00000000000 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols +++ /dev/null @@ -1,70 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts === -class C { private p: string }; ->C : Symbol(C, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 9)) - -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) - -var strOrBool: string | boolean; ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) - -var numOrBool: number | boolean ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) - -var strOrC: string | C; ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) ->C : Symbol(C, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 0)) - -// typeof x == s has not effect on typeguard -if (typeof strOrNum == "string") { ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) - - var r1 = strOrNum; // string | number ->r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) -} -else { - var r1 = strOrNum; // string | number ->r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) -} - -if (typeof strOrBool == "boolean") { ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) - - var r2 = strOrBool; // string | boolean ->r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) -} -else { - var r2 = strOrBool; // string | boolean ->r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) -} - -if (typeof numOrBool == "number") { ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) - - var r3 = numOrBool; // number | boolean ->r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) -} -else { - var r3 = numOrBool; // number | boolean ->r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) -} - -if (typeof strOrC == "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) - - var r4 = strOrC; // string | C ->r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) -} -else { - var r4 = strOrC; // string | C ->r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) -} diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types deleted file mode 100644 index 4bfc8fe6bf1..00000000000 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types +++ /dev/null @@ -1,82 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts === -class C { private p: string }; ->C : C ->p : string - -var strOrNum: string | number; ->strOrNum : string | number - -var strOrBool: string | boolean; ->strOrBool : string | boolean - -var numOrBool: number | boolean ->numOrBool : number | boolean - -var strOrC: string | C; ->strOrC : string | C ->C : C - -// typeof x == s has not effect on typeguard -if (typeof strOrNum == "string") { ->typeof strOrNum == "string" : boolean ->typeof strOrNum : string ->strOrNum : string | number ->"string" : string - - var r1 = strOrNum; // string | number ->r1 : string | number ->strOrNum : string | number -} -else { - var r1 = strOrNum; // string | number ->r1 : string | number ->strOrNum : string | number -} - -if (typeof strOrBool == "boolean") { ->typeof strOrBool == "boolean" : boolean ->typeof strOrBool : string ->strOrBool : string | boolean ->"boolean" : string - - var r2 = strOrBool; // string | boolean ->r2 : string | boolean ->strOrBool : string | boolean -} -else { - var r2 = strOrBool; // string | boolean ->r2 : string | boolean ->strOrBool : string | boolean -} - -if (typeof numOrBool == "number") { ->typeof numOrBool == "number" : boolean ->typeof numOrBool : string ->numOrBool : number | boolean ->"number" : string - - var r3 = numOrBool; // number | boolean ->r3 : number | boolean ->numOrBool : number | boolean -} -else { - var r3 = numOrBool; // number | boolean ->r3 : number | boolean ->numOrBool : number | boolean -} - -if (typeof strOrC == "Object") { ->typeof strOrC == "Object" : boolean ->typeof strOrC : string ->strOrC : string | C ->"Object" : string - - var r4 = strOrC; // string | C ->r4 : string | C ->strOrC : string | C -} -else { - var r4 = strOrC; // string | C ->r4 : string | C ->strOrC : string | C -} diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt new file mode 100644 index 00000000000..3b29f3ecba8 --- /dev/null +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt @@ -0,0 +1,50 @@ +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts(13,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'number', but here has type 'string'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts(20,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'string', but here has type 'boolean'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts(27,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'boolean', but here has type 'number'. +tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts(34,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'string', but here has type 'C'. + + +==== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts (4 errors) ==== + class C { private p: string }; + + var strOrNum: string | number; + var strOrBool: string | boolean; + var numOrBool: number | boolean + var strOrC: string | C; + + // typeof x != s has not effect on typeguard + if (typeof strOrNum != "string") { + var r1 = strOrNum; // string | number + } + else { + var r1 = strOrNum; // string | number + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'number', but here has type 'string'. + } + + if (typeof strOrBool != "boolean") { + var r2 = strOrBool; // string | boolean + } + else { + var r2 = strOrBool; // string | boolean + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'string', but here has type 'boolean'. + } + + if (typeof numOrBool != "number") { + var r3 = numOrBool; // number | boolean + } + else { + var r3 = numOrBool; // number | boolean + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'boolean', but here has type 'number'. + } + + if (typeof strOrC != "Object") { + var r4 = strOrC; // string | C + } + else { + var r4 = strOrC; // string | C + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'string', but here has type 'C'. + } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols deleted file mode 100644 index b22f1e313a4..00000000000 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols +++ /dev/null @@ -1,70 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts === -class C { private p: string }; ->C : Symbol(C, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 9)) - -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) - -var strOrBool: string | boolean; ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) - -var numOrBool: number | boolean ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) - -var strOrC: string | C; ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) ->C : Symbol(C, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 0)) - -// typeof x != s has not effect on typeguard -if (typeof strOrNum != "string") { ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) - - var r1 = strOrNum; // string | number ->r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) -} -else { - var r1 = strOrNum; // string | number ->r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) -} - -if (typeof strOrBool != "boolean") { ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) - - var r2 = strOrBool; // string | boolean ->r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) -} -else { - var r2 = strOrBool; // string | boolean ->r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) -} - -if (typeof numOrBool != "number") { ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) - - var r3 = numOrBool; // number | boolean ->r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) -} -else { - var r3 = numOrBool; // number | boolean ->r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) -} - -if (typeof strOrC != "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) - - var r4 = strOrC; // string | C ->r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) -} -else { - var r4 = strOrC; // string | C ->r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) -} diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types deleted file mode 100644 index 6eabeb25ede..00000000000 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types +++ /dev/null @@ -1,82 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts === -class C { private p: string }; ->C : C ->p : string - -var strOrNum: string | number; ->strOrNum : string | number - -var strOrBool: string | boolean; ->strOrBool : string | boolean - -var numOrBool: number | boolean ->numOrBool : number | boolean - -var strOrC: string | C; ->strOrC : string | C ->C : C - -// typeof x != s has not effect on typeguard -if (typeof strOrNum != "string") { ->typeof strOrNum != "string" : boolean ->typeof strOrNum : string ->strOrNum : string | number ->"string" : string - - var r1 = strOrNum; // string | number ->r1 : string | number ->strOrNum : string | number -} -else { - var r1 = strOrNum; // string | number ->r1 : string | number ->strOrNum : string | number -} - -if (typeof strOrBool != "boolean") { ->typeof strOrBool != "boolean" : boolean ->typeof strOrBool : string ->strOrBool : string | boolean ->"boolean" : string - - var r2 = strOrBool; // string | boolean ->r2 : string | boolean ->strOrBool : string | boolean -} -else { - var r2 = strOrBool; // string | boolean ->r2 : string | boolean ->strOrBool : string | boolean -} - -if (typeof numOrBool != "number") { ->typeof numOrBool != "number" : boolean ->typeof numOrBool : string ->numOrBool : number | boolean ->"number" : string - - var r3 = numOrBool; // number | boolean ->r3 : number | boolean ->numOrBool : number | boolean -} -else { - var r3 = numOrBool; // number | boolean ->r3 : number | boolean ->numOrBool : number | boolean -} - -if (typeof strOrC != "Object") { ->typeof strOrC != "Object" : boolean ->typeof strOrC : string ->strOrC : string | C ->"Object" : string - - var r4 = strOrC; // string | C ->r4 : string | C ->strOrC : string | C -} -else { - var r4 = strOrC; // string | C ->r4 : string | C ->strOrC : string | C -} From ed40fbf2d8fbdca5a6407d5ce07df832094643ca Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 19 Feb 2016 16:48:58 -0800 Subject: [PATCH 072/342] Suport both x != null and x != undefined in non-null type guards --- src/compiler/checker.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 874dcb40d5a..eafbff70822 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6986,6 +6986,11 @@ namespace ts { } } + function isNullOrUndefinedLiteral(node: Expression) { + return node.kind === SyntaxKind.NullKeyword || + node.kind === SyntaxKind.Identifier && getResolvedSymbol(node) === undefinedSymbol; + } + // Get the narrowed type of a given symbol at a given location function getNarrowedTypeOfSymbol(symbol: Symbol, node: Node) { let type = getTypeOfSymbol(symbol); @@ -7069,7 +7074,7 @@ namespace ts { switch (expr.operatorToken.kind) { case SyntaxKind.EqualsEqualsToken: case SyntaxKind.ExclamationEqualsToken: - if (expr.right.kind === SyntaxKind.NullKeyword) { + if (isNullOrUndefinedLiteral(expr.right)) { return narrowTypeByNullCheck(type, expr, assumeTrue); } // Fall through From d6485c9c8fd64afd26eafc7cac9a61061970887d Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Mon, 22 Feb 2016 05:37:07 +0800 Subject: [PATCH 073/342] Adds navigation bar items on methods and constructors --- src/services/navigationBar.ts | 23 ++++++++++- ...ionBarItemsInsideMethodsAndConstructors.ts | 38 +++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index f62c6cb1700..24ca0519859 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -154,6 +154,16 @@ namespace ts.NavigationBar { for (let node of nodes) { switch (node.kind) { case SyntaxKind.ClassDeclaration: + topLevelNodes.push(node); + forEach((node).members, (node) => { + if (node.kind === SyntaxKind.MethodDeclaration || + node.kind === SyntaxKind.Constructor) { + if ((node).body) { + addTopLevelNodes(((node).body).statements, topLevelNodes); + } + } + }); + break; case SyntaxKind.EnumDeclaration: case SyntaxKind.InterfaceDeclaration: topLevelNodes.push(node); @@ -193,6 +203,15 @@ namespace ts.NavigationBar { if (!isFunctionBlock(functionDeclaration.parent)) { return true; } + else { + // Except for parent functions that are methods and constructors. + const grandParentKind = functionDeclaration.parent.parent.kind; + if (grandParentKind === SyntaxKind.MethodDeclaration || + grandParentKind === SyntaxKind.Constructor) { + + return true; + } + } } } @@ -407,7 +426,7 @@ namespace ts.NavigationBar { function createModuleItem(node: ModuleDeclaration): NavigationBarItem { let moduleName = getModuleName(node); - + let childItems = getItemsWorker(getChildNodes((getInnermostModule(node).body).statements), createChildItem); return getNavigationBarItem(moduleName, @@ -422,7 +441,7 @@ namespace ts.NavigationBar { if (node.body && node.body.kind === SyntaxKind.Block) { let childItems = getItemsWorker(sortNodes((node.body).statements), createChildItem); - return getNavigationBarItem(!node.name ? "default": node.name.text , + return getNavigationBarItem(!node.name ? "default": node.name.text, ts.ScriptElementKind.functionElement, getNodeModifiers(node), [getNodeSpan(node)], diff --git a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts new file mode 100644 index 00000000000..65e3384e61b --- /dev/null +++ b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts @@ -0,0 +1,38 @@ +/// + +////class Class { +//// constructor() { +//// {| "itemName": "LocalFunctionInConstructor", "kind": "function", "parentName": "Class"|}function LocalFunctionInConstructor() { +//// +//// } +//// +//// {| "itemName": "LocalInterfaceInConstrcutor", "kind": "interface", "parentName": "foo"|}interface LocalInterfaceInConstrcutor { +//// } +//// +//// enum LocalEnumInConstructor { +//// {| "itemName": "LocalEnumMemberInConstructor", "kind": "property", "parentName": "LocalEnumInConstructor"|}LocalEnumMemberInConstructor, +//// } +//// } +//// method() { +//// {| "itemName": "LocalFunctionInMethod", "kind": "function", "parentName": "foo"|}function LocalFunctionInMethod() { +//// {| "itemName": "LocalFunctionInLocalFunctionInMethod", "kind": "function", "parentName": "bar"|}function LocalFunctionInLocalFunctionInMethod() { +//// +//// } +//// } +//// +//// {| "itemName": "LocalInterfaceInMethod", "kind": "interface", "parentName": "foo"|}interface LocalInterfaceInMethod { +//// } +//// +//// enum LocalEnumInMethod { +//// {| "itemName": "LocalEnumMemberInMethod", "kind": "property", "parentName": "foo"|}LocalEnumMemberInMethod, +//// } +//// } +////} + +test.markers().forEach((marker) => { + verify.getScriptLexicalStructureListContains(marker.data.itemName, marker.data.kind, marker.fileName, marker.data.parentName); +}); + +// no other items +verify.getScriptLexicalStructureListCount(12); + From 1a9dadbc034b651e920d1adb7841a204b2fc0a9e Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Mon, 22 Feb 2016 05:39:19 +0800 Subject: [PATCH 074/342] Fixes typo --- src/services/navigationBar.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 24ca0519859..ae3e61ba2ca 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -198,13 +198,12 @@ namespace ts.NavigationBar { return true; } - // Or if it is not parented by another function. i.e all functions - // at module scope are 'top level'. + // Or if it is not parented by another function(except for parent functions that + // are methods and constructors). I.e all functions at module scope are 'top level'. if (!isFunctionBlock(functionDeclaration.parent)) { return true; } else { - // Except for parent functions that are methods and constructors. const grandParentKind = functionDeclaration.parent.parent.kind; if (grandParentKind === SyntaxKind.MethodDeclaration || grandParentKind === SyntaxKind.Constructor) { From 1b5b146152329e56e7ba0a298eb2cb77b0660afc Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Mon, 22 Feb 2016 05:42:32 +0800 Subject: [PATCH 075/342] Fixes if statement --- src/services/navigationBar.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index ae3e61ba2ca..62a97699537 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -156,8 +156,7 @@ namespace ts.NavigationBar { case SyntaxKind.ClassDeclaration: topLevelNodes.push(node); forEach((node).members, (node) => { - if (node.kind === SyntaxKind.MethodDeclaration || - node.kind === SyntaxKind.Constructor) { + if (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.Constructor) { if ((node).body) { addTopLevelNodes(((node).body).statements, topLevelNodes); } From 276885c4cbc08a975b47c159e16b95ebc917a03d Mon Sep 17 00:00:00 2001 From: AbubakerB Date: Sun, 21 Feb 2016 22:03:29 +0000 Subject: [PATCH 076/342] Addressed PR --- src/compiler/checker.ts | 46 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5436aba1cd3..91caff0f0cf 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8945,10 +8945,6 @@ namespace ts { } // Property is known to be private or protected at this point - // Get the declaring and enclosing class instance types - const enclosingClassDeclaration = getContainingClass(node); - - const enclosingClass = enclosingClassDeclaration ? getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClassDeclaration)) : undefined; // Private property is accessible if the property is within the declaring class if (flags & NodeFlags.Private) { @@ -8966,13 +8962,17 @@ namespace ts { if (left.kind === SyntaxKind.SuperKeyword) { return true; } + + // Get the enclosing class that has the declaring class as its base type + const enclosingClass = forEachEnclosingClass(node, enclosingDeclaration => { + const enclosingClass = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingDeclaration)); + return hasBaseType(enclosingClass, declaringClass) ? enclosingClass : undefined; + }); + // A protected property is accessible if the property is within the declaring class or classes derived from it - const typeClassDeclaration = getClassLikeDeclarationOfSymbol(type.symbol); - if (!enclosingClass || !hasBaseType(enclosingClass, declaringClass)) { - if (!isNodeWithinClass(node, typeClassDeclaration)) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); - return false; - } + if (!enclosingClass) { + error(node, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); + return false; } // No further restrictions for static properties if (flags & NodeFlags.Static) { @@ -8985,11 +8985,9 @@ namespace ts { } // TODO: why is the first part of this check here? - if (getTargetType(type).flags & (TypeFlags.Class | TypeFlags.Interface)) { - if (!(hasBaseType(type, enclosingClass) || isNodeWithinClass(node, typeClassDeclaration))) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); - return false; - } + if (!(getTargetType(type).flags & (TypeFlags.Class | TypeFlags.Interface) && hasBaseType(type, enclosingClass))) { + error(node, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); + return false; } return true; } @@ -15467,16 +15465,20 @@ namespace ts { return node.parent && node.parent.kind === SyntaxKind.ExpressionWithTypeArguments; } - function isNodeWithinClass(node: Node, classDeclaration: ClassLikeDeclaration) { + function forEachEnclosingClass(node: Node, callback: (node: Node) => T): T { + let result: T; + while (true) { node = getContainingClass(node); - if (!node) { - return false; - } - if (node === classDeclaration) { - return true; - } + if (!node) break; + if (result = callback(node)) break; } + + return result; + } + + function isNodeWithinClass(node: Node, classDeclaration: ClassLikeDeclaration) { + return !!forEachEnclosingClass(node, n => n === classDeclaration); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide: EntityName): ImportEqualsDeclaration | ExportAssignment { From e1be0ff23be90f356d00f59bfe366accd7642daa Mon Sep 17 00:00:00 2001 From: AbubakerB Date: Sun, 21 Feb 2016 22:12:31 +0000 Subject: [PATCH 077/342] Added more tests and accept baselines --- ...AccessibleWithinNestedSubclass1.errors.txt | 180 ++++++++++++ ...PropertyAccessibleWithinNestedSubclass1.js | 260 ++++++++++++++++++ ...PropertyAccessibleWithinNestedSubclass1.ts | 114 ++++++++ 3 files changed, 554 insertions(+) create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt create mode 100644 tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js create mode 100644 tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt new file mode 100644 index 00000000000..ee1fbbdaae3 --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt @@ -0,0 +1,180 @@ +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(15,17): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(32,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(34,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(35,17): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(36,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(52,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(53,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(55,17): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(73,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(74,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(75,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(77,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(93,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(94,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(95,17): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(96,17): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(110,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(111,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(112,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(113,1): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. + + +==== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts (21 errors) ==== + class Base { + protected x: string; + method() { + class A { + methoda() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // OK, accessed within their declaring class + d1.x; // OK, accessed within their declaring class + d2.x; // OK, accessed within their declaring class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. + d4.x; // OK, accessed within their declaring class + } + } + } + } + + class Derived1 extends Base { + method1() { + class B { + method1b() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + ~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. + d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. + d4.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. + } + } + } + } + + class Derived2 extends Base { + method2() { + class C { + method2c() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + ~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. + d1.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. + d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class or one of its subclasses + } + } + } + } + + class Derived3 extends Derived1 { + protected x: string; + method3() { + class D { + method3d() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + ~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. + d1.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. + d2.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. + d3.x; // OK, accessed within their declaring class + d4.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. + } + } + } + } + + class Derived4 extends Derived2 { + method4() { + class E { + method4e() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + ~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. + d1.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. + d2.x; // Error, isn't accessed through an instance of the enclosing class + ~~~~ +!!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + } + } + } + } + + + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, neither within their declaring class nor classes derived from their declaring class + ~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. + d1.x; // Error, neither within their declaring class nor classes derived from their declaring class + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. + d2.x; // Error, neither within their declaring class nor classes derived from their declaring class + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. + d3.x; // Error, neither within their declaring class nor classes derived from their declaring class + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. + d4.x; // Error, neither within their declaring class nor classes derived from their declaring class + ~~~~ +!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js new file mode 100644 index 00000000000..02ad29bd312 --- /dev/null +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js @@ -0,0 +1,260 @@ +//// [protectedClassPropertyAccessibleWithinNestedSubclass1.ts] +class Base { + protected x: string; + method() { + class A { + methoda() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // OK, accessed within their declaring class + d1.x; // OK, accessed within their declaring class + d2.x; // OK, accessed within their declaring class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within their declaring class + } + } + } +} + +class Derived1 extends Base { + method1() { + class B { + method1b() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // Error, isn't accessed through an instance of the enclosing class + } + } + } +} + +class Derived2 extends Base { + method2() { + class C { + method2c() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class or one of its subclasses + } + } + } +} + +class Derived3 extends Derived1 { + protected x: string; + method3() { + class D { + method3d() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // OK, accessed within their declaring class + d4.x; // Error, isn't accessed through an instance of the enclosing class + } + } + } +} + +class Derived4 extends Derived2 { + method4() { + class E { + method4e() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + } + } + } +} + + +var b: Base; +var d1: Derived1; +var d2: Derived2; +var d3: Derived3; +var d4: Derived4; + +b.x; // Error, neither within their declaring class nor classes derived from their declaring class +d1.x; // Error, neither within their declaring class nor classes derived from their declaring class +d2.x; // Error, neither within their declaring class nor classes derived from their declaring class +d3.x; // Error, neither within their declaring class nor classes derived from their declaring class +d4.x; // Error, neither within their declaring class nor classes derived from their declaring class + +//// [protectedClassPropertyAccessibleWithinNestedSubclass1.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Base = (function () { + function Base() { + } + Base.prototype.method = function () { + var A = (function () { + function A() { + } + A.prototype.methoda = function () { + var b; + var d1; + var d2; + var d3; + var d4; + b.x; // OK, accessed within their declaring class + d1.x; // OK, accessed within their declaring class + d2.x; // OK, accessed within their declaring class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within their declaring class + }; + return A; + }()); + }; + return Base; +}()); +var Derived1 = (function (_super) { + __extends(Derived1, _super); + function Derived1() { + _super.apply(this, arguments); + } + Derived1.prototype.method1 = function () { + var B = (function () { + function B() { + } + B.prototype.method1b = function () { + var b; + var d1; + var d2; + var d3; + var d4; + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // Error, isn't accessed through an instance of the enclosing class + }; + return B; + }()); + }; + return Derived1; +}(Base)); +var Derived2 = (function (_super) { + __extends(Derived2, _super); + function Derived2() { + _super.apply(this, arguments); + } + Derived2.prototype.method2 = function () { + var C = (function () { + function C() { + } + C.prototype.method2c = function () { + var b; + var d1; + var d2; + var d3; + var d4; + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class or one of its subclasses + }; + return C; + }()); + }; + return Derived2; +}(Base)); +var Derived3 = (function (_super) { + __extends(Derived3, _super); + function Derived3() { + _super.apply(this, arguments); + } + Derived3.prototype.method3 = function () { + var D = (function () { + function D() { + } + D.prototype.method3d = function () { + var b; + var d1; + var d2; + var d3; + var d4; + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // OK, accessed within their declaring class + d4.x; // Error, isn't accessed through an instance of the enclosing class + }; + return D; + }()); + }; + return Derived3; +}(Derived1)); +var Derived4 = (function (_super) { + __extends(Derived4, _super); + function Derived4() { + _super.apply(this, arguments); + } + Derived4.prototype.method4 = function () { + var E = (function () { + function E() { + } + E.prototype.method4e = function () { + var b; + var d1; + var d2; + var d3; + var d4; + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + }; + return E; + }()); + }; + return Derived4; +}(Derived2)); +var b; +var d1; +var d2; +var d3; +var d4; +b.x; // Error, neither within their declaring class nor classes derived from their declaring class +d1.x; // Error, neither within their declaring class nor classes derived from their declaring class +d2.x; // Error, neither within their declaring class nor classes derived from their declaring class +d3.x; // Error, neither within their declaring class nor classes derived from their declaring class +d4.x; // Error, neither within their declaring class nor classes derived from their declaring class diff --git a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts new file mode 100644 index 00000000000..1128da70795 --- /dev/null +++ b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts @@ -0,0 +1,114 @@ +class Base { + protected x: string; + method() { + class A { + methoda() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // OK, accessed within their declaring class + d1.x; // OK, accessed within their declaring class + d2.x; // OK, accessed within their declaring class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within their declaring class + } + } + } +} + +class Derived1 extends Base { + method1() { + class B { + method1b() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // Error, isn't accessed through an instance of the enclosing class + } + } + } +} + +class Derived2 extends Base { + method2() { + class C { + method2c() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class or one of its subclasses + } + } + } +} + +class Derived3 extends Derived1 { + protected x: string; + method3() { + class D { + method3d() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // OK, accessed within their declaring class + d4.x; // Error, isn't accessed through an instance of the enclosing class + } + } + } +} + +class Derived4 extends Derived2 { + method4() { + class E { + method4e() { + var b: Base; + var d1: Derived1; + var d2: Derived2; + var d3: Derived3; + var d4: Derived4; + + b.x; // Error, isn't accessed through an instance of the enclosing class + d1.x; // Error, isn't accessed through an instance of the enclosing class + d2.x; // Error, isn't accessed through an instance of the enclosing class + d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses + d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class + } + } + } +} + + +var b: Base; +var d1: Derived1; +var d2: Derived2; +var d3: Derived3; +var d4: Derived4; + +b.x; // Error, neither within their declaring class nor classes derived from their declaring class +d1.x; // Error, neither within their declaring class nor classes derived from their declaring class +d2.x; // Error, neither within their declaring class nor classes derived from their declaring class +d3.x; // Error, neither within their declaring class nor classes derived from their declaring class +d4.x; // Error, neither within their declaring class nor classes derived from their declaring class \ No newline at end of file From 4d933f86ce190b1add76d54474700ed5c78863e7 Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Mon, 22 Feb 2016 11:19:38 +0800 Subject: [PATCH 078/342] Fixes method and constructor top-level --- src/services/navigationBar.ts | 30 +++++++++++++++++++ ...ionBarItemsInsideMethodsAndConstructors.ts | 1 - 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 62a97699537..44a71141694 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -158,6 +158,7 @@ namespace ts.NavigationBar { forEach((node).members, (node) => { if (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.Constructor) { if ((node).body) { + topLevelNodes.push(node); addTopLevelNodes(((node).body).statements, topLevelNodes); } } @@ -386,6 +387,10 @@ namespace ts.NavigationBar { case SyntaxKind.ClassDeclaration: return createClassItem(node); + + case SyntaxKind.MethodDeclaration: + case SyntaxKind.Constructor: + return createMemberFunctionLikeItem(node); case SyntaxKind.EnumDeclaration: return createEnumItem(node); @@ -449,6 +454,31 @@ namespace ts.NavigationBar { return undefined; } + + function createMemberFunctionLikeItem(node: MethodDeclaration | ConstructorDeclaration) { + if (node.body && node.body.kind === SyntaxKind.Block) { + let childItems = getItemsWorker(sortNodes((node.body).statements), createChildItem); + let scriptElementKind: string; + let memberFunctionName: string; + if (node.kind === SyntaxKind.MethodDeclaration) { + memberFunctionName = getPropertyNameForPropertyNameNode(node.name); + scriptElementKind = ts.ScriptElementKind.memberFunctionElement; + } + else { + memberFunctionName = "constructor"; + scriptElementKind = ts.ScriptElementKind.constructorImplementationElement; + } + + return getNavigationBarItem(memberFunctionName, + scriptElementKind, + getNodeModifiers(node), + [getNodeSpan(node)], + childItems, + getIndent(node)); + } + + return undefined; + } function createSourceFileItem(node: SourceFile): ts.NavigationBarItem { let childItems = getItemsWorker(getChildNodes(node.statements), createChildItem); diff --git a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts index 65e3384e61b..538e864d10c 100644 --- a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts @@ -35,4 +35,3 @@ test.markers().forEach((marker) => { // no other items verify.getScriptLexicalStructureListCount(12); - From fd2d28df0261b6b574cc415e9d47b02df21371eb Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Mon, 22 Feb 2016 12:38:14 +0800 Subject: [PATCH 079/342] Fixes new implementation --- src/services/navigationBar.ts | 23 +++++++++++++------ ...ionBarItemsInsideMethodsAndConstructors.ts | 7 +++++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 44a71141694..b537a56e856 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -157,8 +157,12 @@ namespace ts.NavigationBar { topLevelNodes.push(node); forEach((node).members, (node) => { if (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.Constructor) { - if ((node).body) { - topLevelNodes.push(node); + type FunctionLikeMember = MethodDeclaration | ConstructorDeclaration; + if ((node).body) { + // We do not include methods that does not have child functions in it, because of duplications. + if (hasNonAnonymousFunctionDeclarations(((node).body).statements)) { + topLevelNodes.push(node); + } addTopLevelNodes(((node).body).statements, topLevelNodes); } } @@ -186,14 +190,19 @@ namespace ts.NavigationBar { } } + function hasNonAnonymousFunctionDeclarations(nodes: NodeArray) { + if (forEach(nodes, s => s.kind === SyntaxKind.FunctionDeclaration && !isEmpty((s).name.text))) { + return true; + } + } + function isTopLevelFunctionDeclaration(functionDeclaration: FunctionLikeDeclaration) { if (functionDeclaration.kind === SyntaxKind.FunctionDeclaration) { // A function declaration is 'top level' if it contains any function declarations // within it. if (functionDeclaration.body && functionDeclaration.body.kind === SyntaxKind.Block) { // Proper function declarations can only have identifier names - if (forEach((functionDeclaration.body).statements, - s => s.kind === SyntaxKind.FunctionDeclaration && !isEmpty((s).name.text))) { + if (hasNonAnonymousFunctionDeclarations((functionDeclaration.body).statements)) { return true; } @@ -390,13 +399,13 @@ namespace ts.NavigationBar { case SyntaxKind.MethodDeclaration: case SyntaxKind.Constructor: - return createMemberFunctionLikeItem(node); + return createMemberFunctionLikeItem(node); case SyntaxKind.EnumDeclaration: return createEnumItem(node); case SyntaxKind.InterfaceDeclaration: - return createIterfaceItem(node); + return createInterfaceItem(node); case SyntaxKind.ModuleDeclaration: return createModuleItem(node); @@ -540,7 +549,7 @@ namespace ts.NavigationBar { getIndent(node)); } - function createIterfaceItem(node: InterfaceDeclaration): ts.NavigationBarItem { + function createInterfaceItem(node: InterfaceDeclaration): ts.NavigationBarItem { let childItems = getItemsWorker(sortNodes(removeDynamicallyNamedProperties(node)), createChildItem); return getNavigationBarItem( node.name.text, diff --git a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts index 538e864d10c..4dcca43af35 100644 --- a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts @@ -13,6 +13,7 @@ //// {| "itemName": "LocalEnumMemberInConstructor", "kind": "property", "parentName": "LocalEnumInConstructor"|}LocalEnumMemberInConstructor, //// } //// } +//// //// method() { //// {| "itemName": "LocalFunctionInMethod", "kind": "function", "parentName": "foo"|}function LocalFunctionInMethod() { //// {| "itemName": "LocalFunctionInLocalFunctionInMethod", "kind": "function", "parentName": "bar"|}function LocalFunctionInLocalFunctionInMethod() { @@ -27,6 +28,10 @@ //// {| "itemName": "LocalEnumMemberInMethod", "kind": "property", "parentName": "foo"|}LocalEnumMemberInMethod, //// } //// } +//// +//// emptyMethod() { // Non child functions method should not be duplicated +//// +//// } ////} test.markers().forEach((marker) => { @@ -34,4 +39,4 @@ test.markers().forEach((marker) => { }); // no other items -verify.getScriptLexicalStructureListCount(12); +verify.getScriptLexicalStructureListCount(17); From 284d9f527c4162e3d044f93a5bfa3e1b1940fba2 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Sun, 21 Feb 2016 21:35:02 -0800 Subject: [PATCH 080/342] Salsa: JS support for discovering and acquiring d.ts files (Mostly isolating VS host changes from PR#6448) --- Jakefile.js | 1 + src/compiler/commandLineParser.ts | 27 +++ src/compiler/core.ts | 26 +++ src/compiler/diagnosticMessages.json | 4 + src/compiler/parser.ts | 24 +-- src/compiler/types.ts | 8 + src/services/jsTyping.ts | 286 +++++++++++++++++++++++++++ src/services/services.ts | 6 +- src/services/shims.ts | 47 ++++- src/services/tsconfig.json | 1 + src/services/utilities.ts | 15 ++ 11 files changed, 416 insertions(+), 29 deletions(-) create mode 100644 src/services/jsTyping.ts diff --git a/Jakefile.js b/Jakefile.js index 84248ca34d1..f0cc878ad98 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -927,6 +927,7 @@ var servicesLintTargets = [ "patternMatcher.ts", "services.ts", "shims.ts", + "jsTyping.ts" ].map(function (s) { return path.join(servicesDirectory, s); }); diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 86d073f7d49..af7b3a747cb 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -537,6 +537,7 @@ namespace ts { return { options, fileNames: getFileNames(), + typingOptions: getTypingOptions(), errors }; @@ -601,6 +602,32 @@ namespace ts { } return fileNames; } + + function getTypingOptions(): TypingOptions { + const options: TypingOptions = getBaseFileName(configFileName) === "jsconfig.json" + ? { enableAutoDiscovery: true, include: [], exclude: [] } + : { enableAutoDiscovery: false, include: [], exclude: [] }; + const jsonTypingOptions = json["typingOptions"]; + if (jsonTypingOptions) { + for (const id in jsonTypingOptions) { + if (id === "enableAutoDiscovery") { + if (typeof jsonTypingOptions[id] === "boolean") { + options.enableAutoDiscovery = jsonTypingOptions[id]; + } + } + else if (id === "include") { + options.include = isArray(jsonTypingOptions[id]) ? jsonTypingOptions[id] : []; + } + else if (id === "exclude") { + options.exclude = isArray(jsonTypingOptions[id]) ? jsonTypingOptions[id] : []; + } + else { + errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); + } + } + } + return options; + } } export function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { options: CompilerOptions, errors: Diagnostic[] } { diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 702ded96a3f..59274201155 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -778,6 +778,32 @@ namespace ts { return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } + export function ensureScriptKind(fileName: string, scriptKind?: ScriptKind): ScriptKind { + // Using scriptKind as a condition handles both: + // - 'scriptKind' is unspecified and thus it is `undefined` + // - 'scriptKind' is set and it is `Unknown` (0) + // If the 'scriptKind' is 'undefined' or 'Unknown' then we attempt + // to get the ScriptKind from the file name. If it cannot be resolved + // from the file name then the default 'TS' script kind is returned. + return (scriptKind || getScriptKindFromFileName(fileName)) || ScriptKind.TS; + } + + export function getScriptKindFromFileName(fileName: string): ScriptKind { + const ext = fileName.substr(fileName.lastIndexOf(".")); + switch (ext.toLowerCase()) { + case ".js": + return ScriptKind.JS; + case ".jsx": + return ScriptKind.JSX; + case ".ts": + return ScriptKind.TS; + case ".tsx": + return ScriptKind.TSX; + default: + return ScriptKind.Unknown; + } + } + /** * List of supported extensions in order of file resolution precedence. */ diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 70c6d8ff167..a63b1b36476 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2800,5 +2800,9 @@ "'super' must be called before accessing 'this' in the constructor of a derived class.": { "category": "Error", "code": 17009 + }, + "Unknown typing option '{0}'.": { + "category": "Error", + "code": 17010 } } diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index db9639156a5..0a31c1bdebb 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -407,23 +407,6 @@ namespace ts { return result; } - /* @internal */ - export function getScriptKindFromFileName(fileName: string): ScriptKind { - const ext = fileName.substr(fileName.lastIndexOf(".")); - switch (ext.toLowerCase()) { - case ".js": - return ScriptKind.JS; - case ".jsx": - return ScriptKind.JSX; - case ".ts": - return ScriptKind.TS; - case ".tsx": - return ScriptKind.TSX; - default: - return ScriptKind.TS; - } - } - // Produces a new SourceFile for the 'newText' provided. The 'textChangeRange' parameter // indicates what changed between the 'text' that this SourceFile has and the 'newText'. // The SourceFile will be created with the compiler attempting to reuse as many nodes from @@ -551,12 +534,7 @@ namespace ts { let parseErrorBeforeNextFinishedNode = false; export function parseSourceFile(fileName: string, _sourceText: string, languageVersion: ScriptTarget, _syntaxCursor: IncrementalParser.SyntaxCursor, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile { - // Using scriptKind as a condition handles both: - // - 'scriptKind' is unspecified and thus it is `undefined` - // - 'scriptKind' is set and it is `Unknown` (0) - // If the 'scriptKind' is 'undefined' or 'Unknown' then attempt - // to get the ScriptKind from the file name. - scriptKind = scriptKind ? scriptKind : getScriptKindFromFileName(fileName); + scriptKind = ensureScriptKind(fileName, scriptKind); initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ca662d6ac46..c838a852647 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2432,6 +2432,13 @@ namespace ts { [option: string]: string | number | boolean | TsConfigOnlyOptions; } + export interface TypingOptions { + enableAutoDiscovery?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: any; + } + export enum ModuleKind { None = 0, CommonJS = 1, @@ -2490,6 +2497,7 @@ namespace ts { export interface ParsedCommandLine { options: CompilerOptions; + typingOptions?: TypingOptions; fileNames: string[]; errors: Diagnostic[]; } diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts new file mode 100644 index 00000000000..bf3c6b6cc9a --- /dev/null +++ b/src/services/jsTyping.ts @@ -0,0 +1,286 @@ +// Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0. +// See LICENSE.txt in the project root for complete license information. + +/// + +/* @internal */ +namespace ts.JsTyping { + + interface TypingResolutionHost { + directoryExists: (path: string) => boolean; + fileExists: (fileName: string) => boolean; + readFile: (path: string, encoding?: string) => string; + readDirectory: (path: string, extension?: string, exclude?: string[], depth?: number) => string[]; + }; + + // A map of loose file names to library names + // that we are confident require typings + let safeList: Map; + const notFoundTypingNames: string[] = []; + + function tryParseJson(jsonPath: string, host: TypingResolutionHost): any { + if (host.fileExists(jsonPath)) { + try { + // Strip out single-line comments + const contents = host.readFile(jsonPath).replace(/^\/\/(.*)$/gm, ""); + return JSON.parse(contents); + } + catch (e) { } + } + return undefined; + } + + function isTypingEnabled(options: TypingOptions): boolean { + if (options) { + if (options.enableAutoDiscovery || + (options.include && options.include.length > 0) || + (options.exclude && options.exclude.length > 0)) { + return true; + } + } + return false; + } + + /** + * @param host is the object providing I/O related operations. + * @param fileNames are the file names that belong to the same project. + * @param globalCachePath is used to get the safe list file path and as cache path if the project root path isn't specified. + * @param projectRootPath is the path to the project root directory. This is used for the local typings cache. + * @param typingOptions are used for customizing the typing inference process. + * @param compilerOptions are used as a source of typing inference. + */ + export function discoverTypings( + host: TypingResolutionHost, + fileNames: string[], + globalCachePath: Path, + projectRootPath: Path, + typingOptions: TypingOptions, + compilerOptions: CompilerOptions) + : { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { + + // A typing name to typing file path mapping + const inferredTypings: Map = {}; + + if (!isTypingEnabled(typingOptions)) { + return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; + } + + const cachePath = projectRootPath ? projectRootPath : globalCachePath; + // Only infer typings for .js and .jsx files + fileNames = fileNames + .map(ts.normalizePath) + .filter(f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); + + const safeListFilePath = ts.combinePaths(globalCachePath, "safeList.json"); + if (!safeList && host.fileExists(safeListFilePath)) { + safeList = tryParseJson(safeListFilePath, host); + } + + const filesToWatch: string[] = []; + // Directories to search for package.json, bower.json and other typing information + let searchDirs: string[] = []; + let exclude: string[] = []; + + mergeTypings(typingOptions.include); + exclude = typingOptions.exclude ? typingOptions.exclude : []; + + if (typingOptions.enableAutoDiscovery) { + const possibleSearchDirs = fileNames.map(ts.getDirectoryPath); + if (projectRootPath !== undefined) { + possibleSearchDirs.push(projectRootPath); + } + searchDirs = ts.deduplicate(possibleSearchDirs); + for (const searchDir of searchDirs) { + const packageJsonPath = ts.combinePaths(searchDir, "package.json"); + getTypingNamesFromJson(packageJsonPath, filesToWatch); + + const bowerJsonPath = ts.combinePaths(searchDir, "bower.json"); + getTypingNamesFromJson(bowerJsonPath, filesToWatch); + + const nodeModulesPath = ts.combinePaths(searchDir, "node_modules"); + getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); + } + + getTypingNamesFromSourceFileNames(fileNames); + getTypingNamesFromCompilerOptions(compilerOptions); + } + + const typingsPath = ts.combinePaths(cachePath, "typings"); + const tsdJsonPath = ts.combinePaths(cachePath, "tsd.json"); + const tsdJsonDict = tryParseJson(tsdJsonPath, host); + if (tsdJsonDict) { + for (const notFoundTypingName of notFoundTypingNames) { + if (inferredTypings.hasOwnProperty(notFoundTypingName) && !inferredTypings[notFoundTypingName]) { + delete inferredTypings[notFoundTypingName]; + } + } + + // The "installed" property in the tsd.json serves as a registry of installed typings. Each item + // of this object has a key of the relative file path, and a value that contains the corresponding + // commit hash. + if (hasProperty(tsdJsonDict, "installed")) { + for (const cachedTypingPath in tsdJsonDict.installed) { + // Assuming the cachedTypingPath has the format of "[package name]/[file name]" + const cachedTypingName = cachedTypingPath.substr(0, cachedTypingPath.indexOf("/")); + // If the inferred[cachedTypingName] is already not null, which means we found a corresponding + // d.ts file that coming with the package. That one should take higher priority. + if (hasProperty(inferredTypings, cachedTypingName) && !inferredTypings[cachedTypingName]) { + inferredTypings[cachedTypingName] = ts.combinePaths(typingsPath, cachedTypingPath); + } + } + } + } + + // Remove typings that the user has added to the exclude list + for (const excludeTypingName of exclude) { + delete inferredTypings[excludeTypingName]; + } + + const newTypingNames: string[] = []; + const cachedTypingPaths: string[] = []; + for (const typing in inferredTypings) { + if (inferredTypings[typing] !== undefined) { + cachedTypingPaths.push(inferredTypings[typing]); + } + else { + newTypingNames.push(typing); + } + } + return { cachedTypingPaths, newTypingNames, filesToWatch }; + + /** + * Merge a given list of typingNames to the inferredTypings map + */ + function mergeTypings(typingNames: string[]) { + if (!typingNames) { + return; + } + + for (const typing of typingNames) { + if (!inferredTypings.hasOwnProperty(typing)) { + inferredTypings[typing] = undefined; + } + } + } + + /** + * Get the typing info from common package manager json files like package.json or bower.json + */ + function getTypingNamesFromJson(jsonPath: string, filesToWatch: string[]) { + const jsonDict = tryParseJson(jsonPath, host); + if (jsonDict) { + filesToWatch.push(jsonPath); + if (jsonDict.hasOwnProperty("dependencies")) { + mergeTypings(Object.keys(jsonDict.dependencies)); + } + } + } + + /** + * Infer typing names from given file names. For example, the file name "jquery-min.2.3.4.js" + * should be inferred to the 'jquery' typing name; and "angular-route.1.2.3.js" should be inferred + * to the 'angular-route' typing name. + * @param fileNames are the names for source files in the project + */ + function getTypingNamesFromSourceFileNames(fileNames: string[]) { + const jsFileNames = fileNames.filter(hasJavaScriptFileExtension); + const inferredTypingNames = jsFileNames.map(f => ts.removeFileExtension(ts.getBaseFileName(f.toLowerCase()))); + const cleanedTypingNames = inferredTypingNames.map(f => f.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, "")); + safeList === undefined ? mergeTypings(cleanedTypingNames) : mergeTypings(cleanedTypingNames.filter(f => safeList.hasOwnProperty(f))); + + const jsxFileNames = fileNames.filter(f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); + if (jsxFileNames.length > 0) { + mergeTypings(["react"]); + } + } + + /** + * Infer typing names from node_module folder + * @param nodeModulesPath is the path to the "node_modules" folder + */ + function getTypingNamesFromNodeModuleFolder(nodeModulesPath: string, filesToWatch: string[]) { + // Todo: add support for ModuleResolutionHost too + if (!host.directoryExists(nodeModulesPath)) { + return; + } + + const typingNames: string[] = []; + const packageJsonFiles = + host.readDirectory(nodeModulesPath, /*extension*/ undefined, /*exclude*/ undefined, /*depth*/ 2).filter(f => ts.getBaseFileName(f) === "package.json"); + for (const packageJsonFile of packageJsonFiles) { + const packageJsonDict = tryParseJson(packageJsonFile, host); + if (!packageJsonDict) { continue; } + + filesToWatch.push(packageJsonFile); + + // npm 3 has the package.json contains a "_requiredBy" field + // we should include all the top level module names for npm 2, and only module names whose + // "_requiredBy" field starts with "#" or equals "/" for npm 3. + if (packageJsonDict._requiredBy && + packageJsonDict._requiredBy.filter((r: string) => r[0] === "#" || r === "/").length === 0) { + continue; + } + + // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used + // to download d.ts files from DefinitelyTyped + const packageName = packageJsonDict["name"]; + if (packageJsonDict.hasOwnProperty("typings")) { + const absPath = ts.getNormalizedAbsolutePath(packageJsonDict.typings, ts.getDirectoryPath(packageJsonFile)); + inferredTypings[packageName] = absPath; + } + else { + typingNames.push(packageName); + } + } + mergeTypings(typingNames); + } + + function getTypingNamesFromCompilerOptions(options: CompilerOptions) { + const typingNames: string[] = []; + if (!options) { + return; + } + + if (options.jsx === JsxEmit.React) { + typingNames.push("react"); + } + if (options.moduleResolution === ModuleResolutionKind.NodeJs) { + typingNames.push("node"); + } + mergeTypings(typingNames); + } + } + + /** + * Keep a list of typings names that we know cannot be obtained at the moment (could be because + * of network issues or because the package doesn't hava a d.ts file in DefinitelyTyped), so + * that we won't try again next time within this session. + * @param newTypingNames The list of new typings that the host attempted to acquire + * @param cachePath The path to the tsd.json cache + * @param host The object providing I/O related operations. + */ + export function updateNotFoundTypingNames(newTypingNames: string[], cachePath: string, host: TypingResolutionHost): void { + const tsdJsonPath = ts.combinePaths(cachePath, "tsd.json"); + const cacheTsdJsonDict = tryParseJson(tsdJsonPath, host); + if (cacheTsdJsonDict) { + const installedTypingFiles = hasProperty(cacheTsdJsonDict, "installed") + ? Object.keys(cacheTsdJsonDict.installed) + : []; + const newMissingTypingNames = + ts.filter(newTypingNames, name => notFoundTypingNames.indexOf(name) < 0 && !isInstalled(name, installedTypingFiles)); + for (const newMissingTypingName of newMissingTypingNames) { + notFoundTypingNames.push(newMissingTypingName); + } + } + } + + function isInstalled(typing: string, installedKeys: string[]) { + const typingPrefix = typing + "/"; + for (const key of installedKeys) { + if (key.indexOf(typingPrefix) === 0) { + return true; + } + } + return false; + } +} diff --git a/src/services/services.ts b/src/services/services.ts index 38daea8d608..9cba240a19b 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -7,6 +7,7 @@ /// /// /// +/// /// /// @@ -1751,14 +1752,13 @@ namespace ts { private createEntry(fileName: string, path: Path) { let entry: HostFileInformation; - const scriptKind = this.host.getScriptKind ? this.host.getScriptKind(fileName) : ScriptKind.Unknown; const scriptSnapshot = this.host.getScriptSnapshot(fileName); if (scriptSnapshot) { entry = { hostFileName: fileName, version: this.host.getScriptVersion(fileName), scriptSnapshot: scriptSnapshot, - scriptKind: scriptKind ? scriptKind : getScriptKindFromFileName(fileName) + scriptKind: getScriptKind(fileName, this.host) }; } @@ -1824,7 +1824,7 @@ namespace ts { throw new Error("Could not find file: '" + fileName + "'."); } - const scriptKind = this.host.getScriptKind ? this.host.getScriptKind(fileName) : ScriptKind.Unknown; + const scriptKind = getScriptKind(fileName, this.host); const version = this.host.getScriptVersion(fileName); let sourceFile: SourceFile; diff --git a/src/services/shims.ts b/src/services/shims.ts index f8c51feca27..add936a6a79 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -78,7 +78,7 @@ namespace ts { * @param exclude A JSON encoded string[] containing the paths to exclude * when enumerating the directory. */ - readDirectory(rootDir: string, extension: string, exclude?: string): string; + readDirectory(rootDir: string, extension: string, exclude?: string, depth?: number): string; trace(s: string): void; } @@ -232,6 +232,8 @@ namespace ts { getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getTSConfigFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getDefaultCompilationSettings(): string; + resolveTypeDefinitions(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; + updateNotFoundTypingNames(newTypingsJson: string, globalCachePath: string, projectRootPath: string): string; } function logInternalError(logger: Logger, err: Error) { @@ -422,8 +424,16 @@ namespace ts { } } - public readDirectory(rootDir: string, extension: string, exclude: string[]): string[] { - const encoded = this.shimHost.readDirectory(rootDir, extension, JSON.stringify(exclude)); + public readDirectory(rootDir: string, extension: string, exclude: string[], depth?: number): string[] { + // Wrap the API changes for 2.0 release. This try/catch + // should be removed once TypeScript 2.0 has shipped. + let encoded: string; + try { + encoded = this.shimHost.readDirectory(rootDir, extension, JSON.stringify(exclude), depth); + } + catch (e) { + encoded = this.shimHost.readDirectory(rootDir, extension, JSON.stringify(exclude)); + } return JSON.parse(encoded); } @@ -953,6 +963,7 @@ namespace ts { if (result.error) { return { options: {}, + typingOptions: {}, files: [], errors: [realizeDiagnostic(result.error, "\r\n")] }; @@ -963,6 +974,7 @@ namespace ts { return { options: configFile.options, + typingOptions: configFile.typingOptions, files: configFile.fileNames, errors: realizeDiagnostics(configFile.errors, "\r\n") }; @@ -975,6 +987,35 @@ namespace ts { () => getDefaultCompilerOptions() ); } + + public resolveTypeDefinitions(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { + const getCanonicalFileName = createGetCanonicalFileName(/*useCaseSensitivefileNames:*/ false); + return this.forwardJSONCall("resolveTypeDefinitions()", () => { + const cachePath = projectRootPath ? projectRootPath : globalCachePath; + const typingOptions = JSON.parse(typingOptionsJson); + // Convert the include and exclude lists from a semi-colon delimited string to a string array + typingOptions.include = typingOptions.include ? typingOptions.include.toString().split(";") : []; + typingOptions.exclude = typingOptions.exclude ? typingOptions.exclude.toString().split(";") : []; + + const compilerOptions = JSON.parse(compilerOptionsJson); + const fileNames: string[] = JSON.parse(fileNamesJson); + return ts.JsTyping.discoverTypings( + this.host, + fileNames, + toPath(globalCachePath, globalCachePath, getCanonicalFileName), + toPath(cachePath, cachePath, getCanonicalFileName), + typingOptions, + compilerOptions); + }); + } + + public updateNotFoundTypingNames(newTypingsJson: string, globalCachePath: string, projectRootPath: string): string { + return this.forwardJSONCall("updateNotFoundTypingNames()", () => { + const newTypingNames: string[] = JSON.parse(newTypingsJson); + const cachePath = projectRootPath ? projectRootPath : globalCachePath; + ts.JsTyping.updateNotFoundTypingNames(newTypingNames, cachePath, this.host); + }); + } } export class TypeScriptServicesFactory implements ShimFactory { diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 001071ed88d..6aa7e61391b 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -29,6 +29,7 @@ "shims.ts", "signatureHelp.ts", "utilities.ts", + "jsTyping.ts", "formatting/formatting.ts", "formatting/formattingContext.ts", "formatting/formattingRequestKind.ts", diff --git a/src/services/utilities.ts b/src/services/utilities.ts index afdc85fffd8..e423d870ca4 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -837,4 +837,19 @@ namespace ts { }; return name; } + + export function scriptKindIs(fileName: string, host: LanguageServiceHost, ...scriptKinds: ScriptKind[]): boolean { + const scriptKind = getScriptKind(fileName, host); + return forEach(scriptKinds, k => k === scriptKind); + } + + export function getScriptKind(fileName: string, host?: LanguageServiceHost): ScriptKind { + // First check to see if the script kind can be determined from the file name + var scriptKind = getScriptKindFromFileName(fileName); + if (scriptKind === ScriptKind.Unknown && host && host.getScriptKind) { + // Next check to see if the host can resolve the script kind + scriptKind = host.getScriptKind(fileName); + } + return ensureScriptKind(fileName, scriptKind); + } } \ No newline at end of file From 0aaedc5df43624a88962ee482ea5e1c017df31c3 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Sun, 21 Feb 2016 21:57:37 -0800 Subject: [PATCH 081/342] Fixing lint issues caught by Travis CI build (Rules appear to be more strict - this was not caught on a local lint run) --- src/server/protocol.d.ts | 2 +- src/services/jsTyping.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/protocol.d.ts b/src/server/protocol.d.ts index 3a669753323..c50f211a21f 100644 --- a/src/server/protocol.d.ts +++ b/src/server/protocol.d.ts @@ -469,7 +469,7 @@ declare namespace ts.server.protocol { placeOpenBraceOnNewLineForControlBlocks?: boolean; /** Index operator */ - [key: string] : string | number | boolean; + [key: string]: string | number | boolean; } /** diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index bf3c6b6cc9a..e4b221bf051 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -55,8 +55,8 @@ namespace ts.JsTyping { globalCachePath: Path, projectRootPath: Path, typingOptions: TypingOptions, - compilerOptions: CompilerOptions) - : { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { + compilerOptions: CompilerOptions): + { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { // A typing name to typing file path mapping const inferredTypings: Map = {}; From 5b06edbc5428fbd8fd711ff53ded87aa6dc48f86 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Mon, 22 Feb 2016 19:00:06 -0800 Subject: [PATCH 082/342] Addressing CR comments - Adding check to ensure TypingOptions 'include' and 'exclude' arrays are composed of strings - Allow leading whitespace when removing comments from json --- src/compiler/commandLineParser.ts | 51 ++++++++++++++++--------------- src/services/jsTyping.ts | 6 ++-- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index af7b3a747cb..254fc434f64 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -616,10 +616,10 @@ namespace ts { } } else if (id === "include") { - options.include = isArray(jsonTypingOptions[id]) ? jsonTypingOptions[id] : []; + options.include = ConvertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); } else if (id === "exclude") { - options.exclude = isArray(jsonTypingOptions[id]) ? jsonTypingOptions[id] : []; + options.exclude = ConvertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); } else { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); @@ -668,28 +668,7 @@ namespace ts { break; case "object": // "object" options with 'isFilePath' = true expected to be string arrays - let paths: string[] = []; - let invalidOptionType = false; - if (!isArray(value)) { - invalidOptionType = true; - } - else { - for (const element of value) { - if (typeof element === "string") { - paths.push(normalizePath(combinePaths(basePath, element))); - } - else { - invalidOptionType = true; - break; - } - } - } - if (invalidOptionType) { - errors.push(createCompilerDiagnostic(Diagnostics.Option_0_should_have_array_of_strings_as_a_value, opt.name)); - } - else { - value = paths; - } + value = ConvertJsonOptionToStringArray(opt.name, value, errors, (element) => normalizePath(combinePaths(basePath, element))); break; } if (value === "") { @@ -709,4 +688,28 @@ namespace ts { return { options, errors }; } + + function ConvertJsonOptionToStringArray(optionName: string, optionJson: any, errors: Diagnostic[], func?: (element: string) => string): string[] { + let items: string[] = []; + let invalidOptionType = false; + if (!isArray(optionJson)) { + invalidOptionType = true; + } + else { + for (const element of optionJson) { + if (typeof element === "string") { + const item = func ? func(element) : element; + items.push(item); + } + else { + invalidOptionType = true; + break; + } + } + } + if (invalidOptionType) { + errors.push(createCompilerDiagnostic(Diagnostics.Option_0_should_have_array_of_strings_as_a_value, optionName)); + } + return items; + } } diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index e4b221bf051..bfb62e396c6 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -22,7 +22,7 @@ namespace ts.JsTyping { if (host.fileExists(jsonPath)) { try { // Strip out single-line comments - const contents = host.readFile(jsonPath).replace(/^\/\/(.*)$/gm, ""); + const contents = host.readFile(jsonPath).replace(/^\s*\/\/(.*)$/gm, ""); return JSON.parse(contents); } catch (e) { } @@ -65,7 +65,7 @@ namespace ts.JsTyping { return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; } - const cachePath = projectRootPath ? projectRootPath : globalCachePath; + const cachePath = projectRootPath || globalCachePath; // Only infer typings for .js and .jsx files fileNames = fileNames .map(ts.normalizePath) @@ -82,7 +82,7 @@ namespace ts.JsTyping { let exclude: string[] = []; mergeTypings(typingOptions.include); - exclude = typingOptions.exclude ? typingOptions.exclude : []; + exclude = typingOptions.exclude || []; if (typingOptions.enableAutoDiscovery) { const possibleSearchDirs = fileNames.map(ts.getDirectoryPath); From 71bfefccb97b5e6d7e77b14fa3385cfd682a2945 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Mon, 22 Feb 2016 19:33:45 -0800 Subject: [PATCH 083/342] Switch let -> const from lint validation --- src/compiler/commandLineParser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 254fc434f64..f180bc83ad3 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -690,7 +690,7 @@ namespace ts { } function ConvertJsonOptionToStringArray(optionName: string, optionJson: any, errors: Diagnostic[], func?: (element: string) => string): string[] { - let items: string[] = []; + const items: string[] = []; let invalidOptionType = false; if (!isArray(optionJson)) { invalidOptionType = true; From 20511f8be1ced319fc815c7cc9e8a2c4d1771293 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Tue, 23 Feb 2016 10:31:56 -0800 Subject: [PATCH 084/342] Adding devDependencies to the list of typings to merge --- src/services/jsTyping.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index bfb62e396c6..d561734661b 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -173,6 +173,9 @@ namespace ts.JsTyping { if (jsonDict.hasOwnProperty("dependencies")) { mergeTypings(Object.keys(jsonDict.dependencies)); } + if (jsonDict.hasOwnProperty("devDependencies")) { + mergeTypings(Object.keys(jsonDict.devDependencies)); + } } } From 18883f9d32ad64fa3cdebcb6c85d15ed10755b3a Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Tue, 23 Feb 2016 13:30:24 -0800 Subject: [PATCH 085/342] Using removeComments from commandLineParser. This is more robust as it removes both single and multiline comments --- src/compiler/commandLineParser.ts | 2 +- src/services/jsTyping.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index f180bc83ad3..947ca1ca00c 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -503,7 +503,7 @@ namespace ts { * * This method replace comment content by whitespace rather than completely remove them to keep positions in json parsing error reporting accurate. */ - function removeComments(jsonText: string): string { + export function removeComments(jsonText: string): string { let output = ""; const scanner = createScanner(ScriptTarget.ES5, /* skipTrivia */ false, LanguageVariant.Standard, jsonText); let token: SyntaxKind; diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index d561734661b..251995a2991 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -21,8 +21,7 @@ namespace ts.JsTyping { function tryParseJson(jsonPath: string, host: TypingResolutionHost): any { if (host.fileExists(jsonPath)) { try { - // Strip out single-line comments - const contents = host.readFile(jsonPath).replace(/^\s*\/\/(.*)$/gm, ""); + const contents = removeComments(host.readFile(jsonPath)); return JSON.parse(contents); } catch (e) { } From 217f5583c63b1d047ea96d4edc665e2bddb63ee6 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 24 Feb 2016 12:54:20 -0800 Subject: [PATCH 086/342] Correctelly serialize types with signatures containing binding patterns --- src/compiler/checker.ts | 66 +++++++++++++++-- ...rrayBindingPatternOmittedExpressions.types | 2 +- .../reference/arrowFunctionExpressions.types | 32 ++++---- .../declarationEmitDestructuring1.types | 2 +- .../declarationEmitDestructuring5.types | 10 +-- ...OptionalBindingParametersInOverloads.types | 4 +- .../destructuringInFunctionType.types | 8 +- ...destructuringWithLiteralInitializers.types | 74 +++++++++---------- .../reference/emitArrowFunctionES6.types | 32 ++++---- ...ableDeclarationBindingPatterns01_ES5.types | 4 +- ...ableDeclarationBindingPatterns01_ES6.types | 4 +- ...gParameterNestedObjectBindingPattern.types | 18 ++--- ...tedObjectBindingPatternDefaultValues.types | 51 +++---------- ...cturingParameterObjectBindingPattern.types | 18 ++--- ...terObjectBindingPatternDefaultValues.types | 18 ++--- ...cturingParametertArrayBindingPattern.types | 6 +- ...turingParametertArrayBindingPattern2.types | 6 +- ...tertArrayBindingPatternDefaultValues.types | 24 +++--- ...ertArrayBindingPatternDefaultValues2.types | 27 +++---- 19 files changed, 207 insertions(+), 199 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cf3bd49751a..1503da355c7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2176,7 +2176,12 @@ namespace ts { if (isRestParameter(parameterNode)) { writePunctuation(writer, SyntaxKind.DotDotDotToken); } - appendSymbolNameOnly(p, writer); + if (isBindingPattern(parameterNode.name)) { + buildBindingPatternDisplay(parameterNode.name, writer, enclosingDeclaration, flags, symbolStack); + } + else { + appendSymbolNameOnly(p, writer); + } if (isOptionalParameter(parameterNode)) { writePunctuation(writer, SyntaxKind.QuestionToken); } @@ -2186,20 +2191,65 @@ namespace ts { buildTypeDisplay(getTypeOfSymbol(p), writer, enclosingDeclaration, flags, symbolStack); } + function buildBindingPatternDisplay(bindingPattern: BindingPattern, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { + // We have to explicitly emit square bracket and bracket because these tokens are not store inside the node. + if (bindingPattern.kind === SyntaxKind.ObjectBindingPattern) { + writePunctuation(writer, SyntaxKind.OpenBraceToken); + buildDisplatForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + writePunctuation(writer, SyntaxKind.CloseBraceToken); + } + else if (bindingPattern.kind === SyntaxKind.ArrayBindingPattern) { + writePunctuation(writer, SyntaxKind.OpenBracketToken); + const elements = bindingPattern.elements; + buildDisplatForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + if (elements && elements.hasTrailingComma) { + writePunctuation(writer, SyntaxKind.CommaToken); + } + writePunctuation(writer, SyntaxKind.CloseBracketToken); + } + } + + function buildBindingElementDisplay(bindingElement: BindingElement, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { + if (bindingElement.kind === SyntaxKind.OmittedExpression) { + writeSpace(writer); + } + else if (bindingElement.kind === SyntaxKind.BindingElement) { + if (bindingElement.propertyName) { + writer.writeSymbol(getTextOfNode(bindingElement.propertyName), bindingElement.symbol); + writePunctuation(writer, SyntaxKind.ColonToken); + } + if (bindingElement.name) { + if (isBindingPattern(bindingElement.name)) { + buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); + } + else { + if (bindingElement.dotDotDotToken) { + writePunctuation(writer, SyntaxKind.DotDotDotToken); + } + appendSymbolNameOnly(bindingElement.symbol, writer); + } + } + } + } + function buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { if (typeParameters && typeParameters.length) { writePunctuation(writer, SyntaxKind.LessThanToken); - for (let i = 0; i < typeParameters.length; i++) { - if (i > 0) { - writePunctuation(writer, SyntaxKind.CommaToken); - writeSpace(writer); - } - buildTypeParameterDisplay(typeParameters[i], writer, enclosingDeclaration, flags, symbolStack); - } + buildDisplatForCommaSeparatedList(typeParameters, writer, enclosingDeclaration, flags, symbolStack, buildTypeParameterDisplay); writePunctuation(writer, SyntaxKind.GreaterThanToken); } } + function buildDisplatForCommaSeparatedList(list: T[], writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[], action: (item: T, writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[]) => void) { + for (let i = 0; i < list.length; i++) { + if (i > 0) { + writePunctuation(writer, SyntaxKind.CommaToken); + writeSpace(writer); + } + action(list[i], writer, enclosingDeclaration, flags, symbolStack); + } + } + function buildDisplayForTypeArgumentsAndDelimiters(typeParameters: TypeParameter[], mapper: TypeMapper, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { if (typeParameters && typeParameters.length) { writePunctuation(writer, SyntaxKind.LessThanToken); diff --git a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types index e83aa6a17de..e529c7cdde5 100644 --- a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types +++ b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types @@ -25,7 +25,7 @@ var results: string[]; function f([, a, , b, , , , s, , , ] = results) { ->f : ([, a, , b, , , , s, , , ]?: string[]) => void +>f : ([ , a, , b, , , , s, , ,]?: string[]) => void > : undefined >a : string > : undefined diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index eedd20944fe..b2e6cf1e57b 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -65,43 +65,43 @@ var p2 = ([...a]) => { }; >a : any[] var p3 = ([, a]) => { }; ->p3 : ([, a]: [any, any]) => void ->([, a]) => { } : ([, a]: [any, any]) => void +>p3 : ([ , a]: [any, any]) => void +>([, a]) => { } : ([ , a]: [any, any]) => void > : undefined >a : any var p4 = ([, ...a]) => { }; ->p4 : ([, ...a]: any[]) => void ->([, ...a]) => { } : ([, ...a]: any[]) => void +>p4 : ([ , ...a]: any[]) => void +>([, ...a]) => { } : ([ , ...a]: any[]) => void > : undefined >a : any[] var p5 = ([a = 1]) => { }; ->p5 : ([a = 1]: [number]) => void ->([a = 1]) => { } : ([a = 1]: [number]) => void +>p5 : ([a]: [number]) => void +>([a = 1]) => { } : ([a]: [number]) => void >a : number >1 : number var p6 = ({ a }) => { }; ->p6 : ({ a }: { a: any; }) => void ->({ a }) => { } : ({ a }: { a: any; }) => void +>p6 : ({a}: { a: any; }) => void +>({ a }) => { } : ({a}: { a: any; }) => void >a : any var p7 = ({ a: { b } }) => { }; ->p7 : ({ a: { b } }: { a: { b: any; }; }) => void ->({ a: { b } }) => { } : ({ a: { b } }: { a: { b: any; }; }) => void +>p7 : ({a:{b}}: { a: { b: any; }; }) => void +>({ a: { b } }) => { } : ({a:{b}}: { a: { b: any; }; }) => void >a : any >b : any var p8 = ({ a = 1 }) => { }; ->p8 : ({ a = 1 }: { a?: number; }) => void ->({ a = 1 }) => { } : ({ a = 1 }: { a?: number; }) => void +>p8 : ({a}: { a?: number; }) => void +>({ a = 1 }) => { } : ({a}: { a?: number; }) => void >a : number >1 : number var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; ->p9 : ({ a: { b = 1 } = { b: 1 } }: { a?: { b?: number; }; }) => void ->({ a: { b = 1 } = { b: 1 } }) => { } : ({ a: { b = 1 } = { b: 1 } }: { a?: { b?: number; }; }) => void +>p9 : ({a:{b}}: { a?: { b?: number; }; }) => void +>({ a: { b = 1 } = { b: 1 } }) => { } : ({a:{b}}: { a?: { b?: number; }; }) => void >a : any >b : number >1 : number @@ -110,8 +110,8 @@ var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; >1 : number var p10 = ([{ value, done }]) => { }; ->p10 : ([{ value, done }]: [{ value: any; done: any; }]) => void ->([{ value, done }]) => { } : ([{ value, done }]: [{ value: any; done: any; }]) => void +>p10 : ([{value, done}]: [{ value: any; done: any; }]) => void +>([{ value, done }]) => { } : ([{value, done}]: [{ value: any; done: any; }]) => void >value : any >done : any diff --git a/tests/baselines/reference/declarationEmitDestructuring1.types b/tests/baselines/reference/declarationEmitDestructuring1.types index abba67981d8..a1c7acad853 100644 --- a/tests/baselines/reference/declarationEmitDestructuring1.types +++ b/tests/baselines/reference/declarationEmitDestructuring1.types @@ -21,7 +21,7 @@ function bar({a1, b1, c1}: { a1: number, b1: boolean, c1: string }): void { } >c1 : string function baz({a2, b2: {b1, c1}}: { a2: number, b2: { b1: boolean, c1: string } }): void { } ->baz : ({a2, b2: {b1, c1}}: { a2: number; b2: { b1: boolean; c1: string; }; }) => void +>baz : ({a2, b2:{b1, c1}}: { a2: number; b2: { b1: boolean; c1: string; }; }) => void >a2 : number >b2 : any >b1 : boolean diff --git a/tests/baselines/reference/declarationEmitDestructuring5.types b/tests/baselines/reference/declarationEmitDestructuring5.types index f09b1ebf50c..0b36373ebe2 100644 --- a/tests/baselines/reference/declarationEmitDestructuring5.types +++ b/tests/baselines/reference/declarationEmitDestructuring5.types @@ -1,23 +1,23 @@ === tests/cases/compiler/declarationEmitDestructuring5.ts === function baz([, z, , ]) { } ->baz : ([, z, , ]: [any, any, any]) => void +>baz : ([ , z, ,]: [any, any, any]) => void > : undefined >z : any > : undefined function foo([, b, ]: [any, any]): void { } ->foo : ([, b, ]: [any, any]) => void +>foo : ([ , b,]: [any, any]) => void > : undefined >b : any function bar([z, , , ]) { } ->bar : ([z, , , ]: [any, any, any]) => void +>bar : ([z, , ,]: [any, any, any]) => void >z : any > : undefined > : undefined function bar1([z, , , ] = [1, 3, 4, 6, 7]) { } ->bar1 : ([z, , , ]?: [number, number, number, number, number]) => void +>bar1 : ([z, , ,]?: [number, number, number, number, number]) => void >z : number > : undefined > : undefined @@ -29,7 +29,7 @@ function bar1([z, , , ] = [1, 3, 4, 6, 7]) { } >7 : number function bar2([,,z, , , ]) { } ->bar2 : ([,,z, , , ]: [any, any, any, any, any]) => void +>bar2 : ([ , , z, , ,]: [any, any, any, any, any]) => void > : undefined > : undefined >z : any diff --git a/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types b/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types index 1c75466f0c3..9eabfebe877 100644 --- a/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types +++ b/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types @@ -12,7 +12,7 @@ function foo(...rest: any[]) { } function foo2( { x, y, z }?: { x: string; y: number; z: boolean }); ->foo2 : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => any +>foo2 : ({x, y, z}?: { x: string; y: number; z: boolean; }) => any >x : string >y : number >z : boolean @@ -21,7 +21,7 @@ function foo2( { x, y, z }?: { x: string; y: number; z: boolean }); >z : boolean function foo2(...rest: any[]) { ->foo2 : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => any +>foo2 : ({x, y, z}?: { x: string; y: number; z: boolean; }) => any >rest : any[] } diff --git a/tests/baselines/reference/destructuringInFunctionType.types b/tests/baselines/reference/destructuringInFunctionType.types index 8786bbd0bb9..93e702225b5 100644 --- a/tests/baselines/reference/destructuringInFunctionType.types +++ b/tests/baselines/reference/destructuringInFunctionType.types @@ -29,7 +29,7 @@ type T2 = ({ a }); >a : any type F2 = ({ a }) => void; ->F2 : ({ a }: { a: any; }) => void +>F2 : ({a}: { a: any; }) => void >a : any type T3 = ([{ a: b }, { b: a }]); @@ -40,7 +40,7 @@ type T3 = ([{ a: b }, { b: a }]); >a : a type F3 = ([{ a: b }, { b: a }]) => void; ->F3 : ([{ a: b }, { b: a }]: [{ a: any; }, { b: any; }]) => void +>F3 : ([{a:b}, {b:a}]: [{ a: any; }, { b: any; }]) => void >a : any >b : any >b : any @@ -53,13 +53,13 @@ type T4 = ([{ a: [b, c] }]); >c : c type F4 = ([{ a: [b, c] }]) => void; ->F4 : ([{ a: [b, c] }]: [{ a: [any, any]; }]) => void +>F4 : ([{a:[b, c]}]: [{ a: [any, any]; }]) => void >a : any >b : any >c : any type C1 = new ([{ a: [b, c] }]) => void; ->C1 : new ([{ a: [b, c] }]: [{ a: [any, any]; }]) => void +>C1 : new ([{a:[b, c]}]: [{ a: [any, any]; }]) => void >a : any >b : any >c : any diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.types b/tests/baselines/reference/destructuringWithLiteralInitializers.types index da1e4bfd6f3..97e9b8d095a 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.types +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.types @@ -1,13 +1,13 @@ === tests/cases/conformance/es6/destructuring/destructuringWithLiteralInitializers.ts === // (arg: { x: any, y: any }) => void function f1({ x, y }) { } ->f1 : ({ x, y }: { x: any; y: any; }) => void +>f1 : ({x, y}: { x: any; y: any; }) => void >x : any >y : any f1({ x: 1, y: 1 }); >f1({ x: 1, y: 1 }) : void ->f1 : ({ x, y }: { x: any; y: any; }) => void +>f1 : ({x, y}: { x: any; y: any; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -16,21 +16,21 @@ f1({ x: 1, y: 1 }); // (arg: { x: any, y?: number }) => void function f2({ x, y = 0 }) { } ->f2 : ({ x, y = 0 }: { x: any; y?: number; }) => void +>f2 : ({x, y}: { x: any; y?: number; }) => void >x : any >y : number >0 : number f2({ x: 1 }); >f2({ x: 1 }) : void ->f2 : ({ x, y = 0 }: { x: any; y?: number; }) => void +>f2 : ({x, y}: { x: any; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number >1 : number f2({ x: 1, y: 1 }); >f2({ x: 1, y: 1 }) : void ->f2 : ({ x, y = 0 }: { x: any; y?: number; }) => void +>f2 : ({x, y}: { x: any; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -39,7 +39,7 @@ f2({ x: 1, y: 1 }); // (arg: { x?: number, y?: number }) => void function f3({ x = 0, y = 0 }) { } ->f3 : ({ x = 0, y = 0 }: { x?: number; y?: number; }) => void +>f3 : ({x, y}: { x?: number; y?: number; }) => void >x : number >0 : number >y : number @@ -47,26 +47,26 @@ function f3({ x = 0, y = 0 }) { } f3({}); >f3({}) : void ->f3 : ({ x = 0, y = 0 }: { x?: number; y?: number; }) => void +>f3 : ({x, y}: { x?: number; y?: number; }) => void >{} : {} f3({ x: 1 }); >f3({ x: 1 }) : void ->f3 : ({ x = 0, y = 0 }: { x?: number; y?: number; }) => void +>f3 : ({x, y}: { x?: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number >1 : number f3({ y: 1 }); >f3({ y: 1 }) : void ->f3 : ({ x = 0, y = 0 }: { x?: number; y?: number; }) => void +>f3 : ({x, y}: { x?: number; y?: number; }) => void >{ y: 1 } : { y: number; } >y : number >1 : number f3({ x: 1, y: 1 }); >f3({ x: 1, y: 1 }) : void ->f3 : ({ x = 0, y = 0 }: { x?: number; y?: number; }) => void +>f3 : ({x, y}: { x?: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -75,7 +75,7 @@ f3({ x: 1, y: 1 }); // (arg?: { x: number, y: number }) => void function f4({ x, y } = { x: 0, y: 0 }) { } ->f4 : ({ x, y }?: { x: number; y: number; }) => void +>f4 : ({x, y}?: { x: number; y: number; }) => void >x : number >y : number >{ x: 0, y: 0 } : { x: number; y: number; } @@ -86,11 +86,11 @@ function f4({ x, y } = { x: 0, y: 0 }) { } f4(); >f4() : void ->f4 : ({ x, y }?: { x: number; y: number; }) => void +>f4 : ({x, y}?: { x: number; y: number; }) => void f4({ x: 1, y: 1 }); >f4({ x: 1, y: 1 }) : void ->f4 : ({ x, y }?: { x: number; y: number; }) => void +>f4 : ({x, y}?: { x: number; y: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -99,7 +99,7 @@ f4({ x: 1, y: 1 }); // (arg?: { x: number, y?: number }) => void function f5({ x, y = 0 } = { x: 0 }) { } ->f5 : ({ x, y = 0 }?: { x: number; y?: number; }) => void +>f5 : ({x, y}?: { x: number; y?: number; }) => void >x : number >y : number >0 : number @@ -109,18 +109,18 @@ function f5({ x, y = 0 } = { x: 0 }) { } f5(); >f5() : void ->f5 : ({ x, y = 0 }?: { x: number; y?: number; }) => void +>f5 : ({x, y}?: { x: number; y?: number; }) => void f5({ x: 1 }); >f5({ x: 1 }) : void ->f5 : ({ x, y = 0 }?: { x: number; y?: number; }) => void +>f5 : ({x, y}?: { x: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number >1 : number f5({ x: 1, y: 1 }); >f5({ x: 1, y: 1 }) : void ->f5 : ({ x, y = 0 }?: { x: number; y?: number; }) => void +>f5 : ({x, y}?: { x: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -129,7 +129,7 @@ f5({ x: 1, y: 1 }); // (arg?: { x?: number, y?: number }) => void function f6({ x = 0, y = 0 } = {}) { } ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void >x : number >0 : number >y : number @@ -138,30 +138,30 @@ function f6({ x = 0, y = 0 } = {}) { } f6(); >f6() : void ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void f6({}); >f6({}) : void ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void >{} : {} f6({ x: 1 }); >f6({ x: 1 }) : void ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number >1 : number f6({ y: 1 }); >f6({ y: 1 }) : void ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ y: 1 } : { y: number; } >y : number >1 : number f6({ x: 1, y: 1 }); >f6({ x: 1, y: 1 }) : void ->f6 : ({ x = 0, y = 0 }?: { x?: number; y?: number; }) => void +>f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number >1 : number @@ -170,7 +170,7 @@ f6({ x: 1, y: 1 }); // (arg?: { a: { x?: number, y?: number } }) => void function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void >a : any >x : number >0 : number @@ -182,18 +182,18 @@ function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } f7(); >f7() : void ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void f7({ a: {} }); >f7({ a: {} }) : void ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: {} } : { a: {}; } >a : {} >{} : {} f7({ a: { x: 1 } }); >f7({ a: { x: 1 } }) : void ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { x: 1 } } : { a: { x: number; }; } >a : { x: number; } >{ x: 1 } : { x: number; } @@ -202,7 +202,7 @@ f7({ a: { x: 1 } }); f7({ a: { y: 1 } }); >f7({ a: { y: 1 } }) : void ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { y: 1 } } : { a: { y: number; }; } >a : { y: number; } >{ y: 1 } : { y: number; } @@ -211,7 +211,7 @@ f7({ a: { y: 1 } }); f7({ a: { x: 1, y: 1 } }); >f7({ a: { x: 1, y: 1 } }) : void ->f7 : ({ a: { x = 0, y = 0 } }?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { x: 1, y: 1 } } : { a: { x: number; y: number; }; } >a : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } @@ -235,7 +235,7 @@ g1([1, 1]); // (arg: [number, number]) => void function g2([x = 0, y = 0]) { } ->g2 : ([x = 0, y = 0]: [number, number]) => void +>g2 : ([x, y]: [number, number]) => void >x : number >0 : number >y : number @@ -243,7 +243,7 @@ function g2([x = 0, y = 0]) { } g2([1, 1]); >g2([1, 1]) : void ->g2 : ([x = 0, y = 0]: [number, number]) => void +>g2 : ([x, y]: [number, number]) => void >[1, 1] : [number, number] >1 : number >1 : number @@ -270,7 +270,7 @@ g3([1, 1]); // (arg?: [number, number]) => void function g4([x, y = 0] = [0]) { } ->g4 : ([x, y = 0]?: [number, number]) => void +>g4 : ([x, y]?: [number, number]) => void >x : number >y : number >0 : number @@ -279,18 +279,18 @@ function g4([x, y = 0] = [0]) { } g4(); >g4() : void ->g4 : ([x, y = 0]?: [number, number]) => void +>g4 : ([x, y]?: [number, number]) => void g4([1, 1]); >g4([1, 1]) : void ->g4 : ([x, y = 0]?: [number, number]) => void +>g4 : ([x, y]?: [number, number]) => void >[1, 1] : [number, number] >1 : number >1 : number // (arg?: [number, number]) => void function g5([x = 0, y = 0] = []) { } ->g5 : ([x = 0, y = 0]?: [number, number]) => void +>g5 : ([x, y]?: [number, number]) => void >x : number >0 : number >y : number @@ -299,11 +299,11 @@ function g5([x = 0, y = 0] = []) { } g5(); >g5() : void ->g5 : ([x = 0, y = 0]?: [number, number]) => void +>g5 : ([x, y]?: [number, number]) => void g5([1, 1]); >g5([1, 1]) : void ->g5 : ([x = 0, y = 0]?: [number, number]) => void +>g5 : ([x, y]?: [number, number]) => void >[1, 1] : [number, number] >1 : number >1 : number diff --git a/tests/baselines/reference/emitArrowFunctionES6.types b/tests/baselines/reference/emitArrowFunctionES6.types index cc48cecd96a..21340956c59 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.types +++ b/tests/baselines/reference/emitArrowFunctionES6.types @@ -52,43 +52,43 @@ var p2 = ([...a]) => { }; >a : any[] var p3 = ([, a]) => { }; ->p3 : ([, a]: [any, any]) => void ->([, a]) => { } : ([, a]: [any, any]) => void +>p3 : ([ , a]: [any, any]) => void +>([, a]) => { } : ([ , a]: [any, any]) => void > : undefined >a : any var p4 = ([, ...a]) => { }; ->p4 : ([, ...a]: Iterable) => void ->([, ...a]) => { } : ([, ...a]: Iterable) => void +>p4 : ([ , ...a]: Iterable) => void +>([, ...a]) => { } : ([ , ...a]: Iterable) => void > : undefined >a : any[] var p5 = ([a = 1]) => { }; ->p5 : ([a = 1]: [number]) => void ->([a = 1]) => { } : ([a = 1]: [number]) => void +>p5 : ([a]: [number]) => void +>([a = 1]) => { } : ([a]: [number]) => void >a : number >1 : number var p6 = ({ a }) => { }; ->p6 : ({ a }: { a: any; }) => void ->({ a }) => { } : ({ a }: { a: any; }) => void +>p6 : ({a}: { a: any; }) => void +>({ a }) => { } : ({a}: { a: any; }) => void >a : any var p7 = ({ a: { b } }) => { }; ->p7 : ({ a: { b } }: { a: { b: any; }; }) => void ->({ a: { b } }) => { } : ({ a: { b } }: { a: { b: any; }; }) => void +>p7 : ({a:{b}}: { a: { b: any; }; }) => void +>({ a: { b } }) => { } : ({a:{b}}: { a: { b: any; }; }) => void >a : any >b : any var p8 = ({ a = 1 }) => { }; ->p8 : ({ a = 1 }: { a?: number; }) => void ->({ a = 1 }) => { } : ({ a = 1 }: { a?: number; }) => void +>p8 : ({a}: { a?: number; }) => void +>({ a = 1 }) => { } : ({a}: { a?: number; }) => void >a : number >1 : number var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; ->p9 : ({ a: { b = 1 } = { b: 1 } }: { a?: { b?: number; }; }) => void ->({ a: { b = 1 } = { b: 1 } }) => { } : ({ a: { b = 1 } = { b: 1 } }: { a?: { b?: number; }; }) => void +>p9 : ({a:{b}}: { a?: { b?: number; }; }) => void +>({ a: { b = 1 } = { b: 1 } }) => { } : ({a:{b}}: { a?: { b?: number; }; }) => void >a : any >b : number >1 : number @@ -97,8 +97,8 @@ var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; >1 : number var p10 = ([{ value, done }]) => { }; ->p10 : ([{ value, done }]: [{ value: any; done: any; }]) => void ->([{ value, done }]) => { } : ([{ value, done }]: [{ value: any; done: any; }]) => void +>p10 : ([{value, done}]: [{ value: any; done: any; }]) => void +>([{ value, done }]) => { } : ([{value, done}]: [{ value: any; done: any; }]) => void >value : any >done : any diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types index ed6b935db0f..a9a9366ae22 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types @@ -62,7 +62,7 @@ } function f({} = a, [] = a, { p: {} = a} = a) { ->f : ({}?: any, []?: any, { p: {} = a}?: any) => ({}?: any, []?: any, { p: {} = a }?: any) => any +>f : ({}?: any, []?: any, {p:{}}?: any) => ({}?: any, []?: any, {p:{}}?: any) => any >a : any >a : any >p : any @@ -70,7 +70,7 @@ >a : any return ({} = a, [] = a, { p: {} = a } = a) => a; ->({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, { p: {} = a }?: any) => any +>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p:{}}?: any) => any >a : any >a : any >p : any diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types index fcb48048148..09e1f0b853b 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types @@ -62,7 +62,7 @@ } function f({} = a, [] = a, { p: {} = a} = a) { ->f : ({}?: any, []?: any, { p: {} = a}?: any) => ({}?: any, []?: any, { p: {} = a }?: any) => any +>f : ({}?: any, []?: any, {p:{}}?: any) => ({}?: any, []?: any, {p:{}}?: any) => any >a : any >a : any >p : any @@ -70,7 +70,7 @@ >a : any return ({} = a, [] = a, { p: {} = a } = a) => a; ->({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, { p: {} = a }?: any) => any +>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p:{}}?: any) => any >a : any >a : any >p : any diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types index 029e47cd3a0..323612ffc94 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types @@ -37,7 +37,7 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >"none" : string function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { ->foo1 : ({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void >skills : any >primary : any >primaryA : string @@ -53,7 +53,7 @@ function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { >primaryA : string } function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) { ->foo2 : ({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void >name : any >nameC : string >skills : any @@ -71,7 +71,7 @@ function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB >secondaryB : string } function foo3({ skills }: Robot) { ->foo3 : ({ skills }: Robot) => void +>foo3 : ({skills}: Robot) => void >skills : { primary: string; secondary: string; } >Robot : Robot @@ -87,12 +87,12 @@ function foo3({ skills }: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void >robotA : Robot foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo1 : ({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -105,12 +105,12 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo2(robotA); >foo2(robotA) : void ->foo2 : ({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void >robotA : Robot foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo2 : ({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -123,12 +123,12 @@ foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo3(robotA); >foo3(robotA) : void ->foo3 : ({ skills }: Robot) => void +>foo3 : ({skills}: Robot) => void >robotA : Robot foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo3 : ({ skills }: Robot) => void +>foo3 : ({skills}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types index a9e5c2d6ee6..5d8cbc311ae 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types @@ -37,12 +37,7 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >"none" : string function foo1( ->foo1 : ({ - skills: { - primary: primaryA = "primary", - secondary: secondaryA = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void { skills: { >skills : any @@ -76,13 +71,7 @@ function foo1( >primaryA : string } function foo2( ->foo2 : ({ - name: nameC = "name", - skills: { - primary: primaryB = "primary", - secondary: secondaryB = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void { name: nameC = "name", >name : any @@ -121,7 +110,7 @@ function foo2( >secondaryB : string } function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA) { ->foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void +>foo3 : ({skills}?: Robot) => void >skills : { primary?: string; secondary?: string; } >{ primary: "SomeSkill", secondary: "someSkill" } : { primary: string; secondary: string; } >primary : string @@ -143,22 +132,12 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro foo1(robotA); >foo1(robotA) : void ->foo1 : ({ - skills: { - primary: primaryA = "primary", - secondary: secondaryA = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void >robotA : Robot foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo1 : ({ - skills: { - primary: primaryA = "primary", - secondary: secondaryA = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -171,24 +150,12 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo2(robotA); >foo2(robotA) : void ->foo2 : ({ - name: nameC = "name", - skills: { - primary: primaryB = "primary", - secondary: secondaryB = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void >robotA : Robot foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo2 : ({ - name: nameC = "name", - skills: { - primary: primaryB = "primary", - secondary: secondaryB = "secondary" - } = { primary: "SomeSkill", secondary: "someSkill" } - }?: Robot) => void +>foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -201,12 +168,12 @@ foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo3(robotA); >foo3(robotA) : void ->foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void +>foo3 : ({skills}?: Robot) => void >robotA : Robot foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void +>foo3 : ({skills}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types index 894cd714c73..9154ba582d8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types @@ -29,7 +29,7 @@ var robotA: Robot = { name: "mower", skill: "mowing" }; >"mowing" : string function foo1({ name: nameA }: Robot) { ->foo1 : ({ name: nameA }: Robot) => void +>foo1 : ({name:nameA}: Robot) => void >name : any >nameA : string >Robot : Robot @@ -42,7 +42,7 @@ function foo1({ name: nameA }: Robot) { >nameA : string } function foo2({ name: nameB, skill: skillB }: Robot) { ->foo2 : ({ name: nameB, skill: skillB }: Robot) => void +>foo2 : ({name:nameB, skill:skillB}: Robot) => void >name : any >nameB : string >skill : any @@ -57,7 +57,7 @@ function foo2({ name: nameB, skill: skillB }: Robot) { >nameB : string } function foo3({ name }: Robot) { ->foo3 : ({ name }: Robot) => void +>foo3 : ({name}: Robot) => void >name : string >Robot : Robot @@ -71,12 +71,12 @@ function foo3({ name }: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({ name: nameA }: Robot) => void +>foo1 : ({name:nameA}: Robot) => void >robotA : Robot foo1({ name: "Edger", skill: "cutting edges" }); >foo1({ name: "Edger", skill: "cutting edges" }) : void ->foo1 : ({ name: nameA }: Robot) => void +>foo1 : ({name:nameA}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -85,12 +85,12 @@ foo1({ name: "Edger", skill: "cutting edges" }); foo2(robotA); >foo2(robotA) : void ->foo2 : ({ name: nameB, skill: skillB }: Robot) => void +>foo2 : ({name:nameB, skill:skillB}: Robot) => void >robotA : Robot foo2({ name: "Edger", skill: "cutting edges" }); >foo2({ name: "Edger", skill: "cutting edges" }) : void ->foo2 : ({ name: nameB, skill: skillB }: Robot) => void +>foo2 : ({name:nameB, skill:skillB}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -99,12 +99,12 @@ foo2({ name: "Edger", skill: "cutting edges" }); foo3(robotA); >foo3(robotA) : void ->foo3 : ({ name }: Robot) => void +>foo3 : ({name}: Robot) => void >robotA : Robot foo3({ name: "Edger", skill: "cutting edges" }); >foo3({ name: "Edger", skill: "cutting edges" }) : void ->foo3 : ({ name }: Robot) => void +>foo3 : ({name}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types index 669708f412f..ed7090d4fc8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types @@ -29,7 +29,7 @@ var robotA: Robot = { name: "mower", skill: "mowing" }; >"mowing" : string function foo1({ name: nameA = "" }: Robot = { }) { ->foo1 : ({ name: nameA = "" }?: Robot) => void +>foo1 : ({name:nameA}?: Robot) => void >name : any >nameA : string >"" : string @@ -44,7 +44,7 @@ function foo1({ name: nameA = "" }: Robot = { }) { >nameA : string } function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = {}) { ->foo2 : ({ name: nameB = "", skill: skillB = "noSkill" }?: Robot) => void +>foo2 : ({name:nameB, skill:skillB}?: Robot) => void >name : any >nameB : string >"" : string @@ -62,7 +62,7 @@ function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = { >nameB : string } function foo3({ name = "" }: Robot = {}) { ->foo3 : ({ name = "" }?: Robot) => void +>foo3 : ({name}?: Robot) => void >name : string >"" : string >Robot : Robot @@ -78,12 +78,12 @@ function foo3({ name = "" }: Robot = {}) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({ name: nameA = "" }?: Robot) => void +>foo1 : ({name:nameA}?: Robot) => void >robotA : Robot foo1({ name: "Edger", skill: "cutting edges" }); >foo1({ name: "Edger", skill: "cutting edges" }) : void ->foo1 : ({ name: nameA = "" }?: Robot) => void +>foo1 : ({name:nameA}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -92,12 +92,12 @@ foo1({ name: "Edger", skill: "cutting edges" }); foo2(robotA); >foo2(robotA) : void ->foo2 : ({ name: nameB = "", skill: skillB = "noSkill" }?: Robot) => void +>foo2 : ({name:nameB, skill:skillB}?: Robot) => void >robotA : Robot foo2({ name: "Edger", skill: "cutting edges" }); >foo2({ name: "Edger", skill: "cutting edges" }) : void ->foo2 : ({ name: nameB = "", skill: skillB = "noSkill" }?: Robot) => void +>foo2 : ({name:nameB, skill:skillB}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -106,12 +106,12 @@ foo2({ name: "Edger", skill: "cutting edges" }); foo3(robotA); >foo3(robotA) : void ->foo3 : ({ name = "" }?: Robot) => void +>foo3 : ({name}?: Robot) => void >robotA : Robot foo3({ name: "Edger", skill: "cutting edges" }); >foo3({ name: "Edger", skill: "cutting edges" }) : void ->foo3 : ({ name = "" }?: Robot) => void +>foo3 : ({name}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index 9c695f1c0dd..fcdeba6becc 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -18,7 +18,7 @@ var robotA: Robot = [1, "mower", "mowing"]; >"mowing" : string function foo1([, nameA]: Robot) { ->foo1 : ([, nameA]: [number, string, string]) => void +>foo1 : ([ , nameA]: [number, string, string]) => void > : undefined >nameA : string >Robot : [number, string, string] @@ -75,12 +75,12 @@ function foo4([numberA3, ...robotAInfo]: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([, nameA]: [number, string, string]) => void +>foo1 : ([ , nameA]: [number, string, string]) => void >robotA : [number, string, string] foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void ->foo1 : ([, nameA]: [number, string, string]) => void +>foo1 : ([ , nameA]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types index b3e09d962c3..14977147a7d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types @@ -19,7 +19,7 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >"edging" : string function foo1([, skillA]: Robot) { ->foo1 : ([, skillA]: [string, [string, string]]) => void +>foo1 : ([ , skillA]: [string, [string, string]]) => void > : undefined >skillA : [string, string] >Robot : [string, [string, string]] @@ -75,12 +75,12 @@ function foo4([...multiRobotAInfo]: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([, skillA]: [string, [string, string]]) => void +>foo1 : ([ , skillA]: [string, [string, string]]) => void >robotA : [string, [string, string]] foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void ->foo1 : ([, skillA]: [string, [string, string]]) => void +>foo1 : ([ , skillA]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] >"roomba" : string >["vaccum", "mopping"] : [string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 8e12e876b1d..328f003f7d1 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -18,7 +18,7 @@ var robotA: Robot = [1, "mower", "mowing"]; >"mowing" : string function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { ->foo1 : ([, nameA = "noName"]?: [number, string, string]) => void +>foo1 : ([ , nameA]?: [number, string, string]) => void > : undefined >nameA : string >"noName" : string @@ -38,7 +38,7 @@ function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { } function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { ->foo2 : ([numberB = -1]?: [number, string, string]) => void +>foo2 : ([numberB]?: [number, string, string]) => void >numberB : number >-1 : number >1 : number @@ -58,7 +58,7 @@ function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { } function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) { ->foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void +>foo3 : ([numberA2, nameA2, skillA2]?: [number, string, string]) => void >numberA2 : number >-1 : number >1 : number @@ -82,7 +82,7 @@ function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, } function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { ->foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void +>foo4 : ([numberA3, ...robotAInfo]?: [number, string, string]) => void >numberA3 : number >-1 : number >1 : number @@ -104,12 +104,12 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([, nameA = "noName"]?: [number, string, string]) => void +>foo1 : ([ , nameA]?: [number, string, string]) => void >robotA : [number, string, string] foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void ->foo1 : ([, nameA = "noName"]?: [number, string, string]) => void +>foo1 : ([ , nameA]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string @@ -117,12 +117,12 @@ foo1([2, "trimmer", "trimming"]); foo2(robotA); >foo2(robotA) : void ->foo2 : ([numberB = -1]?: [number, string, string]) => void +>foo2 : ([numberB]?: [number, string, string]) => void >robotA : [number, string, string] foo2([2, "trimmer", "trimming"]); >foo2([2, "trimmer", "trimming"]) : void ->foo2 : ([numberB = -1]?: [number, string, string]) => void +>foo2 : ([numberB]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string @@ -130,12 +130,12 @@ foo2([2, "trimmer", "trimming"]); foo3(robotA); >foo3(robotA) : void ->foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void +>foo3 : ([numberA2, nameA2, skillA2]?: [number, string, string]) => void >robotA : [number, string, string] foo3([2, "trimmer", "trimming"]); >foo3([2, "trimmer", "trimming"]) : void ->foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void +>foo3 : ([numberA2, nameA2, skillA2]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string @@ -143,12 +143,12 @@ foo3([2, "trimmer", "trimming"]); foo4(robotA); >foo4(robotA) : void ->foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void +>foo4 : ([numberA3, ...robotAInfo]?: [number, string, string]) => void >robotA : [number, string, string] foo4([2, "trimmer", "trimming"]); >foo4([2, "trimmer", "trimming"]) : void ->foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void +>foo4 : ([numberA3, ...robotAInfo]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types index 52423dfce21..d47aef363c9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types @@ -19,7 +19,7 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >"edging" : string function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) { ->foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void +>foo1 : ([ , skillA]?: [string, string[]]) => void > : undefined >skillA : string[] >["noSkill", "noSkill"] : string[] @@ -41,7 +41,7 @@ function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "s } function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { ->foo2 : ([nameMB = "noName"]?: [string, string[]]) => void +>foo2 : ([nameMB]?: [string, string[]]) => void >nameMB : string >"noName" : string >Robot : [string, string[]] @@ -60,10 +60,7 @@ function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { } function foo3([nameMA = "noName", [ ->foo3 : ([nameMA = "noName", [ - primarySkillA = "primary", - secondarySkillA = "secondary" -] = ["noSkill", "noSkill"]]: [string, string[]]) => void +>foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, string[]]) => void >nameMA : string >"noName" : string @@ -91,12 +88,12 @@ function foo3([nameMA = "noName", [ foo1(robotA); >foo1(robotA) : void ->foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void +>foo1 : ([ , skillA]?: [string, string[]]) => void >robotA : [string, string[]] foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void ->foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void +>foo1 : ([ , skillA]?: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] >"roomba" : string >["vaccum", "mopping"] : string[] @@ -105,12 +102,12 @@ foo1(["roomba", ["vaccum", "mopping"]]); foo2(robotA); >foo2(robotA) : void ->foo2 : ([nameMB = "noName"]?: [string, string[]]) => void +>foo2 : ([nameMB]?: [string, string[]]) => void >robotA : [string, string[]] foo2(["roomba", ["vaccum", "mopping"]]); >foo2(["roomba", ["vaccum", "mopping"]]) : void ->foo2 : ([nameMB = "noName"]?: [string, string[]]) => void +>foo2 : ([nameMB]?: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] >"roomba" : string >["vaccum", "mopping"] : string[] @@ -119,18 +116,12 @@ foo2(["roomba", ["vaccum", "mopping"]]); foo3(robotA); >foo3(robotA) : void ->foo3 : ([nameMA = "noName", [ - primarySkillA = "primary", - secondarySkillA = "secondary" -] = ["noSkill", "noSkill"]]: [string, string[]]) => void +>foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, string[]]) => void >robotA : [string, string[]] foo3(["roomba", ["vaccum", "mopping"]]); >foo3(["roomba", ["vaccum", "mopping"]]) : void ->foo3 : ([nameMA = "noName", [ - primarySkillA = "primary", - secondarySkillA = "secondary" -] = ["noSkill", "noSkill"]]: [string, string[]]) => void +>foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] >"roomba" : string >["vaccum", "mopping"] : string[] From 8b9afce894fa6b3970c2021ab4be83f811679ea2 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 24 Feb 2016 13:02:30 -0800 Subject: [PATCH 087/342] Add test --- .../declarationEmit_bindingPatters.js | 26 +++++++++++++++++++ .../declarationEmit_bindingPatters.symbols | 17 ++++++++++++ .../declarationEmit_bindingPatters.types | 20 ++++++++++++++ .../declarationEmit_bindingPatters.ts | 7 +++++ 4 files changed, 70 insertions(+) create mode 100644 tests/baselines/reference/declarationEmit_bindingPatters.js create mode 100644 tests/baselines/reference/declarationEmit_bindingPatters.symbols create mode 100644 tests/baselines/reference/declarationEmit_bindingPatters.types create mode 100644 tests/cases/compiler/declarationEmit_bindingPatters.ts diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.js b/tests/baselines/reference/declarationEmit_bindingPatters.js new file mode 100644 index 00000000000..e97d93dc634 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.js @@ -0,0 +1,26 @@ +//// [declarationEmit_bindingPatters.ts] + +const k = ({x: z = 'y'}) => { } + +var a; +function f({} = a, [] = a, { p: {} = a} = a) { +} + +//// [declarationEmit_bindingPatters.js] +var k = function (_a) { + var _b = _a.x, z = _b === void 0 ? 'y' : _b; +}; +var a; +function f(_a, _b, _c) { + var _a = a; + var _b = a; + var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; +} + + +//// [declarationEmit_bindingPatters.d.ts] +declare const k: ({x:z}: { + x?: string; +}) => void; +declare var a: any; +declare function f({}?: any, []?: any, {p: {}}?: any): void; diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.symbols b/tests/baselines/reference/declarationEmit_bindingPatters.symbols new file mode 100644 index 00000000000..522166ed511 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/declarationEmit_bindingPatters.ts === + +const k = ({x: z = 'y'}) => { } +>k : Symbol(k, Decl(declarationEmit_bindingPatters.ts, 1, 5)) +>x : Symbol(x) +>z : Symbol(z, Decl(declarationEmit_bindingPatters.ts, 1, 12)) + +var a; +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : Symbol(f, Decl(declarationEmit_bindingPatters.ts, 3, 6)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +} diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.types b/tests/baselines/reference/declarationEmit_bindingPatters.types new file mode 100644 index 00000000000..44c5b3e9f43 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmit_bindingPatters.ts === + +const k = ({x: z = 'y'}) => { } +>k : ({x:z}: { x?: string; }) => void +>({x: z = 'y'}) => { } : ({x:z}: { x?: string; }) => void +>x : any +>z : string +>'y' : string + +var a; +>a : any + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : ({}?: any, []?: any, {p:{}}?: any) => void +>a : any +>a : any +>p : any +>a : any +>a : any +} diff --git a/tests/cases/compiler/declarationEmit_bindingPatters.ts b/tests/cases/compiler/declarationEmit_bindingPatters.ts new file mode 100644 index 00000000000..16d380307fd --- /dev/null +++ b/tests/cases/compiler/declarationEmit_bindingPatters.ts @@ -0,0 +1,7 @@ +// @declaration: true + +const k = ({x: z = 'y'}) => { } + +var a; +function f({} = a, [] = a, { p: {} = a} = a) { +} \ No newline at end of file From 4bf5f82e83a727ae1efffdf22a41081985343d37 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 24 Feb 2016 13:25:08 -0800 Subject: [PATCH 088/342] Do not add extra space for ommited expressions. --- src/compiler/checker.ts | 27 +++++++++---------- ...rrayBindingPatternOmittedExpressions.types | 2 +- .../reference/arrowFunctionExpressions.types | 8 +++--- .../declarationEmitDestructuring5.types | 10 +++---- .../reference/emitArrowFunctionES6.types | 8 +++--- ...cturingParametertArrayBindingPattern.types | 6 ++--- ...turingParametertArrayBindingPattern2.types | 6 ++--- ...tertArrayBindingPatternDefaultValues.types | 6 ++--- ...ertArrayBindingPatternDefaultValues2.types | 6 ++--- 9 files changed, 39 insertions(+), 40 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1503da355c7..ad4ec27e1ba 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2211,23 +2211,22 @@ namespace ts { function buildBindingElementDisplay(bindingElement: BindingElement, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { if (bindingElement.kind === SyntaxKind.OmittedExpression) { - writeSpace(writer); + return; } - else if (bindingElement.kind === SyntaxKind.BindingElement) { - if (bindingElement.propertyName) { - writer.writeSymbol(getTextOfNode(bindingElement.propertyName), bindingElement.symbol); - writePunctuation(writer, SyntaxKind.ColonToken); + Debug.assert(bindingElement.kind === SyntaxKind.BindingElement); + if (bindingElement.propertyName) { + writer.writeSymbol(getTextOfNode(bindingElement.propertyName), bindingElement.symbol); + writePunctuation(writer, SyntaxKind.ColonToken); + } + if (bindingElement.name) { + if (isBindingPattern(bindingElement.name)) { + buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); } - if (bindingElement.name) { - if (isBindingPattern(bindingElement.name)) { - buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); - } - else { - if (bindingElement.dotDotDotToken) { - writePunctuation(writer, SyntaxKind.DotDotDotToken); - } - appendSymbolNameOnly(bindingElement.symbol, writer); + else { + if (bindingElement.dotDotDotToken) { + writePunctuation(writer, SyntaxKind.DotDotDotToken); } + appendSymbolNameOnly(bindingElement.symbol, writer); } } } diff --git a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types index e529c7cdde5..77db8cc250d 100644 --- a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types +++ b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types @@ -25,7 +25,7 @@ var results: string[]; function f([, a, , b, , , , s, , , ] = results) { ->f : ([ , a, , b, , , , s, , ,]?: string[]) => void +>f : ([, a, , b, , , , s, , ,]?: string[]) => void > : undefined >a : string > : undefined diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index b2e6cf1e57b..9efc2db7a3b 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -65,14 +65,14 @@ var p2 = ([...a]) => { }; >a : any[] var p3 = ([, a]) => { }; ->p3 : ([ , a]: [any, any]) => void ->([, a]) => { } : ([ , a]: [any, any]) => void +>p3 : ([, a]: [any, any]) => void +>([, a]) => { } : ([, a]: [any, any]) => void > : undefined >a : any var p4 = ([, ...a]) => { }; ->p4 : ([ , ...a]: any[]) => void ->([, ...a]) => { } : ([ , ...a]: any[]) => void +>p4 : ([, ...a]: any[]) => void +>([, ...a]) => { } : ([, ...a]: any[]) => void > : undefined >a : any[] diff --git a/tests/baselines/reference/declarationEmitDestructuring5.types b/tests/baselines/reference/declarationEmitDestructuring5.types index 0b36373ebe2..961dea62bcb 100644 --- a/tests/baselines/reference/declarationEmitDestructuring5.types +++ b/tests/baselines/reference/declarationEmitDestructuring5.types @@ -1,23 +1,23 @@ === tests/cases/compiler/declarationEmitDestructuring5.ts === function baz([, z, , ]) { } ->baz : ([ , z, ,]: [any, any, any]) => void +>baz : ([, z, ,]: [any, any, any]) => void > : undefined >z : any > : undefined function foo([, b, ]: [any, any]): void { } ->foo : ([ , b,]: [any, any]) => void +>foo : ([, b,]: [any, any]) => void > : undefined >b : any function bar([z, , , ]) { } ->bar : ([z, , ,]: [any, any, any]) => void +>bar : ([z, , ,]: [any, any, any]) => void >z : any > : undefined > : undefined function bar1([z, , , ] = [1, 3, 4, 6, 7]) { } ->bar1 : ([z, , ,]?: [number, number, number, number, number]) => void +>bar1 : ([z, , ,]?: [number, number, number, number, number]) => void >z : number > : undefined > : undefined @@ -29,7 +29,7 @@ function bar1([z, , , ] = [1, 3, 4, 6, 7]) { } >7 : number function bar2([,,z, , , ]) { } ->bar2 : ([ , , z, , ,]: [any, any, any, any, any]) => void +>bar2 : ([, , z, , ,]: [any, any, any, any, any]) => void > : undefined > : undefined >z : any diff --git a/tests/baselines/reference/emitArrowFunctionES6.types b/tests/baselines/reference/emitArrowFunctionES6.types index 21340956c59..1730ef25534 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.types +++ b/tests/baselines/reference/emitArrowFunctionES6.types @@ -52,14 +52,14 @@ var p2 = ([...a]) => { }; >a : any[] var p3 = ([, a]) => { }; ->p3 : ([ , a]: [any, any]) => void ->([, a]) => { } : ([ , a]: [any, any]) => void +>p3 : ([, a]: [any, any]) => void +>([, a]) => { } : ([, a]: [any, any]) => void > : undefined >a : any var p4 = ([, ...a]) => { }; ->p4 : ([ , ...a]: Iterable) => void ->([, ...a]) => { } : ([ , ...a]: Iterable) => void +>p4 : ([, ...a]: Iterable) => void +>([, ...a]) => { } : ([, ...a]: Iterable) => void > : undefined >a : any[] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index fcdeba6becc..9c695f1c0dd 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -18,7 +18,7 @@ var robotA: Robot = [1, "mower", "mowing"]; >"mowing" : string function foo1([, nameA]: Robot) { ->foo1 : ([ , nameA]: [number, string, string]) => void +>foo1 : ([, nameA]: [number, string, string]) => void > : undefined >nameA : string >Robot : [number, string, string] @@ -75,12 +75,12 @@ function foo4([numberA3, ...robotAInfo]: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([ , nameA]: [number, string, string]) => void +>foo1 : ([, nameA]: [number, string, string]) => void >robotA : [number, string, string] foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void ->foo1 : ([ , nameA]: [number, string, string]) => void +>foo1 : ([, nameA]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types index 14977147a7d..b3e09d962c3 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types @@ -19,7 +19,7 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >"edging" : string function foo1([, skillA]: Robot) { ->foo1 : ([ , skillA]: [string, [string, string]]) => void +>foo1 : ([, skillA]: [string, [string, string]]) => void > : undefined >skillA : [string, string] >Robot : [string, [string, string]] @@ -75,12 +75,12 @@ function foo4([...multiRobotAInfo]: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([ , skillA]: [string, [string, string]]) => void +>foo1 : ([, skillA]: [string, [string, string]]) => void >robotA : [string, [string, string]] foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void ->foo1 : ([ , skillA]: [string, [string, string]]) => void +>foo1 : ([, skillA]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] >"roomba" : string >["vaccum", "mopping"] : [string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 328f003f7d1..366c538dda7 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -18,7 +18,7 @@ var robotA: Robot = [1, "mower", "mowing"]; >"mowing" : string function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { ->foo1 : ([ , nameA]?: [number, string, string]) => void +>foo1 : ([, nameA]?: [number, string, string]) => void > : undefined >nameA : string >"noName" : string @@ -104,12 +104,12 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { foo1(robotA); >foo1(robotA) : void ->foo1 : ([ , nameA]?: [number, string, string]) => void +>foo1 : ([, nameA]?: [number, string, string]) => void >robotA : [number, string, string] foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void ->foo1 : ([ , nameA]?: [number, string, string]) => void +>foo1 : ([, nameA]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] >2 : number >"trimmer" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types index d47aef363c9..bd140d6a232 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types @@ -19,7 +19,7 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >"edging" : string function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) { ->foo1 : ([ , skillA]?: [string, string[]]) => void +>foo1 : ([, skillA]?: [string, string[]]) => void > : undefined >skillA : string[] >["noSkill", "noSkill"] : string[] @@ -88,12 +88,12 @@ function foo3([nameMA = "noName", [ foo1(robotA); >foo1(robotA) : void ->foo1 : ([ , skillA]?: [string, string[]]) => void +>foo1 : ([, skillA]?: [string, string[]]) => void >robotA : [string, string[]] foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void ->foo1 : ([ , skillA]?: [string, string[]]) => void +>foo1 : ([, skillA]?: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] >"roomba" : string >["vaccum", "mopping"] : string[] From 7680cdfaeeac7cd2c8be2115f3f0944568f41464 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 24 Feb 2016 13:46:22 -0800 Subject: [PATCH 089/342] Code review comments --- src/compiler/checker.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ad4ec27e1ba..b855103d9bf 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2195,13 +2195,13 @@ namespace ts { // We have to explicitly emit square bracket and bracket because these tokens are not store inside the node. if (bindingPattern.kind === SyntaxKind.ObjectBindingPattern) { writePunctuation(writer, SyntaxKind.OpenBraceToken); - buildDisplatForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + buildDisplayForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); writePunctuation(writer, SyntaxKind.CloseBraceToken); } else if (bindingPattern.kind === SyntaxKind.ArrayBindingPattern) { writePunctuation(writer, SyntaxKind.OpenBracketToken); const elements = bindingPattern.elements; - buildDisplatForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + buildDisplayForCommaSeparatedList(elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); if (elements && elements.hasTrailingComma) { writePunctuation(writer, SyntaxKind.CommaToken); } @@ -2234,12 +2234,12 @@ namespace ts { function buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { if (typeParameters && typeParameters.length) { writePunctuation(writer, SyntaxKind.LessThanToken); - buildDisplatForCommaSeparatedList(typeParameters, writer, enclosingDeclaration, flags, symbolStack, buildTypeParameterDisplay); + buildDisplayForCommaSeparatedList(typeParameters, writer, enclosingDeclaration, flags, symbolStack, buildTypeParameterDisplay); writePunctuation(writer, SyntaxKind.GreaterThanToken); } } - function buildDisplatForCommaSeparatedList(list: T[], writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[], action: (item: T, writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[]) => void) { + function buildDisplayForCommaSeparatedList(list: T[], writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[], action: (item: T, writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[]) => void) { for (let i = 0; i < list.length; i++) { if (i > 0) { writePunctuation(writer, SyntaxKind.CommaToken); From 70ca4bd8a85279cf72b737f99303208c3b4739f9 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Thu, 25 Feb 2016 12:32:43 -0800 Subject: [PATCH 090/342] - renaming resolveTypeDefinitions to discoverTypings for consistency with jsTypings - simplifying typingOptions parsing after associated managed host changes --- src/services/shims.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/services/shims.ts b/src/services/shims.ts index add936a6a79..47a64ab58f6 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -232,7 +232,7 @@ namespace ts { getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getTSConfigFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getDefaultCompilationSettings(): string; - resolveTypeDefinitions(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; + discoverTypings(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; updateNotFoundTypingNames(newTypingsJson: string, globalCachePath: string, projectRootPath: string): string; } @@ -988,14 +988,11 @@ namespace ts { ); } - public resolveTypeDefinitions(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { + public discoverTypings(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { const getCanonicalFileName = createGetCanonicalFileName(/*useCaseSensitivefileNames:*/ false); - return this.forwardJSONCall("resolveTypeDefinitions()", () => { + return this.forwardJSONCall("discoverTypings()", () => { const cachePath = projectRootPath ? projectRootPath : globalCachePath; const typingOptions = JSON.parse(typingOptionsJson); - // Convert the include and exclude lists from a semi-colon delimited string to a string array - typingOptions.include = typingOptions.include ? typingOptions.include.toString().split(";") : []; - typingOptions.exclude = typingOptions.exclude ? typingOptions.exclude.toString().split(";") : []; const compilerOptions = JSON.parse(compilerOptionsJson); const fileNames: string[] = JSON.parse(fileNamesJson); From c3cfebfda8d3939f8d7594cd313ad365f6ac3c23 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 25 Feb 2016 13:14:34 -0800 Subject: [PATCH 091/342] Code review comments --- src/compiler/checker.ts | 29 +++++++++---------- .../reference/arrowFunctionExpressions.types | 8 ++--- .../declarationEmitDestructuring1.types | 2 +- ....js => declarationEmit_bindingPatterns.js} | 8 ++--- .../declarationEmit_bindingPatterns.symbols | 17 +++++++++++ .../declarationEmit_bindingPatterns.types | 20 +++++++++++++ .../declarationEmit_bindingPatters.symbols | 17 ----------- .../declarationEmit_bindingPatters.types | 20 ------------- .../destructuringInFunctionType.types | 6 ++-- ...destructuringWithLiteralInitializers.types | 12 ++++---- .../reference/emitArrowFunctionES6.types | 8 ++--- ...ableDeclarationBindingPatterns01_ES5.types | 4 +-- ...ableDeclarationBindingPatterns01_ES6.types | 4 +-- ...gParameterNestedObjectBindingPattern.types | 12 ++++---- ...tedObjectBindingPatternDefaultValues.types | 12 ++++---- ...cturingParameterObjectBindingPattern.types | 12 ++++---- ...terObjectBindingPatternDefaultValues.types | 12 ++++---- ....ts => declarationEmit_bindingPatterns.ts} | 0 18 files changed, 101 insertions(+), 102 deletions(-) rename tests/baselines/reference/{declarationEmit_bindingPatters.js => declarationEmit_bindingPatterns.js} (70%) create mode 100644 tests/baselines/reference/declarationEmit_bindingPatterns.symbols create mode 100644 tests/baselines/reference/declarationEmit_bindingPatterns.types delete mode 100644 tests/baselines/reference/declarationEmit_bindingPatters.symbols delete mode 100644 tests/baselines/reference/declarationEmit_bindingPatters.types rename tests/cases/compiler/{declarationEmit_bindingPatters.ts => declarationEmit_bindingPatterns.ts} (100%) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b855103d9bf..7e692dc78b8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2192,16 +2192,16 @@ namespace ts { } function buildBindingPatternDisplay(bindingPattern: BindingPattern, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { - // We have to explicitly emit square bracket and bracket because these tokens are not store inside the node. + // We have to explicitly emit square bracket and bracket because these tokens are not stored inside the node. if (bindingPattern.kind === SyntaxKind.ObjectBindingPattern) { writePunctuation(writer, SyntaxKind.OpenBraceToken); - buildDisplayForCommaSeparatedList(bindingPattern.elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + buildDisplayForCommaSeparatedList(bindingPattern.elements, writer, e => buildBindingElementDisplay(e, writer, enclosingDeclaration, flags, symbolStack)); writePunctuation(writer, SyntaxKind.CloseBraceToken); } else if (bindingPattern.kind === SyntaxKind.ArrayBindingPattern) { writePunctuation(writer, SyntaxKind.OpenBracketToken); const elements = bindingPattern.elements; - buildDisplayForCommaSeparatedList(elements, writer, enclosingDeclaration, flags, symbolStack, buildBindingElementDisplay); + buildDisplayForCommaSeparatedList(elements, writer, e => buildBindingElementDisplay(e, writer, enclosingDeclaration, flags, symbolStack)); if (elements && elements.hasTrailingComma) { writePunctuation(writer, SyntaxKind.CommaToken); } @@ -2217,35 +2217,34 @@ namespace ts { if (bindingElement.propertyName) { writer.writeSymbol(getTextOfNode(bindingElement.propertyName), bindingElement.symbol); writePunctuation(writer, SyntaxKind.ColonToken); + writeSpace(writer); } - if (bindingElement.name) { - if (isBindingPattern(bindingElement.name)) { - buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); - } - else { - if (bindingElement.dotDotDotToken) { - writePunctuation(writer, SyntaxKind.DotDotDotToken); - } - appendSymbolNameOnly(bindingElement.symbol, writer); + if (isBindingPattern(bindingElement.name)) { + buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); + } + else { + if (bindingElement.dotDotDotToken) { + writePunctuation(writer, SyntaxKind.DotDotDotToken); } + appendSymbolNameOnly(bindingElement.symbol, writer); } } function buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { if (typeParameters && typeParameters.length) { writePunctuation(writer, SyntaxKind.LessThanToken); - buildDisplayForCommaSeparatedList(typeParameters, writer, enclosingDeclaration, flags, symbolStack, buildTypeParameterDisplay); + buildDisplayForCommaSeparatedList(typeParameters, writer, p => buildTypeParameterDisplay(p, writer, enclosingDeclaration, flags, symbolStack)); writePunctuation(writer, SyntaxKind.GreaterThanToken); } } - function buildDisplayForCommaSeparatedList(list: T[], writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[], action: (item: T, writer: SymbolWriter, enclosingDeclaration: Node, flags: TypeFormatFlags, symbolStack: Symbol[]) => void) { + function buildDisplayForCommaSeparatedList(list: T[], writer: SymbolWriter, action: (item: T) => void) { for (let i = 0; i < list.length; i++) { if (i > 0) { writePunctuation(writer, SyntaxKind.CommaToken); writeSpace(writer); } - action(list[i], writer, enclosingDeclaration, flags, symbolStack); + action(list[i]); } } diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index 9efc2db7a3b..41344c61cc4 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -88,8 +88,8 @@ var p6 = ({ a }) => { }; >a : any var p7 = ({ a: { b } }) => { }; ->p7 : ({a:{b}}: { a: { b: any; }; }) => void ->({ a: { b } }) => { } : ({a:{b}}: { a: { b: any; }; }) => void +>p7 : ({a: {b}}: { a: { b: any; }; }) => void +>({ a: { b } }) => { } : ({a: {b}}: { a: { b: any; }; }) => void >a : any >b : any @@ -100,8 +100,8 @@ var p8 = ({ a = 1 }) => { }; >1 : number var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; ->p9 : ({a:{b}}: { a?: { b?: number; }; }) => void ->({ a: { b = 1 } = { b: 1 } }) => { } : ({a:{b}}: { a?: { b?: number; }; }) => void +>p9 : ({a: {b}}: { a?: { b?: number; }; }) => void +>({ a: { b = 1 } = { b: 1 } }) => { } : ({a: {b}}: { a?: { b?: number; }; }) => void >a : any >b : number >1 : number diff --git a/tests/baselines/reference/declarationEmitDestructuring1.types b/tests/baselines/reference/declarationEmitDestructuring1.types index a1c7acad853..abba67981d8 100644 --- a/tests/baselines/reference/declarationEmitDestructuring1.types +++ b/tests/baselines/reference/declarationEmitDestructuring1.types @@ -21,7 +21,7 @@ function bar({a1, b1, c1}: { a1: number, b1: boolean, c1: string }): void { } >c1 : string function baz({a2, b2: {b1, c1}}: { a2: number, b2: { b1: boolean, c1: string } }): void { } ->baz : ({a2, b2:{b1, c1}}: { a2: number; b2: { b1: boolean; c1: string; }; }) => void +>baz : ({a2, b2: {b1, c1}}: { a2: number; b2: { b1: boolean; c1: string; }; }) => void >a2 : number >b2 : any >b1 : boolean diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.js b/tests/baselines/reference/declarationEmit_bindingPatterns.js similarity index 70% rename from tests/baselines/reference/declarationEmit_bindingPatters.js rename to tests/baselines/reference/declarationEmit_bindingPatterns.js index e97d93dc634..c2063ead215 100644 --- a/tests/baselines/reference/declarationEmit_bindingPatters.js +++ b/tests/baselines/reference/declarationEmit_bindingPatterns.js @@ -1,4 +1,4 @@ -//// [declarationEmit_bindingPatters.ts] +//// [declarationEmit_bindingPatterns.ts] const k = ({x: z = 'y'}) => { } @@ -6,7 +6,7 @@ var a; function f({} = a, [] = a, { p: {} = a} = a) { } -//// [declarationEmit_bindingPatters.js] +//// [declarationEmit_bindingPatterns.js] var k = function (_a) { var _b = _a.x, z = _b === void 0 ? 'y' : _b; }; @@ -18,8 +18,8 @@ function f(_a, _b, _c) { } -//// [declarationEmit_bindingPatters.d.ts] -declare const k: ({x:z}: { +//// [declarationEmit_bindingPatterns.d.ts] +declare const k: ({x: z}: { x?: string; }) => void; declare var a: any; diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.symbols b/tests/baselines/reference/declarationEmit_bindingPatterns.symbols new file mode 100644 index 00000000000..b39aca17ea3 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatterns.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/declarationEmit_bindingPatterns.ts === + +const k = ({x: z = 'y'}) => { } +>k : Symbol(k, Decl(declarationEmit_bindingPatterns.ts, 1, 5)) +>x : Symbol(x) +>z : Symbol(z, Decl(declarationEmit_bindingPatterns.ts, 1, 12)) + +var a; +>a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : Symbol(f, Decl(declarationEmit_bindingPatterns.ts, 3, 6)) +>a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) +} diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.types b/tests/baselines/reference/declarationEmit_bindingPatterns.types new file mode 100644 index 00000000000..eff2d4bd4a3 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatterns.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmit_bindingPatterns.ts === + +const k = ({x: z = 'y'}) => { } +>k : ({x: z}: { x?: string; }) => void +>({x: z = 'y'}) => { } : ({x: z}: { x?: string; }) => void +>x : any +>z : string +>'y' : string + +var a; +>a : any + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : ({}?: any, []?: any, {p: {}}?: any) => void +>a : any +>a : any +>p : any +>a : any +>a : any +} diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.symbols b/tests/baselines/reference/declarationEmit_bindingPatters.symbols deleted file mode 100644 index 522166ed511..00000000000 --- a/tests/baselines/reference/declarationEmit_bindingPatters.symbols +++ /dev/null @@ -1,17 +0,0 @@ -=== tests/cases/compiler/declarationEmit_bindingPatters.ts === - -const k = ({x: z = 'y'}) => { } ->k : Symbol(k, Decl(declarationEmit_bindingPatters.ts, 1, 5)) ->x : Symbol(x) ->z : Symbol(z, Decl(declarationEmit_bindingPatters.ts, 1, 12)) - -var a; ->a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) - -function f({} = a, [] = a, { p: {} = a} = a) { ->f : Symbol(f, Decl(declarationEmit_bindingPatters.ts, 3, 6)) ->a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) -} diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.types b/tests/baselines/reference/declarationEmit_bindingPatters.types deleted file mode 100644 index 44c5b3e9f43..00000000000 --- a/tests/baselines/reference/declarationEmit_bindingPatters.types +++ /dev/null @@ -1,20 +0,0 @@ -=== tests/cases/compiler/declarationEmit_bindingPatters.ts === - -const k = ({x: z = 'y'}) => { } ->k : ({x:z}: { x?: string; }) => void ->({x: z = 'y'}) => { } : ({x:z}: { x?: string; }) => void ->x : any ->z : string ->'y' : string - -var a; ->a : any - -function f({} = a, [] = a, { p: {} = a} = a) { ->f : ({}?: any, []?: any, {p:{}}?: any) => void ->a : any ->a : any ->p : any ->a : any ->a : any -} diff --git a/tests/baselines/reference/destructuringInFunctionType.types b/tests/baselines/reference/destructuringInFunctionType.types index 93e702225b5..0cf057e06a3 100644 --- a/tests/baselines/reference/destructuringInFunctionType.types +++ b/tests/baselines/reference/destructuringInFunctionType.types @@ -40,7 +40,7 @@ type T3 = ([{ a: b }, { b: a }]); >a : a type F3 = ([{ a: b }, { b: a }]) => void; ->F3 : ([{a:b}, {b:a}]: [{ a: any; }, { b: any; }]) => void +>F3 : ([{a: b}, {b: a}]: [{ a: any; }, { b: any; }]) => void >a : any >b : any >b : any @@ -53,13 +53,13 @@ type T4 = ([{ a: [b, c] }]); >c : c type F4 = ([{ a: [b, c] }]) => void; ->F4 : ([{a:[b, c]}]: [{ a: [any, any]; }]) => void +>F4 : ([{a: [b, c]}]: [{ a: [any, any]; }]) => void >a : any >b : any >c : any type C1 = new ([{ a: [b, c] }]) => void; ->C1 : new ([{a:[b, c]}]: [{ a: [any, any]; }]) => void +>C1 : new ([{a: [b, c]}]: [{ a: [any, any]; }]) => void >a : any >b : any >c : any diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.types b/tests/baselines/reference/destructuringWithLiteralInitializers.types index 97e9b8d095a..9b970679f74 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.types +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.types @@ -170,7 +170,7 @@ f6({ x: 1, y: 1 }); // (arg?: { a: { x?: number, y?: number } }) => void function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >a : any >x : number >0 : number @@ -182,18 +182,18 @@ function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } f7(); >f7() : void ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void f7({ a: {} }); >f7({ a: {} }) : void ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: {} } : { a: {}; } >a : {} >{} : {} f7({ a: { x: 1 } }); >f7({ a: { x: 1 } }) : void ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { x: 1 } } : { a: { x: number; }; } >a : { x: number; } >{ x: 1 } : { x: number; } @@ -202,7 +202,7 @@ f7({ a: { x: 1 } }); f7({ a: { y: 1 } }); >f7({ a: { y: 1 } }) : void ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { y: 1 } } : { a: { y: number; }; } >a : { y: number; } >{ y: 1 } : { y: number; } @@ -211,7 +211,7 @@ f7({ a: { y: 1 } }); f7({ a: { x: 1, y: 1 } }); >f7({ a: { x: 1, y: 1 } }) : void ->f7 : ({a:{x, y}}?: { a: { x?: number; y?: number; }; }) => void +>f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >{ a: { x: 1, y: 1 } } : { a: { x: number; y: number; }; } >a : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } diff --git a/tests/baselines/reference/emitArrowFunctionES6.types b/tests/baselines/reference/emitArrowFunctionES6.types index 1730ef25534..d37c08f855c 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.types +++ b/tests/baselines/reference/emitArrowFunctionES6.types @@ -75,8 +75,8 @@ var p6 = ({ a }) => { }; >a : any var p7 = ({ a: { b } }) => { }; ->p7 : ({a:{b}}: { a: { b: any; }; }) => void ->({ a: { b } }) => { } : ({a:{b}}: { a: { b: any; }; }) => void +>p7 : ({a: {b}}: { a: { b: any; }; }) => void +>({ a: { b } }) => { } : ({a: {b}}: { a: { b: any; }; }) => void >a : any >b : any @@ -87,8 +87,8 @@ var p8 = ({ a = 1 }) => { }; >1 : number var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; ->p9 : ({a:{b}}: { a?: { b?: number; }; }) => void ->({ a: { b = 1 } = { b: 1 } }) => { } : ({a:{b}}: { a?: { b?: number; }; }) => void +>p9 : ({a: {b}}: { a?: { b?: number; }; }) => void +>({ a: { b = 1 } = { b: 1 } }) => { } : ({a: {b}}: { a?: { b?: number; }; }) => void >a : any >b : number >1 : number diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types index a9a9366ae22..3640d468a59 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types @@ -62,7 +62,7 @@ } function f({} = a, [] = a, { p: {} = a} = a) { ->f : ({}?: any, []?: any, {p:{}}?: any) => ({}?: any, []?: any, {p:{}}?: any) => any +>f : ({}?: any, []?: any, {p: {}}?: any) => ({}?: any, []?: any, {p: {}}?: any) => any >a : any >a : any >p : any @@ -70,7 +70,7 @@ >a : any return ({} = a, [] = a, { p: {} = a } = a) => a; ->({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p:{}}?: any) => any +>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p: {}}?: any) => any >a : any >a : any >p : any diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types index 09e1f0b853b..20b7d5ec2b6 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types @@ -62,7 +62,7 @@ } function f({} = a, [] = a, { p: {} = a} = a) { ->f : ({}?: any, []?: any, {p:{}}?: any) => ({}?: any, []?: any, {p:{}}?: any) => any +>f : ({}?: any, []?: any, {p: {}}?: any) => ({}?: any, []?: any, {p: {}}?: any) => any >a : any >a : any >p : any @@ -70,7 +70,7 @@ >a : any return ({} = a, [] = a, { p: {} = a } = a) => a; ->({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p:{}}?: any) => any +>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, {p: {}}?: any) => any >a : any >a : any >p : any diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types index 323612ffc94..af27c32d15b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types @@ -37,7 +37,7 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >"none" : string function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void >skills : any >primary : any >primaryA : string @@ -53,7 +53,7 @@ function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { >primaryA : string } function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) { ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void >name : any >nameC : string >skills : any @@ -87,12 +87,12 @@ function foo3({ skills }: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void >robotA : Robot foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -105,12 +105,12 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo2(robotA); >foo2(robotA) : void ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void >robotA : Robot foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types index 5d8cbc311ae..1115931feef 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types @@ -37,7 +37,7 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >"none" : string function foo1( ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}?: Robot) => void { skills: { >skills : any @@ -71,7 +71,7 @@ function foo1( >primaryA : string } function foo2( ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}?: Robot) => void { name: nameC = "name", >name : any @@ -132,12 +132,12 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro foo1(robotA); >foo1(robotA) : void ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}?: Robot) => void >robotA : Robot foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo1 : ({skills:{primary:primaryA, secondary:secondaryA}}?: Robot) => void +>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string @@ -150,12 +150,12 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" foo2(robotA); >foo2(robotA) : void ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}?: Robot) => void >robotA : Robot foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }); >foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void ->foo2 : ({name:nameC, skills:{primary:primaryB, secondary:secondaryB}}?: Robot) => void +>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types index 9154ba582d8..6b8f26acf43 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types @@ -29,7 +29,7 @@ var robotA: Robot = { name: "mower", skill: "mowing" }; >"mowing" : string function foo1({ name: nameA }: Robot) { ->foo1 : ({name:nameA}: Robot) => void +>foo1 : ({name: nameA}: Robot) => void >name : any >nameA : string >Robot : Robot @@ -42,7 +42,7 @@ function foo1({ name: nameA }: Robot) { >nameA : string } function foo2({ name: nameB, skill: skillB }: Robot) { ->foo2 : ({name:nameB, skill:skillB}: Robot) => void +>foo2 : ({name: nameB, skill: skillB}: Robot) => void >name : any >nameB : string >skill : any @@ -71,12 +71,12 @@ function foo3({ name }: Robot) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({name:nameA}: Robot) => void +>foo1 : ({name: nameA}: Robot) => void >robotA : Robot foo1({ name: "Edger", skill: "cutting edges" }); >foo1({ name: "Edger", skill: "cutting edges" }) : void ->foo1 : ({name:nameA}: Robot) => void +>foo1 : ({name: nameA}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -85,12 +85,12 @@ foo1({ name: "Edger", skill: "cutting edges" }); foo2(robotA); >foo2(robotA) : void ->foo2 : ({name:nameB, skill:skillB}: Robot) => void +>foo2 : ({name: nameB, skill: skillB}: Robot) => void >robotA : Robot foo2({ name: "Edger", skill: "cutting edges" }); >foo2({ name: "Edger", skill: "cutting edges" }) : void ->foo2 : ({name:nameB, skill:skillB}: Robot) => void +>foo2 : ({name: nameB, skill: skillB}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types index ed7090d4fc8..253c5feae8f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types @@ -29,7 +29,7 @@ var robotA: Robot = { name: "mower", skill: "mowing" }; >"mowing" : string function foo1({ name: nameA = "" }: Robot = { }) { ->foo1 : ({name:nameA}?: Robot) => void +>foo1 : ({name: nameA}?: Robot) => void >name : any >nameA : string >"" : string @@ -44,7 +44,7 @@ function foo1({ name: nameA = "" }: Robot = { }) { >nameA : string } function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = {}) { ->foo2 : ({name:nameB, skill:skillB}?: Robot) => void +>foo2 : ({name: nameB, skill: skillB}?: Robot) => void >name : any >nameB : string >"" : string @@ -78,12 +78,12 @@ function foo3({ name = "" }: Robot = {}) { foo1(robotA); >foo1(robotA) : void ->foo1 : ({name:nameA}?: Robot) => void +>foo1 : ({name: nameA}?: Robot) => void >robotA : Robot foo1({ name: "Edger", skill: "cutting edges" }); >foo1({ name: "Edger", skill: "cutting edges" }) : void ->foo1 : ({name:nameA}?: Robot) => void +>foo1 : ({name: nameA}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string @@ -92,12 +92,12 @@ foo1({ name: "Edger", skill: "cutting edges" }); foo2(robotA); >foo2(robotA) : void ->foo2 : ({name:nameB, skill:skillB}?: Robot) => void +>foo2 : ({name: nameB, skill: skillB}?: Robot) => void >robotA : Robot foo2({ name: "Edger", skill: "cutting edges" }); >foo2({ name: "Edger", skill: "cutting edges" }) : void ->foo2 : ({name:nameB, skill:skillB}?: Robot) => void +>foo2 : ({name: nameB, skill: skillB}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string >"Edger" : string diff --git a/tests/cases/compiler/declarationEmit_bindingPatters.ts b/tests/cases/compiler/declarationEmit_bindingPatterns.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_bindingPatters.ts rename to tests/cases/compiler/declarationEmit_bindingPatterns.ts From 87a00c30f6701aef173dfd602dcc28f2e73cde33 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 25 Feb 2016 13:18:29 -0800 Subject: [PATCH 092/342] Fix linter comments --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7e692dc78b8..1da7dbe9e82 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2221,7 +2221,7 @@ namespace ts { } if (isBindingPattern(bindingElement.name)) { buildBindingPatternDisplay(bindingElement.name, writer, enclosingDeclaration, flags, symbolStack); - } + } else { if (bindingElement.dotDotDotToken) { writePunctuation(writer, SyntaxKind.DotDotDotToken); From e579d17e7e40a13ea21d26370c3724943088278c Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 26 Feb 2016 12:46:24 -0800 Subject: [PATCH 093/342] Revert "spelling fixes for src" on generated dom lib. This reverts commit bb85817d7da071ac0a9ad2eea6deb2633c7ec480. --- src/lib/dom.generated.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index ff95f0553ce..ec71fa78e8d 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -194,7 +194,7 @@ declare var ANGLE_instanced_arrays: { VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number; } -interface AnalyzerNode extends AudioNode { +interface AnalyserNode extends AudioNode { fftSize: number; frequencyBinCount: number; maxDecibels: number; @@ -206,9 +206,9 @@ interface AnalyzerNode extends AudioNode { getFloatTimeDomainData(array: Float32Array): void; } -declare var AnalyzerNode: { - prototype: AnalyzerNode; - new(): AnalyzerNode; +declare var AnalyserNode: { + prototype: AnalyserNode; + new(): AnalyserNode; } interface AnimationEvent extends Event { @@ -322,7 +322,7 @@ interface AudioContext extends EventTarget { listener: AudioListener; sampleRate: number; state: string; - createAnalyzer(): AnalyzerNode; + createAnalyser(): AnalyserNode; createBiquadFilter(): BiquadFilterNode; createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; createBufferSource(): AudioBufferSourceNode; From 28640c8ae16b59ebee58973e8b5eb0a876a65768 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 26 Feb 2016 13:46:36 -0800 Subject: [PATCH 094/342] `checkClassPropertyAccess` in `getTypeForBindingElement` This is probably the wrong place (a get- function rather than a check- function), but it's a starting point since it passes all tests. --- src/compiler/checker.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ebc8d16e6e2..38de2bc6a44 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2607,7 +2607,8 @@ namespace ts { // Return the inferred type for a binding element function getTypeForBindingElement(declaration: BindingElement): Type { const pattern = declaration.parent; - const parentType = getTypeForBindingElementParent(pattern.parent); + const parent = pattern.parent; + const parentType = getTypeForBindingElementParent(parent); // If parent has the unknown (error) type, then so does this binding element if (parentType === unknownType) { return unknownType; @@ -2642,6 +2643,11 @@ namespace ts { error(name, Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), declarationNameToString(name)); return unknownType; } + + const property = getPropertyOfType(parentType, text); + if (parent && parent.initializer && property && getParentOfSymbol(property)) { + checkClassPropertyAccess(parent, parent.initializer, parentType, property); + } } else { // This elementType will be used if the specific property corresponding to this index is not @@ -8971,13 +8977,14 @@ namespace ts { * @param type The type of left. * @param prop The symbol for the right hand side of the property access. */ - function checkClassPropertyAccess(node: PropertyAccessExpression | QualifiedName, left: Expression | QualifiedName, type: Type, prop: Symbol): boolean { + function checkClassPropertyAccess(node: PropertyAccessExpression | QualifiedName | VariableLikeDeclaration, left: Expression | QualifiedName, type: Type, prop: Symbol): boolean { const flags = getDeclarationFlagsFromSymbol(prop); const declaringClass = getDeclaredTypeOfSymbol(getParentOfSymbol(prop)); if (left.kind === SyntaxKind.SuperKeyword) { - const errorNode = node.kind === SyntaxKind.PropertyAccessExpression ? - (node).name : + // TODO: Move this out and use it in the rest of the code + const errorNode = node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.VariableDeclaration ? + (node).name : (node).right; // TS 1.0 spec (April 2014): 4.8.2 From 32909bc6e58adb72f26acf0ceb76e8d7d8ba846e Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 26 Feb 2016 13:48:42 -0800 Subject: [PATCH 095/342] Tests for Stop destructuring assignment of private properties --- ...rsAreNotAccessibleDestructuring.errors.txt | 45 +++++++++++++++ ...tedMembersAreNotAccessibleDestructuring.js | 55 +++++++++++++++++++ ...tedMembersAreNotAccessibleDestructuring.ts | 20 +++++++ 3 files changed, 120 insertions(+) create mode 100644 tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.errors.txt create mode 100644 tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.js create mode 100644 tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts diff --git a/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.errors.txt b/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.errors.txt new file mode 100644 index 00000000000..40568c4fb85 --- /dev/null +++ b/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.errors.txt @@ -0,0 +1,45 @@ +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(12,13): error TS2341: Property 'priv' is private and only accessible within class 'K'. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(17,5): error TS2341: Property 'priv' is private and only accessible within class 'K'. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(18,5): error TS2445: Property 'prot' is protected and only accessible within class 'K' and its subclasses. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(19,5): error TS2341: Property 'privateMethod' is private and only accessible within class 'K'. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(20,5): error TS2341: Property 'priv' is private and only accessible within class 'K'. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(20,5): error TS2341: Property 'privateMethod' is private and only accessible within class 'K'. +tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts(20,5): error TS2445: Property 'prot' is protected and only accessible within class 'K' and its subclasses. + + +==== tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts (7 errors) ==== + class K { + private priv; + protected prot; + private privateMethod() { } + m() { + let { priv: a, prot: b } = this; // ok + let { priv, prot } = new K(); // ok + } + } + class C extends K { + m2() { + let { priv: a } = this; // error + ~~~~~~~~~~~ +!!! error TS2341: Property 'priv' is private and only accessible within class 'K'. + let { prot: b } = this; // ok + } + } + let k = new K(); + let { priv } = k; // error + ~~~~~~~~ +!!! error TS2341: Property 'priv' is private and only accessible within class 'K'. + let { prot } = k; // error + ~~~~~~~~ +!!! error TS2445: Property 'prot' is protected and only accessible within class 'K' and its subclasses. + let { privateMethod } = k; // error + ~~~~~~~~~~~~~~~~~ +!!! error TS2341: Property 'privateMethod' is private and only accessible within class 'K'. + let { priv: a, prot: b, privateMethod: f } = k; // error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2341: Property 'priv' is private and only accessible within class 'K'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2341: Property 'privateMethod' is private and only accessible within class 'K'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2445: Property 'prot' is protected and only accessible within class 'K' and its subclasses. + \ No newline at end of file diff --git a/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.js b/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.js new file mode 100644 index 00000000000..058a6ba1b65 --- /dev/null +++ b/tests/baselines/reference/privateProtectedMembersAreNotAccessibleDestructuring.js @@ -0,0 +1,55 @@ +//// [privateProtectedMembersAreNotAccessibleDestructuring.ts] +class K { + private priv; + protected prot; + private privateMethod() { } + m() { + let { priv: a, prot: b } = this; // ok + let { priv, prot } = new K(); // ok + } +} +class C extends K { + m2() { + let { priv: a } = this; // error + let { prot: b } = this; // ok + } +} +let k = new K(); +let { priv } = k; // error +let { prot } = k; // error +let { privateMethod } = k; // error +let { priv: a, prot: b, privateMethod: f } = k; // error + + +//// [privateProtectedMembersAreNotAccessibleDestructuring.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var K = (function () { + function K() { + } + K.prototype.privateMethod = function () { }; + K.prototype.m = function () { + var _a = this, a = _a.priv, b = _a.prot; // ok + var _b = new K(), priv = _b.priv, prot = _b.prot; // ok + }; + return K; +}()); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + C.prototype.m2 = function () { + var a = this.priv; // error + var b = this.prot; // ok + }; + return C; +}(K)); +var k = new K(); +var priv = k.priv; // error +var prot = k.prot; // error +var privateMethod = k.privateMethod; // error +var a = k.priv, b = k.prot, f = k.privateMethod; // error diff --git a/tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts b/tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts new file mode 100644 index 00000000000..4473756d98d --- /dev/null +++ b/tests/cases/conformance/classes/members/accessibility/privateProtectedMembersAreNotAccessibleDestructuring.ts @@ -0,0 +1,20 @@ +class K { + private priv; + protected prot; + private privateMethod() { } + m() { + let { priv: a, prot: b } = this; // ok + let { priv, prot } = new K(); // ok + } +} +class C extends K { + m2() { + let { priv: a } = this; // error + let { prot: b } = this; // ok + } +} +let k = new K(); +let { priv } = k; // error +let { prot } = k; // error +let { privateMethod } = k; // error +let { priv: a, prot: b, privateMethod: f } = k; // error From a1c0486c574c0229b5352147759c7c2902e81558 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 26 Feb 2016 14:02:26 -0800 Subject: [PATCH 096/342] Use errorNode everywhere in `checkClassPropertyAccess` --- src/compiler/checker.ts | 15 ++-- ...unctionUsingClassPrivateStatics.errors.txt | 4 +- ...structorParametersAccessibility.errors.txt | 8 +- ...tructorParametersAccessibility2.errors.txt | 8 +- .../classPropertyAsPrivate.errors.txt | 32 +++---- .../classPropertyAsProtected.errors.txt | 32 +++---- .../classWithPrivateProperty.errors.txt | 32 +++---- .../reference/cloduleStaticMembers.errors.txt | 4 +- .../constructorParameterProperties.errors.txt | 16 ++-- .../derivedClassTransitivity4.errors.txt | 4 +- ...vateStaticShadowingPublicStatic.errors.txt | 16 ++-- .../errorSuperPropertyAccess.errors.txt | 12 +-- ...faceExtendingClassWithPrivates2.errors.txt | 4 +- ...rfaceExtendingClassWithPrivates.errors.txt | 4 +- ...faceExtendingClassWithPrivates2.errors.txt | 8 +- ...aceExtendingClassWithProtecteds.errors.txt | 4 +- ...ceExtendingClassWithProtecteds2.errors.txt | 8 +- ...erFunctionsWithPrivateOverloads.errors.txt | 16 ++-- ...tionsWithPublicPrivateOverloads.errors.txt | 8 +- ...InterfacesWithInheritedPrivates.errors.txt | 4 +- ...nterfacesWithInheritedPrivates2.errors.txt | 8 +- .../privateAccessInSubclass1.errors.txt | 4 +- ...rivateStaticMemberAccessibility.errors.txt | 8 +- ...ateStaticNotAccessibleInClodule.errors.txt | 4 +- ...teStaticNotAccessibleInClodule2.errors.txt | 4 +- .../reference/privateVisibility.errors.txt | 12 +-- .../propertyAccessibility1.errors.txt | 4 +- .../propertyAccessibility2.errors.txt | 4 +- ...opertyAccessibleWithinSubclass2.errors.txt | 84 +++++++++---------- ...ctedInstanceMemberAccessibility.errors.txt | 20 ++--- .../reference/protectedMembers.errors.txt | 40 ++++----- ...ropertyAccessibleWithinSubclass.errors.txt | 28 +++---- ...tedStaticNotAccessibleInClodule.errors.txt | 4 +- .../reference/superPropertyAccess.errors.txt | 4 +- .../unionTypePropertyAccessibility.errors.txt | 8 +- 35 files changed, 236 insertions(+), 239 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 38de2bc6a44..64c21c0b638 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8980,13 +8980,10 @@ namespace ts { function checkClassPropertyAccess(node: PropertyAccessExpression | QualifiedName | VariableLikeDeclaration, left: Expression | QualifiedName, type: Type, prop: Symbol): boolean { const flags = getDeclarationFlagsFromSymbol(prop); const declaringClass = getDeclaredTypeOfSymbol(getParentOfSymbol(prop)); - + const errorNode = node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.VariableDeclaration ? + (node).name : + (node).right; if (left.kind === SyntaxKind.SuperKeyword) { - // TODO: Move this out and use it in the rest of the code - const errorNode = node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.VariableDeclaration ? - (node).name : - (node).right; - // TS 1.0 spec (April 2014): 4.8.2 // - In a constructor, instance member function, instance member accessor, or // instance member variable initializer where this references a derived class instance, @@ -9027,7 +9024,7 @@ namespace ts { // Private property is accessible if declaring and enclosing class are the same if (flags & NodeFlags.Private) { if (declaringClass !== enclosingClass) { - error(node, Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(declaringClass)); + error(errorNode, Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(declaringClass)); return false; } return true; @@ -9041,7 +9038,7 @@ namespace ts { } // A protected property is accessible in the declaring class and classes derived from it if (!enclosingClass || !hasBaseType(enclosingClass, declaringClass)) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); + error(errorNode, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); return false; } // No further restrictions for static properties @@ -9056,7 +9053,7 @@ namespace ts { // TODO: why is the first part of this check here? if (!(getTargetType(type).flags & (TypeFlags.Class | TypeFlags.Interface) && hasBaseType(type, enclosingClass))) { - error(node, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); + error(errorNode, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); return false; } return true; diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.errors.txt b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.errors.txt index 3feee7069d0..d2847665c7c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.errors.txt +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.ts(11,16): error TS2341: Property 'sfn' is private and only accessible within class 'clodule'. +tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.ts(11,24): error TS2341: Property 'sfn' is private and only accessible within class 'clodule'. ==== tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.ts (1 errors) ==== @@ -13,7 +13,7 @@ tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMer // error: duplicate identifier expected export function fn(x: T, y: T): number { return clodule.sfn('a'); - ~~~~~~~~~~~ + ~~~ !!! error TS2341: Property 'sfn' is private and only accessible within class 'clodule'. } } diff --git a/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt b/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt index 029c3fae018..97b8655ab87 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt +++ b/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts(12,1): error TS2341: Property 'p' is private and only accessible within class 'C2'. -tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts(19,1): error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. +tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts(12,4): error TS2341: Property 'p' is private and only accessible within class 'C2'. +tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts(19,4): error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. ==== tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts (2 errors) ==== @@ -15,7 +15,7 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorParamete } var c2: C2; c2.p // private, error - ~~~~ + ~ !!! error TS2341: Property 'p' is private and only accessible within class 'C2'. @@ -24,7 +24,7 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorParamete } var c3: C3; c3.p // protected, error - ~~~~ + ~ !!! error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. class Derived extends C3 { constructor(p: number) { diff --git a/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt b/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt index 7c95a35e1da..2a27d24b280 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt +++ b/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts(12,1): error TS2341: Property 'p' is private and only accessible within class 'C2'. -tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts(19,1): error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. +tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts(12,4): error TS2341: Property 'p' is private and only accessible within class 'C2'. +tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts(19,4): error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. ==== tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts (2 errors) ==== @@ -15,7 +15,7 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorParamete } var c2: C2; c2.p // private, error - ~~~~ + ~ !!! error TS2341: Property 'p' is private and only accessible within class 'C2'. @@ -24,7 +24,7 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorParamete } var c3: C3; c3.p // protected, error - ~~~~ + ~ !!! error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. class Derived extends C3 { constructor(p: number) { diff --git a/tests/baselines/reference/classPropertyAsPrivate.errors.txt b/tests/baselines/reference/classPropertyAsPrivate.errors.txt index a5fdffe091a..4cc38cb049f 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.errors.txt +++ b/tests/baselines/reference/classPropertyAsPrivate.errors.txt @@ -2,14 +2,14 @@ tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts( tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(4,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(8,24): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(9,24): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(15,1): error TS2341: Property 'x' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(16,1): error TS2341: Property 'y' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(17,1): error TS2341: Property 'y' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(18,1): error TS2341: Property 'foo' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(20,1): error TS2341: Property 'a' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(21,1): error TS2341: Property 'b' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(22,1): error TS2341: Property 'b' is private and only accessible within class 'C'. -tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(23,1): error TS2341: Property 'foo' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(15,3): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(16,3): error TS2341: Property 'y' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(17,3): error TS2341: Property 'y' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(18,3): error TS2341: Property 'foo' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(20,3): error TS2341: Property 'a' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(21,3): error TS2341: Property 'b' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(22,3): error TS2341: Property 'b' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts(23,3): error TS2341: Property 'foo' is private and only accessible within class 'C'. ==== tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts (12 errors) ==== @@ -36,27 +36,27 @@ tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts( var c: C; // all errors c.x; - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. c.y; - ~~~ + ~ !!! error TS2341: Property 'y' is private and only accessible within class 'C'. c.y = 1; - ~~~ + ~ !!! error TS2341: Property 'y' is private and only accessible within class 'C'. c.foo(); - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. C.a; - ~~~ + ~ !!! error TS2341: Property 'a' is private and only accessible within class 'C'. C.b(); - ~~~ + ~ !!! error TS2341: Property 'b' is private and only accessible within class 'C'. C.b = 1; - ~~~ + ~ !!! error TS2341: Property 'b' is private and only accessible within class 'C'. C.foo(); - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/classPropertyAsProtected.errors.txt b/tests/baselines/reference/classPropertyAsProtected.errors.txt index 570ebc718ac..acfba42f9e3 100644 --- a/tests/baselines/reference/classPropertyAsProtected.errors.txt +++ b/tests/baselines/reference/classPropertyAsProtected.errors.txt @@ -2,14 +2,14 @@ tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.t tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(4,19): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(8,26): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(9,26): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(15,1): error TS2445: Property 'x' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(16,1): error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(17,1): error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(18,1): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(20,1): error TS2445: Property 'a' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(21,1): error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(22,1): error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(23,1): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(15,3): error TS2445: Property 'x' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(16,3): error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(17,3): error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(18,3): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(20,3): error TS2445: Property 'a' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(21,3): error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(22,3): error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts(23,3): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. ==== tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts (12 errors) ==== @@ -36,27 +36,27 @@ tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.t var c: C; // all errors c.x; - ~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'C' and its subclasses. c.y; - ~~~ + ~ !!! error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. c.y = 1; - ~~~ + ~ !!! error TS2445: Property 'y' is protected and only accessible within class 'C' and its subclasses. c.foo(); - ~~~~~ + ~~~ !!! error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. C.a; - ~~~ + ~ !!! error TS2445: Property 'a' is protected and only accessible within class 'C' and its subclasses. C.b(); - ~~~ + ~ !!! error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. C.b = 1; - ~~~ + ~ !!! error TS2445: Property 'b' is protected and only accessible within class 'C' and its subclasses. C.foo(); - ~~~~~ + ~~~ !!! error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/classWithPrivateProperty.errors.txt b/tests/baselines/reference/classWithPrivateProperty.errors.txt index 93a94e21075..359e5972250 100644 --- a/tests/baselines/reference/classWithPrivateProperty.errors.txt +++ b/tests/baselines/reference/classWithPrivateProperty.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/types/members/classWithPrivateProperty.ts(15,18): error TS2341: Property 'x' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(16,18): error TS2341: Property 'a' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(17,18): error TS2341: Property 'b' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(18,18): error TS2341: Property 'c' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(19,18): error TS2341: Property 'd' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(20,18): error TS2341: Property 'e' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(21,18): error TS2341: Property 'f' is private and only accessible within class 'C'. -tests/cases/conformance/types/members/classWithPrivateProperty.ts(22,18): error TS2341: Property 'g' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(15,20): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(16,20): error TS2341: Property 'a' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(17,20): error TS2341: Property 'b' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(18,20): error TS2341: Property 'c' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(19,20): error TS2341: Property 'd' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(20,20): error TS2341: Property 'e' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(21,20): error TS2341: Property 'f' is private and only accessible within class 'C'. +tests/cases/conformance/types/members/classWithPrivateProperty.ts(22,20): error TS2341: Property 'g' is private and only accessible within class 'C'. ==== tests/cases/conformance/types/members/classWithPrivateProperty.ts (8 errors) ==== @@ -24,26 +24,26 @@ tests/cases/conformance/types/members/classWithPrivateProperty.ts(22,18): error var c = new C(); var r1: string = c.x; - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. var r2: string = c.a; - ~~~ + ~ !!! error TS2341: Property 'a' is private and only accessible within class 'C'. var r3: string = c.b; - ~~~ + ~ !!! error TS2341: Property 'b' is private and only accessible within class 'C'. var r4: string = c.c(); - ~~~ + ~ !!! error TS2341: Property 'c' is private and only accessible within class 'C'. var r5: string = c.d(); - ~~~ + ~ !!! error TS2341: Property 'd' is private and only accessible within class 'C'. var r6: string = C.e; - ~~~ + ~ !!! error TS2341: Property 'e' is private and only accessible within class 'C'. var r7: string = C.f(); - ~~~ + ~ !!! error TS2341: Property 'f' is private and only accessible within class 'C'. var r8: string = C.g(); - ~~~ + ~ !!! error TS2341: Property 'g' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/cloduleStaticMembers.errors.txt b/tests/baselines/reference/cloduleStaticMembers.errors.txt index 914fea72424..a8fe560bac7 100644 --- a/tests/baselines/reference/cloduleStaticMembers.errors.txt +++ b/tests/baselines/reference/cloduleStaticMembers.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/cloduleStaticMembers.ts(6,13): error TS2341: Property 'x' is private and only accessible within class 'Clod'. +tests/cases/compiler/cloduleStaticMembers.ts(6,18): error TS2341: Property 'x' is private and only accessible within class 'Clod'. tests/cases/compiler/cloduleStaticMembers.ts(7,13): error TS2304: Cannot find name 'x'. tests/cases/compiler/cloduleStaticMembers.ts(10,13): error TS2304: Cannot find name 'y'. @@ -10,7 +10,7 @@ tests/cases/compiler/cloduleStaticMembers.ts(10,13): error TS2304: Cannot find n } module Clod { var p = Clod.x; - ~~~~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'Clod'. var q = x; ~ diff --git a/tests/baselines/reference/constructorParameterProperties.errors.txt b/tests/baselines/reference/constructorParameterProperties.errors.txt index ab9bebe9d2d..2bc8aaad02b 100644 --- a/tests/baselines/reference/constructorParameterProperties.errors.txt +++ b/tests/baselines/reference/constructorParameterProperties.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(8,10): error TS2341: Property 'x' is private and only accessible within class 'C'. -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(9,10): error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(18,10): error TS2341: Property 'x' is private and only accessible within class 'D'. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(8,12): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(9,12): error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(18,12): error TS2341: Property 'x' is private and only accessible within class 'D'. tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(19,12): error TS2339: Property 'a' does not exist on type 'D'. -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(20,10): error TS2445: Property 'z' is protected and only accessible within class 'D' and its subclasses. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts(20,12): error TS2445: Property 'z' is protected and only accessible within class 'D' and its subclasses. ==== tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts (5 errors) ==== @@ -14,10 +14,10 @@ tests/cases/conformance/classes/constructorDeclarations/constructorParameters/co var c: C; var r = c.y; var r2 = c.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. var r3 = c.z; // error - ~~~ + ~ !!! error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. class D { @@ -28,12 +28,12 @@ tests/cases/conformance/classes/constructorDeclarations/constructorParameters/co var d: D; var r = d.y; var r2 = d.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'D'. var r3 = d.a; // error ~ !!! error TS2339: Property 'a' does not exist on type 'D'. var r4 = d.z; // error - ~~~ + ~ !!! error TS2445: Property 'z' is protected and only accessible within class 'D' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassTransitivity4.errors.txt b/tests/baselines/reference/derivedClassTransitivity4.errors.txt index c1a80e0a1d7..3b8c661f41a 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity4.errors.txt @@ -3,7 +3,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra Type '(x?: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. Type 'string' is not assignable to type 'number'. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts(19,9): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts(19,11): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. ==== tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts (2 errors) ==== @@ -32,6 +32,6 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var r = c.foo(1); - ~~~~~ + ~~~ !!! error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. var r2 = e.foo(''); \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.errors.txt b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.errors.txt index 2e5d6f57c86..88ec9eb44a8 100644 --- a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.errors.txt +++ b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.errors.txt @@ -4,10 +4,10 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWit Property 'x' is private in type 'typeof Derived' but not in type 'typeof Base'. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(19,24): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(20,24): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(24,10): error TS2341: Property 'x' is private and only accessible within class 'Derived'. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(27,10): error TS2341: Property 'fn' is private and only accessible within class 'Derived'. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(32,10): error TS2341: Property 'a' is private and only accessible within class 'Derived'. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(33,1): error TS2341: Property 'a' is private and only accessible within class 'Derived'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(24,18): error TS2341: Property 'x' is private and only accessible within class 'Derived'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(27,18): error TS2341: Property 'fn' is private and only accessible within class 'Derived'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(32,18): error TS2341: Property 'a' is private and only accessible within class 'Derived'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts(33,9): error TS2341: Property 'a' is private and only accessible within class 'Derived'. ==== tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts (9 errors) ==== @@ -46,20 +46,20 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWit var r = Base.x; // ok var r2 = Derived.x; // error - ~~~~~~~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'Derived'. var r3 = Base.fn(); // ok var r4 = Derived.fn(); // error - ~~~~~~~~~~ + ~~ !!! error TS2341: Property 'fn' is private and only accessible within class 'Derived'. var r5 = Base.a; // ok Base.a = 2; // ok var r6 = Derived.a; // error - ~~~~~~~~~ + ~ !!! error TS2341: Property 'a' is private and only accessible within class 'Derived'. Derived.a = 2; // error - ~~~~~~~~~ + ~ !!! error TS2341: Property 'a' is private and only accessible within class 'Derived'. \ No newline at end of file diff --git a/tests/baselines/reference/errorSuperPropertyAccess.errors.txt b/tests/baselines/reference/errorSuperPropertyAccess.errors.txt index c54ace99f17..7fd6e467eaf 100644 --- a/tests/baselines/reference/errorSuperPropertyAccess.errors.txt +++ b/tests/baselines/reference/errorSuperPropertyAccess.errors.txt @@ -25,15 +25,15 @@ tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(99,19): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(109,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(110,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. -tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(111,9): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. +tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(111,15): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(113,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(114,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(115,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. -tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(116,9): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. +tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(116,15): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(119,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(120,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(121,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. -tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(122,9): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. +tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(122,15): error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(127,16): error TS2660: 'super' can only be referenced in members of derived classes or object literal expressions. tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts(127,30): error TS2660: 'super' can only be referenced in members of derived classes or object literal expressions. @@ -204,7 +204,7 @@ tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess ~~~~~~~~~~~~~~~~~~~ !!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. super.privateStaticFunc(); - ~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ !!! error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. } static get a() { @@ -217,7 +217,7 @@ tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess ~~~~~~~~~~~~~~~~~~~ !!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. super.privateStaticFunc(); - ~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ !!! error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. return ''; } @@ -231,7 +231,7 @@ tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess ~~~~~~~~~~~~~~~~~~~ !!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. super.privateStaticFunc(); - ~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ !!! error TS2341: Property 'privateStaticFunc' is private and only accessible within class 'SomeBase'. } } diff --git a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt index c6c0be3896c..ec5c1eba68c 100644 --- a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt +++ b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInte Property 'z' is missing in type 'Bar3'. tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts(67,11): error TS2420: Class 'Bar' incorrectly implements interface 'I'. Property 'y' is missing in type 'Bar'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts(73,14): error TS2341: Property 'x' is private and only accessible within class 'Foo'. +tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts(73,16): error TS2341: Property 'x' is private and only accessible within class 'Foo'. tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts(74,16): error TS2339: Property 'y' does not exist on type 'Bar'. tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts(76,11): error TS2415: Class 'Bar2' incorrectly extends base class 'Foo'. Property 'x' is private in type 'Foo' but not in type 'Bar2'. @@ -129,7 +129,7 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInte var b: Bar; var r1 = b.z; var r2 = b.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'Foo'. var r3 = b.y; // error ~ diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt index d80df216c79..13e4c3b6e86 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts(5,11): error TS2430: Interface 'I' incorrectly extends interface 'Foo'. Property 'x' is private in type 'Foo' but not in type 'I'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts(15,10): error TS2341: Property 'x' is private and only accessible within class 'Foo'. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts(15,12): error TS2341: Property 'x' is private and only accessible within class 'Foo'. ==== tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts (2 errors) ==== @@ -22,5 +22,5 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending var i: I2; var r = i.y; var r2 = i.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'Foo'. \ No newline at end of file diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt index 7850c10fe26..ea0e50af058 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt @@ -4,8 +4,8 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending Property 'x' is private in type 'Bar' but not in type 'I4'. tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts(12,11): error TS2430: Interface 'I4' incorrectly extends interface 'Foo'. Property 'x' is private in type 'Foo' but not in type 'I4'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts(26,10): error TS2341: Property 'x' is private and only accessible within class 'Foo'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts(27,10): error TS2341: Property 'y' is private and only accessible within class 'Baz'. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts(26,12): error TS2341: Property 'x' is private and only accessible within class 'Foo'. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts(27,12): error TS2341: Property 'y' is private and only accessible within class 'Baz'. ==== tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts (5 errors) ==== @@ -44,8 +44,8 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending var i: I5; var r: string = i.z; var r2 = i.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'Foo'. var r3 = i.y; // error - ~~~ + ~ !!! error TS2341: Property 'y' is private and only accessible within class 'Baz'. \ No newline at end of file diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt index 05651c92976..eb5eb371c01 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts(5,11): error TS2430: Interface 'I' incorrectly extends interface 'Foo'. Property 'x' is protected but type 'I' is not a class derived from 'Foo'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts(15,10): error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts(15,12): error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. ==== tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts (2 errors) ==== @@ -22,5 +22,5 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending var i: I2; var r = i.y; var r2 = i.x; // error - ~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt index 48e3b7d7e6c..a957482362c 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt @@ -4,8 +4,8 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending Property 'x' is protected but type 'I4' is not a class derived from 'Bar'. tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts(12,11): error TS2430: Interface 'I4' incorrectly extends interface 'Foo'. Property 'x' is protected but type 'I4' is not a class derived from 'Foo'. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts(26,10): error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. -tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts(27,10): error TS2445: Property 'y' is protected and only accessible within class 'Baz' and its subclasses. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts(26,12): error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. +tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts(27,12): error TS2445: Property 'y' is protected and only accessible within class 'Baz' and its subclasses. ==== tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts (5 errors) ==== @@ -44,8 +44,8 @@ tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtending var i: I5; var r: string = i.z; var r2 = i.x; // error - ~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Foo' and its subclasses. var r3 = i.y; // error - ~~~ + ~ !!! error TS2445: Property 'y' is protected and only accessible within class 'Baz' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt index d6c3d4a659c..97ac52a293d 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(43,9): error TS2341: Property 'foo' is private and only accessible within class 'C'. -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(46,10): error TS2341: Property 'foo' is private and only accessible within class 'D'. -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(48,10): error TS2341: Property 'foo' is private and only accessible within class 'C'. -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(49,10): error TS2341: Property 'bar' is private and only accessible within class 'D'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(43,11): error TS2341: Property 'foo' is private and only accessible within class 'C'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(46,12): error TS2341: Property 'foo' is private and only accessible within class 'D'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(48,12): error TS2341: Property 'foo' is private and only accessible within class 'C'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(49,12): error TS2341: Property 'bar' is private and only accessible within class 'D'. ==== tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts (4 errors) ==== @@ -48,17 +48,17 @@ tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclara var c: C; var r = c.foo(1); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. var d: D; var r2 = d.foo(2); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'D'. var r3 = C.foo(1); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. var r4 = D.bar(''); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'bar' is private and only accessible within class 'D'. \ No newline at end of file diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt index 64d2f3d3059..16825f02c22 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt @@ -11,8 +11,8 @@ tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclara tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(45,19): error TS2385: Overload signatures must all be public, private or protected. tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(49,19): error TS2385: Overload signatures must all be public, private or protected. tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(53,19): error TS2385: Overload signatures must all be public, private or protected. -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(59,9): error TS2341: Property 'foo' is private and only accessible within class 'C'. -tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(62,10): error TS2341: Property 'foo' is private and only accessible within class 'D'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(59,11): error TS2341: Property 'foo' is private and only accessible within class 'C'. +tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts(62,12): error TS2341: Property 'foo' is private and only accessible within class 'D'. ==== tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts (15 errors) ==== @@ -101,10 +101,10 @@ tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclara var c: C; var r = c.foo(1); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. var d: D; var r2 = d.foo(2); // error - ~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'D'. \ No newline at end of file diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt index 92d4cb17e72..3bd351ed003 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheri Types have separate declarations of a private property 'x'. tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts(19,7): error TS2420: Class 'E' incorrectly implements interface 'A'. Property 'x' is private in type 'A' but not in type 'E'. -tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts(26,9): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts(26,11): error TS2341: Property 'x' is private and only accessible within class 'C'. ==== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts (3 errors) ==== @@ -38,5 +38,5 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheri var a: A; var r = a.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt index 8fc1f0fe819..eaf516146f4 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt @@ -4,8 +4,8 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheri Property 'w' is private in type 'C2' but not in type 'E'. tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts(23,7): error TS2420: Class 'E' incorrectly implements interface 'A'. Property 'x' is missing in type 'E'. -tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts(30,9): error TS2341: Property 'x' is private and only accessible within class 'C'. -tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts(31,10): error TS2341: Property 'w' is private and only accessible within class 'C2'. +tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts(30,11): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts(31,12): error TS2341: Property 'w' is private and only accessible within class 'C2'. ==== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts (5 errors) ==== @@ -48,8 +48,8 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheri var a: A; var r = a.x; // error - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. var r2 = a.w; // error - ~~~ + ~ !!! error TS2341: Property 'w' is private and only accessible within class 'C2'. \ No newline at end of file diff --git a/tests/baselines/reference/privateAccessInSubclass1.errors.txt b/tests/baselines/reference/privateAccessInSubclass1.errors.txt index 5ffb876a728..6464a2f6d78 100644 --- a/tests/baselines/reference/privateAccessInSubclass1.errors.txt +++ b/tests/baselines/reference/privateAccessInSubclass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/privateAccessInSubclass1.ts(7,5): error TS2341: Property 'options' is private and only accessible within class 'Base'. +tests/cases/compiler/privateAccessInSubclass1.ts(7,10): error TS2341: Property 'options' is private and only accessible within class 'Base'. ==== tests/cases/compiler/privateAccessInSubclass1.ts (1 errors) ==== @@ -9,7 +9,7 @@ tests/cases/compiler/privateAccessInSubclass1.ts(7,5): error TS2341: Property 'o class D extends Base { myMethod() { this.options; - ~~~~~~~~~~~~ + ~~~~~~~ !!! error TS2341: Property 'options' is private and only accessible within class 'Base'. } } \ No newline at end of file diff --git a/tests/baselines/reference/privateStaticMemberAccessibility.errors.txt b/tests/baselines/reference/privateStaticMemberAccessibility.errors.txt index 4ec16f02045..4c6b8328f75 100644 --- a/tests/baselines/reference/privateStaticMemberAccessibility.errors.txt +++ b/tests/baselines/reference/privateStaticMemberAccessibility.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts(6,18): error TS2341: Property 'foo' is private and only accessible within class 'Base'. -tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts(7,18): error TS2341: Property 'foo' is private and only accessible within class 'Base'. +tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts(6,23): error TS2341: Property 'foo' is private and only accessible within class 'Base'. +tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts(7,23): error TS2341: Property 'foo' is private and only accessible within class 'Base'. ==== tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts (2 errors) ==== @@ -9,9 +9,9 @@ tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessi class Derived extends Base { static bar = Base.foo; // error - ~~~~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'Base'. bing = () => Base.foo; // error - ~~~~~~~~ + ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'Base'. } \ No newline at end of file diff --git a/tests/baselines/reference/privateStaticNotAccessibleInClodule.errors.txt b/tests/baselines/reference/privateStaticNotAccessibleInClodule.errors.txt index a5834b6cd0f..a5fd1d76400 100644 --- a/tests/baselines/reference/privateStaticNotAccessibleInClodule.errors.txt +++ b/tests/baselines/reference/privateStaticNotAccessibleInClodule.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule.ts(9,20): error TS2341: Property 'bar' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule.ts(9,22): error TS2341: Property 'bar' is private and only accessible within class 'C'. ==== tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule.ts (1 errors) ==== @@ -11,6 +11,6 @@ tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessible module C { export var y = C.bar; // error - ~~~~~ + ~~~ !!! error TS2341: Property 'bar' is private and only accessible within class 'C'. } \ No newline at end of file diff --git a/tests/baselines/reference/privateStaticNotAccessibleInClodule2.errors.txt b/tests/baselines/reference/privateStaticNotAccessibleInClodule2.errors.txt index 950649ee4b2..2d0534b02c7 100644 --- a/tests/baselines/reference/privateStaticNotAccessibleInClodule2.errors.txt +++ b/tests/baselines/reference/privateStaticNotAccessibleInClodule2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule2.ts(13,20): error TS2341: Property 'bar' is private and only accessible within class 'C'. +tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule2.ts(13,22): error TS2341: Property 'bar' is private and only accessible within class 'C'. ==== tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule2.ts (1 errors) ==== @@ -15,6 +15,6 @@ tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessible module D { export var y = D.bar; // error - ~~~~~ + ~~~ !!! error TS2341: Property 'bar' is private and only accessible within class 'C'. } \ No newline at end of file diff --git a/tests/baselines/reference/privateVisibility.errors.txt b/tests/baselines/reference/privateVisibility.errors.txt index 88784706f43..fc4889f82a9 100644 --- a/tests/baselines/reference/privateVisibility.errors.txt +++ b/tests/baselines/reference/privateVisibility.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/privateVisibility.ts(9,1): error TS2341: Property 'privMeth' is private and only accessible within class 'Foo'. -tests/cases/compiler/privateVisibility.ts(10,1): error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. -tests/cases/compiler/privateVisibility.ts(24,1): error TS2341: Property 'priv' is private and only accessible within class 'C'. +tests/cases/compiler/privateVisibility.ts(9,3): error TS2341: Property 'privMeth' is private and only accessible within class 'Foo'. +tests/cases/compiler/privateVisibility.ts(10,3): error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. +tests/cases/compiler/privateVisibility.ts(24,3): error TS2341: Property 'priv' is private and only accessible within class 'C'. ==== tests/cases/compiler/privateVisibility.ts (3 errors) ==== @@ -13,10 +13,10 @@ tests/cases/compiler/privateVisibility.ts(24,1): error TS2341: Property 'priv' i var f = new Foo(); f.privMeth(); // should not work - ~~~~~~~~~~ + ~~~~~~~~ !!! error TS2341: Property 'privMeth' is private and only accessible within class 'Foo'. f.privProp; // should not work - ~~~~~~~~~~ + ~~~~~~~~ !!! error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. f.pubMeth(); // should work @@ -32,7 +32,7 @@ tests/cases/compiler/privateVisibility.ts(24,1): error TS2341: Property 'priv' i c.pub; // should work c.priv; // should not work - ~~~~~~ + ~~~~ !!! error TS2341: Property 'priv' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccessibility1.errors.txt b/tests/baselines/reference/propertyAccessibility1.errors.txt index 2caf251b2a5..fb1b0bbf0f6 100644 --- a/tests/baselines/reference/propertyAccessibility1.errors.txt +++ b/tests/baselines/reference/propertyAccessibility1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/propertyAccessibility1.ts(5,1): error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. +tests/cases/compiler/propertyAccessibility1.ts(5,3): error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. ==== tests/cases/compiler/propertyAccessibility1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/propertyAccessibility1.ts(5,1): error TS2341: Property 'pri } var f = new Foo(); f.privProp; - ~~~~~~~~~~ + ~~~~~~~~ !!! error TS2341: Property 'privProp' is private and only accessible within class 'Foo'. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccessibility2.errors.txt b/tests/baselines/reference/propertyAccessibility2.errors.txt index 7eb81d45ed4..4e958b8d72b 100644 --- a/tests/baselines/reference/propertyAccessibility2.errors.txt +++ b/tests/baselines/reference/propertyAccessibility2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/propertyAccessibility2.ts(4,9): error TS2341: Property 'x' is private and only accessible within class 'C'. +tests/cases/compiler/propertyAccessibility2.ts(4,11): error TS2341: Property 'x' is private and only accessible within class 'C'. ==== tests/cases/compiler/propertyAccessibility2.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/propertyAccessibility2.ts(4,9): error TS2341: Property 'x' private static x = 1; } var c = C.x; - ~~~ + ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt index 289ecdcb9fe..996d62c1652 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt @@ -1,24 +1,24 @@ -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(13,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(26,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(28,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(29,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(30,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(42,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(43,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(45,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(59,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(60,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(61,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(63,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(75,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(76,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(77,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(78,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(90,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(91,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(92,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(93,1): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(94,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(13,12): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(26,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(28,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(29,12): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(30,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(42,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(43,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(45,12): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(59,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(60,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(61,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(63,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(75,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(76,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(77,12): error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(78,12): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(90,3): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(91,4): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(92,4): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(93,4): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. ==== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts (21 errors) ==== @@ -35,7 +35,7 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce d1.x; // OK, accessed within their declaring class d2.x; // OK, accessed within their declaring class d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. d4.x; // OK, accessed within their declaring class } @@ -50,17 +50,17 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce var d4: Derived4; b.x; // Error, isn't accessed through an instance of the enclosing class - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. d4.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived1'. } } @@ -74,14 +74,14 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce var d4: Derived4; b.x; // Error, isn't accessed through an instance of the enclosing class - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. d1.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived2'. d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class or one of its subclasses } @@ -97,17 +97,17 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce var d4: Derived4; b.x; // Error, isn't accessed through an instance of the enclosing class - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. d1.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. d2.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. d3.x; // OK, accessed within their declaring class d4.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived3'. } } @@ -121,16 +121,16 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce var d4: Derived4; b.x; // Error, isn't accessed through an instance of the enclosing class - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. d1.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. d2.x; // Error, isn't accessed through an instance of the enclosing class - ~~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'Derived4'. d3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. d4.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class } @@ -144,17 +144,17 @@ tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAcce var d4: Derived4; b.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. d1.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. d2.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. d3.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. d4.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt b/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt index 4b950c70019..fc2ee300c9a 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt @@ -2,15 +2,15 @@ tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAcc tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(16,24): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(18,24): error TS2339: Property 'y' does not exist on type 'A'. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(19,24): error TS2339: Property 'z' does not exist on type 'A'. -tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(22,18): error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. -tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(23,18): error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. +tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(22,20): error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. +tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(23,20): error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(24,20): error TS2339: Property 'y' does not exist on type 'A'. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(25,20): error TS2339: Property 'z' does not exist on type 'A'. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(31,20): error TS2339: Property 'z' does not exist on type 'B'. -tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(34,18): error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. -tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(35,18): error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. +tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(34,20): error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. +tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(35,20): error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(36,20): error TS2339: Property 'y' does not exist on type 'C'. -tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(37,18): error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. ==== tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts (13 errors) ==== @@ -44,10 +44,10 @@ tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAcc var a: A; var a1 = a.x; // error - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. var a2 = a.f(); // error - ~~~ + ~ !!! error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. var a3 = a.y; // error ~ @@ -66,16 +66,16 @@ tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAcc var c: C; var c1 = c.x; // error - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. var c2 = c.f(); // error - ~~~ + ~ !!! error TS2446: Property 'f' is protected and only accessible through an instance of class 'B'. var c3 = c.y; // error ~ !!! error TS2339: Property 'y' does not exist on type 'C'. var c4 = c.z; // error - ~~~ + ~ !!! error TS2445: Property 'z' is protected and only accessible within class 'C' and its subclasses. } } diff --git a/tests/baselines/reference/protectedMembers.errors.txt b/tests/baselines/reference/protectedMembers.errors.txt index 666be34d10c..9171df2a485 100644 --- a/tests/baselines/reference/protectedMembers.errors.txt +++ b/tests/baselines/reference/protectedMembers.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/protectedMembers.ts(40,1): error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(41,1): error TS2445: Property 'f' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(42,1): error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(43,1): error TS2445: Property 'sf' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(46,1): error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(47,1): error TS2445: Property 'f' is protected and only accessible within class 'C2' and its subclasses. -tests/cases/compiler/protectedMembers.ts(48,1): error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. -tests/cases/compiler/protectedMembers.ts(49,1): error TS2445: Property 'sf' is protected and only accessible within class 'C2' and its subclasses. -tests/cases/compiler/protectedMembers.ts(68,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. -tests/cases/compiler/protectedMembers.ts(69,9): error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. +tests/cases/compiler/protectedMembers.ts(40,4): error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(41,4): error TS2445: Property 'f' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(42,4): error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(43,4): error TS2445: Property 'sf' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(46,4): error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(47,4): error TS2445: Property 'f' is protected and only accessible within class 'C2' and its subclasses. +tests/cases/compiler/protectedMembers.ts(48,4): error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. +tests/cases/compiler/protectedMembers.ts(49,4): error TS2445: Property 'sf' is protected and only accessible within class 'C2' and its subclasses. +tests/cases/compiler/protectedMembers.ts(68,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. +tests/cases/compiler/protectedMembers.ts(69,11): error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. tests/cases/compiler/protectedMembers.ts(97,1): error TS2322: Type 'B1' is not assignable to type 'A1'. Property 'x' is protected but type 'B1' is not a class derived from 'A1'. tests/cases/compiler/protectedMembers.ts(98,1): error TS2322: Type 'A1' is not assignable to type 'B1'. @@ -57,30 +57,30 @@ tests/cases/compiler/protectedMembers.ts(111,7): error TS2415: Class 'B3' incorr // All of these should be errors c1.x; - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. c1.f(); - ~~~~ + ~ !!! error TS2445: Property 'f' is protected and only accessible within class 'C1' and its subclasses. C1.sx; - ~~~~~ + ~~ !!! error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. C1.sf(); - ~~~~~ + ~~ !!! error TS2445: Property 'sf' is protected and only accessible within class 'C1' and its subclasses. // All of these should be errors c2.x; - ~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'C1' and its subclasses. c2.f(); - ~~~~ + ~ !!! error TS2445: Property 'f' is protected and only accessible within class 'C2' and its subclasses. C2.sx; - ~~~~~ + ~~ !!! error TS2445: Property 'sx' is protected and only accessible within class 'C1' and its subclasses. C2.sf(); - ~~~~~ + ~~ !!! error TS2445: Property 'sf' is protected and only accessible within class 'C2' and its subclasses. // All of these should be ok @@ -101,10 +101,10 @@ tests/cases/compiler/protectedMembers.ts(111,7): error TS2415: Class 'B3' incorr z; static foo(a: A, b: B, c: C, d: D, e: E) { a.x = 1; // Error, access must be through C or type derived from C - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. b.x = 1; // Error, access must be through C or type derived from C - ~~~ + ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'C'. c.x = 1; d.x = 1; diff --git a/tests/baselines/reference/protectedStaticClassPropertyAccessibleWithinSubclass.errors.txt b/tests/baselines/reference/protectedStaticClassPropertyAccessibleWithinSubclass.errors.txt index 911633cb98f..361cf557ee5 100644 --- a/tests/baselines/reference/protectedStaticClassPropertyAccessibleWithinSubclass.errors.txt +++ b/tests/baselines/reference/protectedStaticClassPropertyAccessibleWithinSubclass.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(7,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(16,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(25,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(40,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(41,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(42,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. -tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(43,1): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(7,18): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(16,18): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(25,18): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(40,6): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(41,10): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(42,10): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(43,10): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. ==== tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts (7 errors) ==== @@ -15,7 +15,7 @@ tests/cases/conformance/classes/members/accessibility/protectedStaticClassProper Derived1.x; // OK, accessed within their declaring class Derived2.x; // OK, accessed within their declaring class Derived3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. } } @@ -26,7 +26,7 @@ tests/cases/conformance/classes/members/accessibility/protectedStaticClassProper Derived1.x; // OK, accessed within a class derived from their declaring class Derived2.x; // OK, accessed within a class derived from their declaring class Derived3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. } } @@ -37,7 +37,7 @@ tests/cases/conformance/classes/members/accessibility/protectedStaticClassProper Derived1.x; // OK, accessed within a class derived from their declaring class Derived2.x; // OK, accessed within a class derived from their declaring class Derived3.x; // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. } } @@ -54,14 +54,14 @@ tests/cases/conformance/classes/members/accessibility/protectedStaticClassProper Base.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. Derived1.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. Derived2.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses. Derived3.x; // Error, neither within their declaring class nor classes derived from their declaring class - ~~~~~~~~~~ + ~ !!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses. \ No newline at end of file diff --git a/tests/baselines/reference/protectedStaticNotAccessibleInClodule.errors.txt b/tests/baselines/reference/protectedStaticNotAccessibleInClodule.errors.txt index 059e5d6cb12..955884b90d9 100644 --- a/tests/baselines/reference/protectedStaticNotAccessibleInClodule.errors.txt +++ b/tests/baselines/reference/protectedStaticNotAccessibleInClodule.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/classes/members/accessibility/protectedStaticNotAccessibleInClodule.ts(10,20): error TS2445: Property 'bar' is protected and only accessible within class 'C' and its subclasses. +tests/cases/conformance/classes/members/accessibility/protectedStaticNotAccessibleInClodule.ts(10,22): error TS2445: Property 'bar' is protected and only accessible within class 'C' and its subclasses. ==== tests/cases/conformance/classes/members/accessibility/protectedStaticNotAccessibleInClodule.ts (1 errors) ==== @@ -12,6 +12,6 @@ tests/cases/conformance/classes/members/accessibility/protectedStaticNotAccessib module C { export var f = C.foo; // OK export var b = C.bar; // error - ~~~~~ + ~~~ !!! error TS2445: Property 'bar' is protected and only accessible within class 'C' and its subclasses. } \ No newline at end of file diff --git a/tests/baselines/reference/superPropertyAccess.errors.txt b/tests/baselines/reference/superPropertyAccess.errors.txt index 41e0a0adac5..22b1a1c5346 100644 --- a/tests/baselines/reference/superPropertyAccess.errors.txt +++ b/tests/baselines/reference/superPropertyAccess.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/superPropertyAccess.ts(8,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/superPropertyAccess.ts(9,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/superPropertyAccess.ts(22,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. -tests/cases/compiler/superPropertyAccess.ts(24,9): error TS2341: Property 'p1' is private and only accessible within class 'MyBase'. +tests/cases/compiler/superPropertyAccess.ts(24,15): error TS2341: Property 'p1' is private and only accessible within class 'MyBase'. tests/cases/compiler/superPropertyAccess.ts(26,24): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/compiler/superPropertyAccess.ts(28,24): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. tests/cases/compiler/superPropertyAccess.ts(32,15): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. @@ -39,7 +39,7 @@ tests/cases/compiler/superPropertyAccess.ts(34,23): error TS2340: Only public an !!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. super.p1(); // Should error, private not public instance member function - ~~~~~~~~ + ~~ !!! error TS2341: Property 'p1' is private and only accessible within class 'MyBase'. var l1 = super.d1; // Should error, instance data property not a public instance member function diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt index 83e69cbcfc3..33b20183b5e 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt +++ b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(35,1): error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses. -tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(36,1): error TS2341: Property 'member' is private and only accessible within class 'Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(35,4): error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(36,4): error TS2341: Property 'member' is private and only accessible within class 'Private'. tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(38,4): error TS2339: Property 'member' does not exist on type 'Default | Protected'. tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(39,4): error TS2339: Property 'member' does not exist on type 'Default | Private'. tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(40,4): error TS2339: Property 'member' does not exist on type 'Public | Protected'. @@ -48,10 +48,10 @@ tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(47,5): err v1.member; v2.member; v3.member; - ~~~~~~~~~ + ~~~~~~ !!! error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses. v4.member; - ~~~~~~~~~ + ~~~~~~ !!! error TS2341: Property 'member' is private and only accessible within class 'Private'. v5.member; v6.member; From 39a51d3731e5868c09c23358ebb02d3d140f627d Mon Sep 17 00:00:00 2001 From: zhengbli Date: Fri, 26 Feb 2016 14:15:07 -0800 Subject: [PATCH 097/342] Unify the use of "filter", "map" and "Object.keys" functions --- src/compiler/core.ts | 8 +++++++ src/services/jsTyping.ts | 45 ++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 59274201155..93286db7e46 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -278,6 +278,14 @@ namespace ts { return hasOwnProperty.call(map, key); } + export function getKeys(map: Map): string[] { + const keys: string[] = []; + for (const key in map) { + keys.push(key); + } + return keys; + } + export function getProperty(map: Map, key: string): T { return hasOwnProperty.call(map, key) ? map[key] : undefined; } diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 251995a2991..b3955e89148 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -66,9 +66,7 @@ namespace ts.JsTyping { const cachePath = projectRootPath || globalCachePath; // Only infer typings for .js and .jsx files - fileNames = fileNames - .map(ts.normalizePath) - .filter(f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); + fileNames = filter(map(fileNames, ts.normalizePath), f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); const safeListFilePath = ts.combinePaths(globalCachePath, "safeList.json"); if (!safeList && host.fileExists(safeListFilePath)) { @@ -84,7 +82,7 @@ namespace ts.JsTyping { exclude = typingOptions.exclude || []; if (typingOptions.enableAutoDiscovery) { - const possibleSearchDirs = fileNames.map(ts.getDirectoryPath); + const possibleSearchDirs = map(fileNames, ts.getDirectoryPath); if (projectRootPath !== undefined) { possibleSearchDirs.push(projectRootPath); } @@ -109,7 +107,7 @@ namespace ts.JsTyping { const tsdJsonDict = tryParseJson(tsdJsonPath, host); if (tsdJsonDict) { for (const notFoundTypingName of notFoundTypingNames) { - if (inferredTypings.hasOwnProperty(notFoundTypingName) && !inferredTypings[notFoundTypingName]) { + if (hasProperty(inferredTypings, notFoundTypingName) && !inferredTypings[notFoundTypingName]) { delete inferredTypings[notFoundTypingName]; } } @@ -156,7 +154,7 @@ namespace ts.JsTyping { } for (const typing of typingNames) { - if (!inferredTypings.hasOwnProperty(typing)) { + if (!hasProperty(inferredTypings, typing)) { inferredTypings[typing] = undefined; } } @@ -169,11 +167,11 @@ namespace ts.JsTyping { const jsonDict = tryParseJson(jsonPath, host); if (jsonDict) { filesToWatch.push(jsonPath); - if (jsonDict.hasOwnProperty("dependencies")) { - mergeTypings(Object.keys(jsonDict.dependencies)); + if (hasProperty(jsonDict, "dependencies")) { + mergeTypings(getKeys(jsonDict.dependencies)); } - if (jsonDict.hasOwnProperty("devDependencies")) { - mergeTypings(Object.keys(jsonDict.devDependencies)); + if (hasProperty(jsonDict, "devDependencies")) { + mergeTypings(getKeys(jsonDict.devDependencies)); } } } @@ -185,12 +183,17 @@ namespace ts.JsTyping { * @param fileNames are the names for source files in the project */ function getTypingNamesFromSourceFileNames(fileNames: string[]) { - const jsFileNames = fileNames.filter(hasJavaScriptFileExtension); - const inferredTypingNames = jsFileNames.map(f => ts.removeFileExtension(ts.getBaseFileName(f.toLowerCase()))); - const cleanedTypingNames = inferredTypingNames.map(f => f.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, "")); - safeList === undefined ? mergeTypings(cleanedTypingNames) : mergeTypings(cleanedTypingNames.filter(f => safeList.hasOwnProperty(f))); + const jsFileNames = filter(fileNames, hasJavaScriptFileExtension); + const inferredTypingNames = map(jsFileNames, f => ts.removeFileExtension(ts.getBaseFileName(f.toLowerCase()))); + const cleanedTypingNames = map(inferredTypingNames, f => f.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, "")); + if (safeList === undefined) { + mergeTypings(cleanedTypingNames); + } + else { + mergeTypings(filter(cleanedTypingNames, f => hasProperty(safeList, f))); + } - const jsxFileNames = fileNames.filter(f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); + const jsxFileNames = filter(fileNames, f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); if (jsxFileNames.length > 0) { mergeTypings(["react"]); } @@ -208,7 +211,9 @@ namespace ts.JsTyping { const typingNames: string[] = []; const packageJsonFiles = - host.readDirectory(nodeModulesPath, /*extension*/ undefined, /*exclude*/ undefined, /*depth*/ 2).filter(f => ts.getBaseFileName(f) === "package.json"); + filter( + host.readDirectory(nodeModulesPath, /*extension*/ undefined, /*exclude*/ undefined, /*depth*/ 2), + f => ts.getBaseFileName(f) === "package.json"); for (const packageJsonFile of packageJsonFiles) { const packageJsonDict = tryParseJson(packageJsonFile, host); if (!packageJsonDict) { continue; } @@ -219,14 +224,14 @@ namespace ts.JsTyping { // we should include all the top level module names for npm 2, and only module names whose // "_requiredBy" field starts with "#" or equals "/" for npm 3. if (packageJsonDict._requiredBy && - packageJsonDict._requiredBy.filter((r: string) => r[0] === "#" || r === "/").length === 0) { + filter(packageJsonDict._requiredBy, (r: string) => r[0] === "#" || r === "/").length === 0) { continue; } // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used // to download d.ts files from DefinitelyTyped const packageName = packageJsonDict["name"]; - if (packageJsonDict.hasOwnProperty("typings")) { + if (hasProperty(packageJsonDict, "typings")) { const absPath = ts.getNormalizedAbsolutePath(packageJsonDict.typings, ts.getDirectoryPath(packageJsonFile)); inferredTypings[packageName] = absPath; } @@ -266,10 +271,10 @@ namespace ts.JsTyping { const cacheTsdJsonDict = tryParseJson(tsdJsonPath, host); if (cacheTsdJsonDict) { const installedTypingFiles = hasProperty(cacheTsdJsonDict, "installed") - ? Object.keys(cacheTsdJsonDict.installed) + ? getKeys(cacheTsdJsonDict.installed) : []; const newMissingTypingNames = - ts.filter(newTypingNames, name => notFoundTypingNames.indexOf(name) < 0 && !isInstalled(name, installedTypingFiles)); + filter(newTypingNames, name => notFoundTypingNames.indexOf(name) < 0 && !isInstalled(name, installedTypingFiles)); for (const newMissingTypingName of newMissingTypingNames) { notFoundTypingNames.push(newMissingTypingName); } From 5981d8e60c6ca81da815742d3ae646453b8c68da Mon Sep 17 00:00:00 2001 From: zhengbli Date: Fri, 26 Feb 2016 14:27:37 -0800 Subject: [PATCH 098/342] CR feedback --- src/compiler/commandLineParser.ts | 8 ++++---- src/services/jsTyping.ts | 12 +++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 947ca1ca00c..403345c9b04 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -616,10 +616,10 @@ namespace ts { } } else if (id === "include") { - options.include = ConvertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); + options.include = convertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); } else if (id === "exclude") { - options.exclude = ConvertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); + options.exclude = convertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); } else { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); @@ -668,7 +668,7 @@ namespace ts { break; case "object": // "object" options with 'isFilePath' = true expected to be string arrays - value = ConvertJsonOptionToStringArray(opt.name, value, errors, (element) => normalizePath(combinePaths(basePath, element))); + value = convertJsonOptionToStringArray(opt.name, value, errors, (element) => normalizePath(combinePaths(basePath, element))); break; } if (value === "") { @@ -689,7 +689,7 @@ namespace ts { return { options, errors }; } - function ConvertJsonOptionToStringArray(optionName: string, optionJson: any, errors: Diagnostic[], func?: (element: string) => string): string[] { + function convertJsonOptionToStringArray(optionName: string, optionJson: any, errors: Diagnostic[], func?: (element: string) => string): string[] { const items: string[] = []; let invalidOptionType = false; if (!isArray(optionJson)) { diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index b3955e89148..59918ab2445 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -193,8 +193,8 @@ namespace ts.JsTyping { mergeTypings(filter(cleanedTypingNames, f => hasProperty(safeList, f))); } - const jsxFileNames = filter(fileNames, f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); - if (jsxFileNames.length > 0) { + const hasJsxFile = forEach(fileNames, f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); + if (hasJsxFile) { mergeTypings(["react"]); } } @@ -214,6 +214,7 @@ namespace ts.JsTyping { filter( host.readDirectory(nodeModulesPath, /*extension*/ undefined, /*exclude*/ undefined, /*depth*/ 2), f => ts.getBaseFileName(f) === "package.json"); + for (const packageJsonFile of packageJsonFiles) { const packageJsonDict = tryParseJson(packageJsonFile, host); if (!packageJsonDict) { continue; } @@ -247,13 +248,6 @@ namespace ts.JsTyping { if (!options) { return; } - - if (options.jsx === JsxEmit.React) { - typingNames.push("react"); - } - if (options.moduleResolution === ModuleResolutionKind.NodeJs) { - typingNames.push("node"); - } mergeTypings(typingNames); } } From 5c6a007715b7fc6848c0c7db6d974fadda9f244d Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 26 Feb 2016 14:40:30 -0800 Subject: [PATCH 099/342] Move `checkClassPropertyAccess` call to `checkVariableLikeDeclaration` --- src/compiler/checker.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 64c21c0b638..c2a14e5b9a0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2607,8 +2607,7 @@ namespace ts { // Return the inferred type for a binding element function getTypeForBindingElement(declaration: BindingElement): Type { const pattern = declaration.parent; - const parent = pattern.parent; - const parentType = getTypeForBindingElementParent(parent); + const parentType = getTypeForBindingElementParent(pattern.parent); // If parent has the unknown (error) type, then so does this binding element if (parentType === unknownType) { return unknownType; @@ -2643,11 +2642,6 @@ namespace ts { error(name, Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), declarationNameToString(name)); return unknownType; } - - const property = getPropertyOfType(parentType, text); - if (parent && parent.initializer && property && getParentOfSymbol(property)) { - checkClassPropertyAccess(parent, parent.initializer, parentType, property); - } } else { // This elementType will be used if the specific property corresponding to this index is not @@ -13314,6 +13308,15 @@ namespace ts { if (node.propertyName && node.propertyName.kind === SyntaxKind.ComputedPropertyName) { checkComputedPropertyName(node.propertyName); } + + // check private/protected variable access + const parent = (node.parent).parent; + const parentType = getTypeForBindingElementParent(parent); + const name = node.propertyName || node.name; + const property = getPropertyOfType(parentType, getTextOfPropertyName(name)); + if (parent.initializer && property && getParentOfSymbol(property)) { + checkClassPropertyAccess(parent, parent.initializer, parentType, property); + } } // For a binding pattern, check contained binding elements From f76ef47174e84adcd9c5e379685bc258d8d86222 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Fri, 26 Feb 2016 15:33:34 -0800 Subject: [PATCH 100/342] Adding optionalDependencies and peerDependencies to the list typings to merge in if present. --- src/services/jsTyping.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 59918ab2445..a3268880905 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -173,6 +173,12 @@ namespace ts.JsTyping { if (hasProperty(jsonDict, "devDependencies")) { mergeTypings(getKeys(jsonDict.devDependencies)); } + if (hasProperty(jsonDict, "optionalDependencies")) { + mergeTypings(getKeys(jsonDict.optionalDependencies)); + } + if (hasProperty(jsonDict, "peerDependencies")) { + mergeTypings(getKeys(jsonDict.peerDependencies)); + } } } From 3d7631dbe86b5b500c6218588df0833932ca809a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 27 Feb 2016 11:39:16 -0800 Subject: [PATCH 101/342] Support dotted names ("x.y.z") in type guards --- src/compiler/checker.ts | 323 +++++++++++++++++++++++----------------- src/compiler/types.ts | 4 +- 2 files changed, 191 insertions(+), 136 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a2b8b5a2a7a..cd4a21204a2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -69,10 +69,7 @@ namespace ts { isUnknownSymbol: symbol => symbol === unknownSymbol, getDiagnostics, getGlobalDiagnostics, - - // The language service will always care about the narrowed type of a symbol, because that is - // the type the language says the symbol should have. - getTypeOfSymbolAtLocation: getNarrowedTypeOfSymbol, + getTypeOfSymbolAtLocation, getSymbolsOfParameterPropertyDeclaration, getDeclaredTypeOfSymbol, getPropertiesOfType, @@ -6869,7 +6866,7 @@ namespace ts { function getResolvedSymbol(node: Identifier): Symbol { const links = getNodeLinks(node); if (!links.resolvedSymbol) { - links.resolvedSymbol = (!nodeIsMissing(node) && resolveName(node, node.text, SymbolFlags.Value | SymbolFlags.ExportValue, Diagnostics.Cannot_find_name_0, node)) || unknownSymbol; + links.resolvedSymbol = !nodeIsMissing(node) && resolveName(node, node.text, SymbolFlags.Value | SymbolFlags.ExportValue, Diagnostics.Cannot_find_name_0, node) || unknownSymbol; } return links.resolvedSymbol; } @@ -6893,48 +6890,59 @@ namespace ts { Debug.fail("should not get here"); } + // Return the assignment key for a "dotted name" (i.e. a sequence of identifiers + // separated by dots). The key consists of the id of the symbol referenced by the + // leftmost identifier followed by zero or more property names separated by dots. + // The result is undefined if the reference isn't a dotted name. + function getAssignmentKey(node: Node): string { + if (node.kind === SyntaxKind.Identifier) { + const symbol = getResolvedSymbol(node); + return symbol !== unknownSymbol ? "" + getSymbolId(symbol) : undefined; + } + if (node.kind === SyntaxKind.PropertyAccessExpression) { + const key = getAssignmentKey((node).expression); + return key && key + "." + (node).name.text; + } + return undefined; + } + function hasInitializer(node: VariableLikeDeclaration): boolean { return !!(node.initializer || isBindingPattern(node.parent) && hasInitializer(node.parent.parent)); } - // Check if a given variable is assigned within a given syntax node - function isVariableAssignedWithin(symbol: Symbol, node: Node): boolean { - const links = getNodeLinks(node); - if (links.assignmentChecks) { - const cachedResult = links.assignmentChecks[symbol.id]; - if (cachedResult !== undefined) { - return cachedResult; - } - } - else { - links.assignmentChecks = {}; - } - return links.assignmentChecks[symbol.id] = isAssignedIn(node); + // For a given node compute a map of which dotted names are assigned within + // the node. + function getAssignmentMap(node: Node): Map { + const assignmentMap: Map = {}; + visit(node); + return assignmentMap; - function isAssignedInBinaryExpression(node: BinaryExpression) { + function visitBinaryExpression(node: BinaryExpression) { if (node.operatorToken.kind >= SyntaxKind.FirstAssignment && node.operatorToken.kind <= SyntaxKind.LastAssignment) { - const n = skipParenthesizedNodes(node.left); - if (n.kind === SyntaxKind.Identifier && getResolvedSymbol(n) === symbol) { - return true; + const key = getAssignmentKey(skipParenthesizedNodes(node.left)); + if (key) { + assignmentMap[key] = true; } } - return forEachChild(node, isAssignedIn); + forEachChild(node, visit); } - function isAssignedInVariableDeclaration(node: VariableLikeDeclaration) { - if (!isBindingPattern(node.name) && getSymbolOfNode(node) === symbol && hasInitializer(node)) { - return true; + function visitVariableDeclaration(node: VariableLikeDeclaration) { + if (!isBindingPattern(node.name) && hasInitializer(node)) { + assignmentMap[getSymbolId(getSymbolOfNode(node))] = true; } - return forEachChild(node, isAssignedIn); + forEachChild(node, visit); } - function isAssignedIn(node: Node): boolean { + function visit(node: Node) { switch (node.kind) { case SyntaxKind.BinaryExpression: - return isAssignedInBinaryExpression(node); + visitBinaryExpression(node); + break; case SyntaxKind.VariableDeclaration: case SyntaxKind.BindingElement: - return isAssignedInVariableDeclaration(node); + visitVariableDeclaration(node); + break; case SyntaxKind.ObjectBindingPattern: case SyntaxKind.ArrayBindingPattern: case SyntaxKind.ArrayLiteralExpression: @@ -6980,9 +6988,30 @@ namespace ts { case SyntaxKind.JsxSpreadAttribute: case SyntaxKind.JsxOpeningElement: case SyntaxKind.JsxExpression: - return forEachChild(node, isAssignedIn); + forEachChild(node, visit); + break; } - return false; + } + } + + function isReferenceAssignedWithin(reference: Node, node: Node): boolean { + const key = getAssignmentKey(reference); + if (key) { + const links = getNodeLinks(node); + return (links.assignmentMap || (links.assignmentMap = getAssignmentMap(node)))[key]; + } + return false; + } + + function isAnyPartOfReferenceAssignedWithin(reference: Node, node: Node) { + while (true) { + if (isReferenceAssignedWithin(reference, node)) { + return true; + } + if (reference.kind !== SyntaxKind.PropertyAccessExpression) { + return false; + } + reference = (reference).expression; } } @@ -6991,83 +7020,112 @@ namespace ts { node.kind === SyntaxKind.Identifier && getResolvedSymbol(node) === undefinedSymbol; } - // Get the narrowed type of a given symbol at a given location - function getNarrowedTypeOfSymbol(symbol: Symbol, node: Node) { - let type = getTypeOfSymbol(symbol); - // Only narrow when symbol is variable of type any or an object, union, or type parameter type - if (node && symbol.flags & SymbolFlags.Variable) { - if (isTypeAny(type) || type.flags & (TypeFlags.ObjectType | TypeFlags.Union | TypeFlags.TypeParameter)) { - const declaration = getDeclarationOfKind(symbol, SyntaxKind.VariableDeclaration); - const top = declaration && getDeclarationContainer(declaration); - const originalType = type; - const nodeStack: {node: Node, child: Node}[] = []; - loop: while (node.parent) { - const child = node; - node = node.parent; - switch (node.kind) { - case SyntaxKind.IfStatement: - case SyntaxKind.ConditionalExpression: - case SyntaxKind.BinaryExpression: - nodeStack.push({node, child}); - break; - case SyntaxKind.SourceFile: - case SyntaxKind.ModuleDeclaration: - // Stop at the first containing file or module declaration - break loop; - } - if (node === top) { - break; - } - } + function getLeftmostIdentifier(node: Node): Identifier { + switch (node.kind) { + case SyntaxKind.Identifier: + return node; + case SyntaxKind.PropertyAccessExpression: + return getLeftmostIdentifier((node).expression); + } + return undefined; + } - let nodes: {node: Node, child: Node}; - while (nodes = nodeStack.pop()) { - const {node, child} = nodes; - switch (node.kind) { - case SyntaxKind.IfStatement: - // In a branch of an if statement, narrow based on controlling expression - if (child !== (node).expression) { - type = narrowType(type, (node).expression, /*assumeTrue*/ child === (node).thenStatement); - } - break; - case SyntaxKind.ConditionalExpression: - // In a branch of a conditional expression, narrow based on controlling condition - if (child !== (node).condition) { - type = narrowType(type, (node).condition, /*assumeTrue*/ child === (node).whenTrue); - } - break; - case SyntaxKind.BinaryExpression: - // In the right operand of an && or ||, narrow based on left operand - if (child === (node).right) { - if ((node).operatorToken.kind === SyntaxKind.AmpersandAmpersandToken) { - type = narrowType(type, (node).left, /*assumeTrue*/ true); - } - else if ((node).operatorToken.kind === SyntaxKind.BarBarToken) { - type = narrowType(type, (node).left, /*assumeTrue*/ false); - } - } - break; - default: - Debug.fail("Unreachable!"); - } - - // Use original type if construct contains assignments to variable - if (type !== originalType && isVariableAssignedWithin(symbol, node)) { - type = originalType; - } - } - - // Preserve old top-level behavior - if the branch is really an empty set, revert to prior type - if (type === emptyUnionType) { - type = originalType; - } + function isMatchingReference(source: Node, target: Node): boolean { + if (source.kind === target.kind) { + if (source.kind === SyntaxKind.Identifier) { + return getResolvedSymbol(source) === getResolvedSymbol(target); } + if (source.kind === SyntaxKind.PropertyAccessExpression) { + return (source).name.text === (target).name.text && + isMatchingReference((source).expression, (target).expression); + } + } + return false; + } + + // Get the narrowed type of a given symbol at a given location + function getNarrowedTypeOfReference(type: Type, reference: IdentifierOrPropertyAccess) { + if (!(type.flags & (TypeFlags.Any | TypeFlags.ObjectType | TypeFlags.Union | TypeFlags.TypeParameter))) { + return type; + } + const leftmostIdentifier = getLeftmostIdentifier(reference); + if (!leftmostIdentifier) { + return type; + } + const leftmostSymbol = getResolvedSymbol(leftmostIdentifier); + if (!(leftmostSymbol.flags & SymbolFlags.Variable)) { + return type; + } + const declaration = getDeclarationOfKind(leftmostSymbol, SyntaxKind.VariableDeclaration); + const top = declaration && getDeclarationContainer(declaration); + const originalType = type; + const nodeStack: { node: Node, child: Node }[] = []; + let node: Node = reference; + loop: while (node.parent) { + const child = node; + node = node.parent; + switch (node.kind) { + case SyntaxKind.IfStatement: + case SyntaxKind.ConditionalExpression: + case SyntaxKind.BinaryExpression: + nodeStack.push({node, child}); + break; + case SyntaxKind.SourceFile: + case SyntaxKind.ModuleDeclaration: + // Stop at the first containing file or module declaration + break loop; + } + if (node === top) { + break; + } + } + + let nodes: { node: Node, child: Node }; + while (nodes = nodeStack.pop()) { + const {node, child} = nodes; + switch (node.kind) { + case SyntaxKind.IfStatement: + // In a branch of an if statement, narrow based on controlling expression + if (child !== (node).expression) { + type = narrowType(type, (node).expression, /*assumeTrue*/ child === (node).thenStatement); + } + break; + case SyntaxKind.ConditionalExpression: + // In a branch of a conditional expression, narrow based on controlling condition + if (child !== (node).condition) { + type = narrowType(type, (node).condition, /*assumeTrue*/ child === (node).whenTrue); + } + break; + case SyntaxKind.BinaryExpression: + // In the right operand of an && or ||, narrow based on left operand + if (child === (node).right) { + if ((node).operatorToken.kind === SyntaxKind.AmpersandAmpersandToken) { + type = narrowType(type, (node).left, /*assumeTrue*/ true); + } + else if ((node).operatorToken.kind === SyntaxKind.BarBarToken) { + type = narrowType(type, (node).left, /*assumeTrue*/ false); + } + } + break; + default: + Debug.fail("Unreachable!"); + } + + // Use original type if construct contains assignments to variable + if (type !== originalType && isAnyPartOfReferenceAssignedWithin(reference, node)) { + type = originalType; + } + } + + // Preserve old top-level behavior - if the branch is really an empty set, revert to prior type + if (type === emptyUnionType) { + type = originalType; } return type; function narrowTypeByTruthiness(type: Type, expr: Identifier, assumeTrue: boolean): Type { - return strictNullChecks && assumeTrue && getResolvedSymbol(expr) === symbol ? getNonNullableType(type) : type; + return strictNullChecks && assumeTrue && isMatchingReference(expr, reference) ? getNonNullableType(type) : type; } function narrowTypeByBinaryExpression(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { @@ -7095,14 +7153,11 @@ namespace ts { } function narrowTypeByNullCheck(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { - // We have '==' or '!=' operator with 'null' on the right + // We have '==' or '!=' operator with 'null' or 'undefined' on the right if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsToken) { assumeTrue = !assumeTrue; } - if (!strictNullChecks || assumeTrue) { - return type; - } - if (expr.left.kind !== SyntaxKind.Identifier || getResolvedSymbol(expr.left) !== symbol) { + if (!strictNullChecks || assumeTrue || !isMatchingReference(expr.left, reference)) { return type; } return getNonNullableType(type); @@ -7113,7 +7168,7 @@ namespace ts { // and string literal on the right const left = expr.left; const right = expr.right; - if (left.expression.kind !== SyntaxKind.Identifier || getResolvedSymbol(left.expression) !== symbol) { + if (!isMatchingReference(left.expression, reference)) { return type; } if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsToken || @@ -7181,7 +7236,7 @@ namespace ts { function narrowTypeByInstanceof(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { // Check that type is not any, assumed result is true, and we have variable symbol on the left - if (isTypeAny(type) || expr.left.kind !== SyntaxKind.Identifier || getResolvedSymbol(expr.left) !== symbol) { + if (isTypeAny(type) || !isMatchingReference(expr.left, reference)) { return type; } @@ -7252,50 +7307,35 @@ namespace ts { return type; } const signature = getResolvedSignature(callExpression); - const predicate = signature.typePredicate; if (!predicate) { return type; } - if (isIdentifierTypePredicate(predicate)) { - if (callExpression.arguments[predicate.parameterIndex] && - getSymbolAtTypePredicatePosition(callExpression.arguments[predicate.parameterIndex]) === symbol) { + const predicateArgument = callExpression.arguments[predicate.parameterIndex]; + if (predicateArgument && isMatchingReference(predicateArgument, reference)) { return getNarrowedType(type, predicate.type, assumeTrue); } } else { const invokedExpression = skipParenthesizedNodes(callExpression.expression); - return narrowTypeByThisTypePredicate(type, predicate, invokedExpression, assumeTrue); - } - return type; - } - - function narrowTypeByThisTypePredicate(type: Type, predicate: ThisTypePredicate, invokedExpression: Expression, assumeTrue: boolean): Type { - if (invokedExpression.kind === SyntaxKind.ElementAccessExpression || invokedExpression.kind === SyntaxKind.PropertyAccessExpression) { - const accessExpression = invokedExpression as ElementAccessExpression | PropertyAccessExpression; - const possibleIdentifier = skipParenthesizedNodes(accessExpression.expression); - if (possibleIdentifier.kind === SyntaxKind.Identifier && getSymbolAtTypePredicatePosition(possibleIdentifier) === symbol) { - return getNarrowedType(type, predicate.type, assumeTrue); + if (invokedExpression.kind === SyntaxKind.ElementAccessExpression || invokedExpression.kind === SyntaxKind.PropertyAccessExpression) { + const accessExpression = invokedExpression as ElementAccessExpression | PropertyAccessExpression; + const possibleReference= skipParenthesizedNodes(accessExpression.expression); + if (isMatchingReference(possibleReference, reference)) { + return getNarrowedType(type, predicate.type, assumeTrue); + } } } return type; } - function getSymbolAtTypePredicatePosition(expr: Expression): Symbol { - expr = skipParenthesizedNodes(expr); - switch (expr.kind) { - case SyntaxKind.Identifier: - case SyntaxKind.PropertyAccessExpression: - return getSymbolOfEntityNameOrPropertyAccessExpression(expr as (Identifier | PropertyAccessExpression)); - } - } - // Narrow the given type based on the given expression having the assumed boolean value. The returned type // will be a subtype or the same type as the argument. function narrowType(type: Type, expr: Expression, assumeTrue: boolean): Type { switch (expr.kind) { case SyntaxKind.Identifier: + case SyntaxKind.PropertyAccessExpression: return narrowTypeByTruthiness(type, expr, assumeTrue); case SyntaxKind.CallExpression: return narrowTypeByTypePredicate(type, expr, assumeTrue); @@ -7313,6 +7353,16 @@ namespace ts { } } + function getTypeOfSymbolAtLocation(symbol: Symbol, location: Node) { + // The language service will always care about the narrowed type of a symbol, because that is + // the type the language says the symbol should have. + let type = getTypeOfSymbol(symbol); + if (location.kind === SyntaxKind.Identifier && isExpression(location) && getResolvedSymbol(location) === symbol) { + type = getNarrowedTypeOfReference(type, location); + } + return type; + } + function skipParenthesizedNodes(expression: Expression): Expression { while (expression.kind === SyntaxKind.ParenthesizedExpression) { expression = (expression as ParenthesizedExpression).expression; @@ -7371,7 +7421,7 @@ namespace ts { checkCollisionWithCapturedThisVariable(node, node); checkNestedBlockScopedBinding(node, symbol); - return getNarrowedTypeOfSymbol(localOrExportSymbol, node); + return getNarrowedTypeOfReference(getTypeOfSymbol(localOrExportSymbol), node); } function isInsideFunction(node: Node, threshold: Node): boolean { @@ -9122,7 +9172,10 @@ namespace ts { if (prop.parent && prop.parent.flags & SymbolFlags.Class) { checkClassPropertyAccess(node, left, apparentType, prop); } - return getTypeOfSymbol(prop); + + const propType = getTypeOfSymbol(prop); + return node.kind === SyntaxKind.PropertyAccessExpression && prop.flags & SymbolFlags.Property ? + getNarrowedTypeOfReference(propType, node) : propType; } function isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 380bbdb3b90..b4b81c2732f 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -974,6 +974,8 @@ namespace ts { name: Identifier; } + export type IdentifierOrPropertyAccess = Identifier | PropertyAccessExpression; + // @kind(SyntaxKind.ElementAccessExpression) export interface ElementAccessExpression extends MemberExpression { expression: LeftHandSideExpression; @@ -2071,7 +2073,7 @@ namespace ts { isVisible?: boolean; // Is this node visible generatedName?: string; // Generated name for module, enum, or import declaration generatedNames?: Map; // Generated names table for source file - assignmentChecks?: Map; // Cache of assignment checks + assignmentMap?: Map; // Cached map of references assigned within this node hasReportedStatementInAmbientContext?: boolean; // Cache boolean if we report statements in ambient context importOnRightSide?: Symbol; // for import declarations - import that appear on the right side jsxFlags?: JsxFlags; // flags for knowing what kind of element/attributes we're dealing with From 82169ce7eb2e31c027fd2c9c37883faedb207c3c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 27 Feb 2016 18:12:40 -0800 Subject: [PATCH 102/342] Fix getTypeOfSymbolAtLocation to handle hypothetical lookups --- src/compiler/checker.ts | 34 ++++++++++++++++++++++++++++++---- src/compiler/types.ts | 5 +++++ 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cd4a21204a2..b3be9545848 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6863,7 +6863,19 @@ namespace ts { // EXPRESSION TYPE CHECKING + function createTransientIdentifier(symbol: Symbol, location: Node): Identifier { + let result = createNode(SyntaxKind.Identifier); + result.text = symbol.name; + result.resolvedSymbol = symbol; + result.parent = location; + result.id = -1; + return result; + } + function getResolvedSymbol(node: Identifier): Symbol { + if (node.id === -1) { + return (node).resolvedSymbol; + } const links = getNodeLinks(node); if (!links.resolvedSymbol) { links.resolvedSymbol = !nodeIsMissing(node) && resolveName(node, node.text, SymbolFlags.Value | SymbolFlags.ExportValue, Diagnostics.Cannot_find_name_0, node) || unknownSymbol; @@ -7356,11 +7368,25 @@ namespace ts { function getTypeOfSymbolAtLocation(symbol: Symbol, location: Node) { // The language service will always care about the narrowed type of a symbol, because that is // the type the language says the symbol should have. - let type = getTypeOfSymbol(symbol); - if (location.kind === SyntaxKind.Identifier && isExpression(location) && getResolvedSymbol(location) === symbol) { - type = getNarrowedTypeOfReference(type, location); + const type = getTypeOfSymbol(symbol); + if (location.kind === SyntaxKind.Identifier) { + if (isRightSideOfQualifiedNameOrPropertyAccess(location)) { + location = location.parent; + } + // If location is an identifier or property access that references the given + // symbol, use the location as the reference with respect to which we narrow. + if (isExpression(location)) { + checkExpression(location); + if (getNodeLinks(location).resolvedSymbol === symbol) { + return getNarrowedTypeOfReference(type, location); + } + } } - return type; + // The location isn't a reference to the given symbol, meaning we're being asked + // a hypothetical question of what type the symbol would have if there was a reference + // to it at the given location. To answer that question we manufacture a transient + // identifier at the location and narrow with respect to that identifier. + return getNarrowedTypeOfReference(type, createTransientIdentifier(symbol, location)); } function skipParenthesizedNodes(expression: Expression): Expression { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index b4b81c2732f..840d7988405 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -476,6 +476,11 @@ namespace ts { originalKeywordKind?: SyntaxKind; // Original syntaxKind which get set so that we can report an error later } + // Transient identifier node (marked by id === -1) + export interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + // @kind(SyntaxKind.QualifiedName) export interface QualifiedName extends Node { // Must have same layout as PropertyAccess From 7dd59ceff6a20505b960ec319b4326689f816ff1 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 27 Feb 2016 18:13:26 -0800 Subject: [PATCH 103/342] Accepting new baselines --- .../reference/typeGuardFunctionOfFormThis.types | 4 ++-- .../reference/typeGuardsInProperties.types | 16 ++++++++-------- .../typeGuardsOnClassProperty.errors.txt | 5 +---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThis.types b/tests/baselines/reference/typeGuardFunctionOfFormThis.types index 6b21fea3457..cd0381a94e9 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThis.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThis.types @@ -174,9 +174,9 @@ if (holder2.a.isLeader()) { >isLeader : () => this is LeadGuard holder2.a; ->holder2.a : RoyalGuard +>holder2.a : LeadGuard >holder2 : { a: RoyalGuard; } ->a : RoyalGuard +>a : LeadGuard } else { holder2.a; diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index ca4d8b94527..d6c9602a450 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -76,18 +76,18 @@ var c1: C1; >C1 : C1 strOrNum = typeof c1.pp2 === "string" && c1.pp2; // string | number ->strOrNum = typeof c1.pp2 === "string" && c1.pp2 : string | number +>strOrNum = typeof c1.pp2 === "string" && c1.pp2 : string >strOrNum : string | number ->typeof c1.pp2 === "string" && c1.pp2 : string | number +>typeof c1.pp2 === "string" && c1.pp2 : string >typeof c1.pp2 === "string" : boolean >typeof c1.pp2 : string >c1.pp2 : string | number >c1 : C1 >pp2 : string | number >"string" : string ->c1.pp2 : string | number +>c1.pp2 : string >c1 : C1 ->pp2 : string | number +>pp2 : string strOrNum = typeof c1.pp3 === "string" && c1.pp3; // string | number >strOrNum = typeof c1.pp3 === "string" && c1.pp3 : string | number @@ -111,16 +111,16 @@ var obj1: { }; strOrNum = typeof obj1.x === "string" && obj1.x; // string | number ->strOrNum = typeof obj1.x === "string" && obj1.x : string | number +>strOrNum = typeof obj1.x === "string" && obj1.x : string >strOrNum : string | number ->typeof obj1.x === "string" && obj1.x : string | number +>typeof obj1.x === "string" && obj1.x : string >typeof obj1.x === "string" : boolean >typeof obj1.x : string >obj1.x : string | number >obj1 : { x: string | number; } >x : string | number >"string" : string ->obj1.x : string | number +>obj1.x : string >obj1 : { x: string | number; } ->x : string | number +>x : string diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt b/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt index 91d6d6998bc..660962ec1a7 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt +++ b/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt @@ -1,8 +1,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts(14,70): error TS2339: Property 'join' does not exist on type 'string | string[]'. -tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts(26,44): error TS2339: Property 'toLowerCase' does not exist on type 'number | string'. -==== tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts (2 errors) ==== +==== tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts (1 errors) ==== // Note that type guards affect types of variables and parameters only and // have no effect on members of objects such as properties. @@ -31,7 +30,5 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts(26,4 } if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} - ~~~~~~~~~~~ -!!! error TS2339: Property 'toLowerCase' does not exist on type 'number | string'. var prop1 = o.prop1; if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } \ No newline at end of file From 24511ad1d7c36eb0fde7979230877d7c9ec9392d Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Sun, 28 Feb 2016 08:57:45 -0800 Subject: [PATCH 104/342] do not emit explicit 'continue' in converted loops --- src/compiler/emitter.ts | 10 +++---- .../blockScopedBindingsReassignedInLoop2.js | 3 +- .../blockScopedBindingsReassignedInLoop3.js | 6 ++-- .../reference/capturedLetConstInLoop6.js | 20 ------------- .../reference/capturedLetConstInLoop7.js | 20 ------------- .../reference/capturedLetConstInLoop8.js | 4 --- ...InLoopsWithCapturedBlockScopedBindings1.js | 30 +++++++++++++++++++ ...psWithCapturedBlockScopedBindings1.symbols | 21 +++++++++++++ ...oopsWithCapturedBlockScopedBindings1.types | 30 +++++++++++++++++++ ...InLoopsWithCapturedBlockScopedBindings1.ts | 13 ++++++++ 10 files changed, 101 insertions(+), 56 deletions(-) create mode 100644 tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js create mode 100644 tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.symbols create mode 100644 tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types create mode 100644 tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index c826cd77441..6cb4cf8b5d8 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -3232,8 +3232,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // loop is considered simple if it does not have any return statements or break\continue that transfer control outside of the loop // simple loops are emitted as just 'loop()'; + // NOTE: if loop uses only 'continue' it still will be emitted as simple loop const isSimpleLoop = - !loop.state.nonLocalJumps && + !(loop.state.nonLocalJumps & ~Jump.Continue) && !loop.state.labeledNonLocalBreaks && !loop.state.labeledNonLocalContinues; @@ -3274,13 +3275,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge writeLine(); } - if (loop.state.nonLocalJumps & Jump.Continue) { - write(`if (${loopResult} === "continue") continue;`); - writeLine(); - } - // in case of labeled breaks emit code that either breaks to some known label inside outer loop or delegates jump decision to outer loop emitDispatchTableForLabeledJumps(loopResult, loop.state, convertedLoopState); + // in case of 'continue' we'll just fallthough here } if (emitAsBlock) { @@ -3575,6 +3572,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } else { convertedLoopState.nonLocalJumps |= Jump.Continue; + // note: return value is emitted only to simplify debugging, call to converted loop body does not do any dispatching on it. write(`"continue";`); } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js index c48ecd96ffe..68bfd3cb676 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js @@ -73,10 +73,9 @@ var _loop_2 = function(x, y) { }; var out_x_2, out_y_2; for (var x = 1, y = 2; x < y; ++x, --y) { - var state_2 = _loop_2(x, y); + _loop_2(x, y); x = out_x_2; y = out_y_2; - if (state_2 === "continue") continue; } var _loop_3 = function(x, y) { var a = function () { return x++ + y++; }; diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js index 10160202621..7e3bac4ff52 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js @@ -147,9 +147,8 @@ var _loop_3 = function(x, y) { }; var out_a_2_1; for (var a_2 = 1; a_2 < 5; --a_2) { - var state_3 = _loop_4(a_2); + _loop_4(a_2); a_2 = out_a_2_1; - if (state_3 === "continue") continue; } y = 5; } @@ -158,10 +157,9 @@ var _loop_3 = function(x, y) { }; var out_x_2, out_y_2; for (var x = 1, y = 2; x < y; ++x, --y) { - var state_4 = _loop_3(x, y); + _loop_3(x, y); x = out_x_2; y = out_y_2; - if (state_4 === "continue") continue; } var _loop_5 = function(x, y) { var a = function () { return x++ + y++; }; diff --git a/tests/baselines/reference/capturedLetConstInLoop6.js b/tests/baselines/reference/capturedLetConstInLoop6.js index e196950e696..6a2b4c9a335 100644 --- a/tests/baselines/reference/capturedLetConstInLoop6.js +++ b/tests/baselines/reference/capturedLetConstInLoop6.js @@ -254,7 +254,6 @@ for (var _i = 0, _a = []; _i < _a.length; _i++) { var x = _a[_i]; var state_1 = _loop_1(x); if (state_1 === "break") break; - if (state_1 === "continue") continue; } var _loop_2 = function(x) { (function () { return x; }); @@ -269,7 +268,6 @@ var _loop_2 = function(x) { for (var x in []) { var state_2 = _loop_2(x); if (state_2 === "break") break; - if (state_2 === "continue") continue; } var _loop_3 = function(x) { (function () { return x; }); @@ -284,7 +282,6 @@ var _loop_3 = function(x) { for (var x = 0; x < 1; ++x) { var state_3 = _loop_3(x); if (state_3 === "break") break; - if (state_3 === "continue") continue; } var _loop_4 = function() { var x; @@ -300,7 +297,6 @@ var _loop_4 = function() { while (1 === 1) { var state_4 = _loop_4(); if (state_4 === "break") break; - if (state_4 === "continue") continue; } var _loop_5 = function() { var x; @@ -316,7 +312,6 @@ var _loop_5 = function() { do { var state_5 = _loop_5(); if (state_5 === "break") break; - if (state_5 === "continue") continue; } while (1 === 1); var _loop_6 = function(y) { var x = 1; @@ -332,7 +327,6 @@ var _loop_6 = function(y) { for (var y = 0; y < 1; ++y) { var state_6 = _loop_6(y); if (state_6 === "break") break; - if (state_6 === "continue") continue; } var _loop_7 = function(x, y) { (function () { return x + y; }); @@ -347,7 +341,6 @@ var _loop_7 = function(x, y) { for (var x = 0, y = 1; x < 1; ++x) { var state_7 = _loop_7(x, y); if (state_7 === "break") break; - if (state_7 === "continue") continue; } var _loop_8 = function() { var x, y; @@ -363,7 +356,6 @@ var _loop_8 = function() { while (1 === 1) { var state_8 = _loop_8(); if (state_8 === "break") break; - if (state_8 === "continue") continue; } var _loop_9 = function() { var x, y; @@ -379,7 +371,6 @@ var _loop_9 = function() { do { var state_9 = _loop_9(); if (state_9 === "break") break; - if (state_9 === "continue") continue; } while (1 === 1); var _loop_10 = function(y) { var x = 1; @@ -395,7 +386,6 @@ var _loop_10 = function(y) { for (var y = 0; y < 1; ++y) { var state_10 = _loop_10(y); if (state_10 === "break") break; - if (state_10 === "continue") continue; } // ====const var _loop_11 = function(x) { @@ -412,7 +402,6 @@ for (var _b = 0, _c = []; _b < _c.length; _b++) { var x = _c[_b]; var state_11 = _loop_11(x); if (state_11 === "break") break; - if (state_11 === "continue") continue; } var _loop_12 = function(x) { (function () { return x; }); @@ -427,7 +416,6 @@ var _loop_12 = function(x) { for (var x in []) { var state_12 = _loop_12(x); if (state_12 === "break") break; - if (state_12 === "continue") continue; } var _loop_13 = function(x) { (function () { return x; }); @@ -442,7 +430,6 @@ var _loop_13 = function(x) { for (var x = 0; x < 1;) { var state_13 = _loop_13(x); if (state_13 === "break") break; - if (state_13 === "continue") continue; } var _loop_14 = function() { var x = 1; @@ -458,7 +445,6 @@ var _loop_14 = function() { while (1 === 1) { var state_14 = _loop_14(); if (state_14 === "break") break; - if (state_14 === "continue") continue; } var _loop_15 = function() { var x = 1; @@ -474,7 +460,6 @@ var _loop_15 = function() { do { var state_15 = _loop_15(); if (state_15 === "break") break; - if (state_15 === "continue") continue; } while (1 === 1); var _loop_16 = function(y) { var x = 1; @@ -490,7 +475,6 @@ var _loop_16 = function(y) { for (var y = 0; y < 1;) { var state_16 = _loop_16(y); if (state_16 === "break") break; - if (state_16 === "continue") continue; } var _loop_17 = function(x, y) { (function () { return x + y; }); @@ -505,7 +489,6 @@ var _loop_17 = function(x, y) { for (var x = 0, y = 1; x < 1;) { var state_17 = _loop_17(x, y); if (state_17 === "break") break; - if (state_17 === "continue") continue; } var _loop_18 = function() { var x = 1, y = 1; @@ -521,7 +504,6 @@ var _loop_18 = function() { while (1 === 1) { var state_18 = _loop_18(); if (state_18 === "break") break; - if (state_18 === "continue") continue; } var _loop_19 = function() { var x = 1, y = 1; @@ -537,7 +519,6 @@ var _loop_19 = function() { do { var state_19 = _loop_19(); if (state_19 === "break") break; - if (state_19 === "continue") continue; } while (1 === 1); var _loop_20 = function(y) { var x = 1; @@ -553,5 +534,4 @@ var _loop_20 = function(y) { for (var y = 0; y < 1;) { var state_20 = _loop_20(y); if (state_20 === "break") break; - if (state_20 === "continue") continue; } diff --git a/tests/baselines/reference/capturedLetConstInLoop7.js b/tests/baselines/reference/capturedLetConstInLoop7.js index 8df93bca60f..56b84e7802d 100644 --- a/tests/baselines/reference/capturedLetConstInLoop7.js +++ b/tests/baselines/reference/capturedLetConstInLoop7.js @@ -397,7 +397,6 @@ l0: for (var _i = 0, _a = []; _i < _a.length; _i++) { var x = _a[_i]; var state_1 = _loop_1(x); if (state_1 === "break") break; - if (state_1 === "continue") continue; switch(state_1) { case "break-l0": break l0; case "continue-l0": continue l0; @@ -422,7 +421,6 @@ var _loop_2 = function(x) { l00: for (var x in []) { var state_2 = _loop_2(x); if (state_2 === "break") break; - if (state_2 === "continue") continue; switch(state_2) { case "break-l00": break l00; case "continue-l00": continue l00; @@ -447,7 +445,6 @@ var _loop_3 = function(x) { l1: for (var x = 0; x < 1; ++x) { var state_3 = _loop_3(x); if (state_3 === "break") break; - if (state_3 === "continue") continue; switch(state_3) { case "break-l1": break l1; case "continue-l1": continue l1; @@ -473,7 +470,6 @@ var _loop_4 = function() { l2: while (1 === 1) { var state_4 = _loop_4(); if (state_4 === "break") break; - if (state_4 === "continue") continue; switch(state_4) { case "break-l2": break l2; case "continue-l2": continue l2; @@ -499,7 +495,6 @@ var _loop_5 = function() { l3: do { var state_5 = _loop_5(); if (state_5 === "break") break; - if (state_5 === "continue") continue; switch(state_5) { case "break-l3": break l3; case "continue-l3": continue l3; @@ -525,7 +520,6 @@ var _loop_6 = function(y) { l4: for (var y = 0; y < 1; ++y) { var state_6 = _loop_6(y); if (state_6 === "break") break; - if (state_6 === "continue") continue; switch(state_6) { case "break-l4": break l4; case "continue-l4": continue l4; @@ -550,7 +544,6 @@ var _loop_7 = function(x, y) { l5: for (var x = 0, y = 1; x < 1; ++x) { var state_7 = _loop_7(x, y); if (state_7 === "break") break; - if (state_7 === "continue") continue; switch(state_7) { case "break-l5": break l5; case "continue-l5": continue l5; @@ -576,7 +569,6 @@ var _loop_8 = function() { l6: while (1 === 1) { var state_8 = _loop_8(); if (state_8 === "break") break; - if (state_8 === "continue") continue; switch(state_8) { case "break-l6": break l6; case "continue-l6": continue l6; @@ -602,7 +594,6 @@ var _loop_9 = function() { l7: do { var state_9 = _loop_9(); if (state_9 === "break") break; - if (state_9 === "continue") continue; switch(state_9) { case "break-l7": break l7; case "continue-l7": continue l7; @@ -628,7 +619,6 @@ var _loop_10 = function(y) { l8: for (var y = 0; y < 1; ++y) { var state_10 = _loop_10(y); if (state_10 === "break") break; - if (state_10 === "continue") continue; switch(state_10) { case "break-l8": break l8; case "continue-l8": continue l8; @@ -655,7 +645,6 @@ l0_c: for (var _b = 0, _c = []; _b < _c.length; _b++) { var x = _c[_b]; var state_11 = _loop_11(x); if (state_11 === "break") break; - if (state_11 === "continue") continue; switch(state_11) { case "break-l0_c": break l0_c; case "continue-l0_c": continue l0_c; @@ -680,7 +669,6 @@ var _loop_12 = function(x) { l00_c: for (var x in []) { var state_12 = _loop_12(x); if (state_12 === "break") break; - if (state_12 === "continue") continue; switch(state_12) { case "break-l00_c": break l00_c; case "continue-l00_c": continue l00_c; @@ -705,7 +693,6 @@ var _loop_13 = function(x) { l1_c: for (var x = 0; x < 1;) { var state_13 = _loop_13(x); if (state_13 === "break") break; - if (state_13 === "continue") continue; switch(state_13) { case "break-l1_c": break l1_c; case "continue-l1_c": continue l1_c; @@ -731,7 +718,6 @@ var _loop_14 = function() { l2_c: while (1 === 1) { var state_14 = _loop_14(); if (state_14 === "break") break; - if (state_14 === "continue") continue; switch(state_14) { case "break-l2_c": break l2_c; case "continue-l2_c": continue l2_c; @@ -757,7 +743,6 @@ var _loop_15 = function() { l3_c: do { var state_15 = _loop_15(); if (state_15 === "break") break; - if (state_15 === "continue") continue; switch(state_15) { case "break-l3_c": break l3_c; case "continue-l3_c": continue l3_c; @@ -783,7 +768,6 @@ var _loop_16 = function(y) { l4_c: for (var y = 0; y < 1;) { var state_16 = _loop_16(y); if (state_16 === "break") break; - if (state_16 === "continue") continue; switch(state_16) { case "break-l4_c": break l4_c; case "continue-l4_c": continue l4_c; @@ -808,7 +792,6 @@ var _loop_17 = function(x, y) { l5_c: for (var x = 0, y = 1; x < 1;) { var state_17 = _loop_17(x, y); if (state_17 === "break") break; - if (state_17 === "continue") continue; switch(state_17) { case "break-l5_c": break l5_c; case "continue-l5_c": continue l5_c; @@ -834,7 +817,6 @@ var _loop_18 = function() { l6_c: while (1 === 1) { var state_18 = _loop_18(); if (state_18 === "break") break; - if (state_18 === "continue") continue; switch(state_18) { case "break-l6_c": break l6_c; case "continue-l6_c": continue l6_c; @@ -860,7 +842,6 @@ var _loop_19 = function() { l7_c: do { var state_19 = _loop_19(); if (state_19 === "break") break; - if (state_19 === "continue") continue; switch(state_19) { case "break-l7_c": break l7_c; case "continue-l7_c": continue l7_c; @@ -886,7 +867,6 @@ var _loop_20 = function(y) { l8_c: for (var y = 0; y < 1;) { var state_20 = _loop_20(y); if (state_20 === "break") break; - if (state_20 === "continue") continue; switch(state_20) { case "break-l8_c": break l8_c; case "continue-l8_c": continue l8_c; diff --git a/tests/baselines/reference/capturedLetConstInLoop8.js b/tests/baselines/reference/capturedLetConstInLoop8.js index 560b99bb566..122bdb96e36 100644 --- a/tests/baselines/reference/capturedLetConstInLoop8.js +++ b/tests/baselines/reference/capturedLetConstInLoop8.js @@ -165,7 +165,6 @@ function foo() { var state_1 = _loop_2(y); if (typeof state_1 === "object") return state_1; if (state_1 === "break") break; - if (state_1 === "continue") continue; switch(state_1) { case "break-l1": return state_1; case "break-ll1": break ll1; @@ -200,7 +199,6 @@ function foo() { var state_2 = _loop_1(x); if (typeof state_2 === "object") return state_2.value; if (state_2 === "break") break; - if (state_2 === "continue") continue; switch(state_2) { case "break-l1": break l1; case "continue-l0": continue l0; @@ -247,7 +245,6 @@ function foo_c() { var state_3 = _loop_4(y); if (typeof state_3 === "object") return state_3; if (state_3 === "break") break; - if (state_3 === "continue") continue; switch(state_3) { case "break-l1": return state_3; case "break-ll1": break ll1; @@ -282,7 +279,6 @@ function foo_c() { var state_4 = _loop_3(x); if (typeof state_4 === "object") return state_4.value; if (state_4 === "break") break; - if (state_4 === "continue") continue; switch(state_4) { case "break-l1": break l1; case "continue-l0": continue l0; diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js new file mode 100644 index 00000000000..431bdee6c88 --- /dev/null +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js @@ -0,0 +1,30 @@ +//// [continueInLoopsWithCapturedBlockScopedBindings1.ts] +function foo() { + for (const i of [0, 1]) { + if (i === 0) { + continue; + } + + // Trigger non-simple-loop emit + (() => { + return i; + })(); + } +} + +//// [continueInLoopsWithCapturedBlockScopedBindings1.js] +function foo() { + var _loop_1 = function(i) { + if (i === 0) { + return "continue"; + } + // Trigger non-simple-loop emit + (function () { + return i; + })(); + }; + for (var _i = 0, _a = [0, 1]; _i < _a.length; _i++) { + var i = _a[_i]; + _loop_1(i); + } +} diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.symbols b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.symbols new file mode 100644 index 00000000000..bce177ca818 --- /dev/null +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts === +function foo() { +>foo : Symbol(foo, Decl(continueInLoopsWithCapturedBlockScopedBindings1.ts, 0, 0)) + + for (const i of [0, 1]) { +>i : Symbol(i, Decl(continueInLoopsWithCapturedBlockScopedBindings1.ts, 1, 14)) + + if (i === 0) { +>i : Symbol(i, Decl(continueInLoopsWithCapturedBlockScopedBindings1.ts, 1, 14)) + + continue; + } + + // Trigger non-simple-loop emit + (() => { + return i; +>i : Symbol(i, Decl(continueInLoopsWithCapturedBlockScopedBindings1.ts, 1, 14)) + + })(); + } +} diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types new file mode 100644 index 00000000000..2aeb286d604 --- /dev/null +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types @@ -0,0 +1,30 @@ +=== tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts === +function foo() { +>foo : () => void + + for (const i of [0, 1]) { +>i : number +>[0, 1] : number[] +>0 : number +>1 : number + + if (i === 0) { +>i === 0 : boolean +>i : number +>0 : number + + continue; + } + + // Trigger non-simple-loop emit + (() => { +>(() => { return i; })() : number +>(() => { return i; }) : () => number +>() => { return i; } : () => number + + return i; +>i : number + + })(); + } +} diff --git a/tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts b/tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts new file mode 100644 index 00000000000..8a17435edd6 --- /dev/null +++ b/tests/cases/compiler/continueInLoopsWithCapturedBlockScopedBindings1.ts @@ -0,0 +1,13 @@ +// @target: ES5 +function foo() { + for (const i of [0, 1]) { + if (i === 0) { + continue; + } + + // Trigger non-simple-loop emit + (() => { + return i; + })(); + } +} \ No newline at end of file From ea3593239cde31d2cd35788d97bce5204b985b19 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 28 Feb 2016 10:30:19 -0800 Subject: [PATCH 105/342] Fix linting error --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b3be9545848..80aadc977a9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6864,7 +6864,7 @@ namespace ts { // EXPRESSION TYPE CHECKING function createTransientIdentifier(symbol: Symbol, location: Node): Identifier { - let result = createNode(SyntaxKind.Identifier); + const result = createNode(SyntaxKind.Identifier); result.text = symbol.name; result.resolvedSymbol = symbol; result.parent = location; From 0346a9889c090d04570db037a3e9d9b714d6c38d Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Mon, 29 Feb 2016 08:14:00 -0800 Subject: [PATCH 106/342] - Removing ts. from jsTyping.js - Adding ".json" file extension filter when retrieving json files from host and removoing filter - simplify isTypingEnabled check --- src/services/jsTyping.ts | 54 +++++++++++++++------------------------- 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index a3268880905..352b6be77e2 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -29,17 +29,6 @@ namespace ts.JsTyping { return undefined; } - function isTypingEnabled(options: TypingOptions): boolean { - if (options) { - if (options.enableAutoDiscovery || - (options.include && options.include.length > 0) || - (options.exclude && options.exclude.length > 0)) { - return true; - } - } - return false; - } - /** * @param host is the object providing I/O related operations. * @param fileNames are the file names that belong to the same project. @@ -60,15 +49,15 @@ namespace ts.JsTyping { // A typing name to typing file path mapping const inferredTypings: Map = {}; - if (!isTypingEnabled(typingOptions)) { + if (!typingOptions || !typingOptions.enableAutoDiscovery) { return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; } const cachePath = projectRootPath || globalCachePath; // Only infer typings for .js and .jsx files - fileNames = filter(map(fileNames, ts.normalizePath), f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); + fileNames = filter(map(fileNames, normalizePath), f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); - const safeListFilePath = ts.combinePaths(globalCachePath, "safeList.json"); + const safeListFilePath = combinePaths(globalCachePath, "safeList.json"); if (!safeList && host.fileExists(safeListFilePath)) { safeList = tryParseJson(safeListFilePath, host); } @@ -82,19 +71,19 @@ namespace ts.JsTyping { exclude = typingOptions.exclude || []; if (typingOptions.enableAutoDiscovery) { - const possibleSearchDirs = map(fileNames, ts.getDirectoryPath); + const possibleSearchDirs = map(fileNames, getDirectoryPath); if (projectRootPath !== undefined) { possibleSearchDirs.push(projectRootPath); } - searchDirs = ts.deduplicate(possibleSearchDirs); + searchDirs = deduplicate(possibleSearchDirs); for (const searchDir of searchDirs) { - const packageJsonPath = ts.combinePaths(searchDir, "package.json"); + const packageJsonPath = combinePaths(searchDir, "package.json"); getTypingNamesFromJson(packageJsonPath, filesToWatch); - const bowerJsonPath = ts.combinePaths(searchDir, "bower.json"); + const bowerJsonPath = combinePaths(searchDir, "bower.json"); getTypingNamesFromJson(bowerJsonPath, filesToWatch); - const nodeModulesPath = ts.combinePaths(searchDir, "node_modules"); + const nodeModulesPath = combinePaths(searchDir, "node_modules"); getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); } @@ -102,8 +91,8 @@ namespace ts.JsTyping { getTypingNamesFromCompilerOptions(compilerOptions); } - const typingsPath = ts.combinePaths(cachePath, "typings"); - const tsdJsonPath = ts.combinePaths(cachePath, "tsd.json"); + const typingsPath = combinePaths(cachePath, "typings"); + const tsdJsonPath = combinePaths(cachePath, "tsd.json"); const tsdJsonDict = tryParseJson(tsdJsonPath, host); if (tsdJsonDict) { for (const notFoundTypingName of notFoundTypingNames) { @@ -122,7 +111,7 @@ namespace ts.JsTyping { // If the inferred[cachedTypingName] is already not null, which means we found a corresponding // d.ts file that coming with the package. That one should take higher priority. if (hasProperty(inferredTypings, cachedTypingName) && !inferredTypings[cachedTypingName]) { - inferredTypings[cachedTypingName] = ts.combinePaths(typingsPath, cachedTypingPath); + inferredTypings[cachedTypingName] = combinePaths(typingsPath, cachedTypingPath); } } } @@ -190,7 +179,7 @@ namespace ts.JsTyping { */ function getTypingNamesFromSourceFileNames(fileNames: string[]) { const jsFileNames = filter(fileNames, hasJavaScriptFileExtension); - const inferredTypingNames = map(jsFileNames, f => ts.removeFileExtension(ts.getBaseFileName(f.toLowerCase()))); + const inferredTypingNames = map(jsFileNames, f => removeFileExtension(getBaseFileName(f.toLowerCase()))); const cleanedTypingNames = map(inferredTypingNames, f => f.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, "")); if (safeList === undefined) { mergeTypings(cleanedTypingNames); @@ -216,16 +205,13 @@ namespace ts.JsTyping { } const typingNames: string[] = []; - const packageJsonFiles = - filter( - host.readDirectory(nodeModulesPath, /*extension*/ undefined, /*exclude*/ undefined, /*depth*/ 2), - f => ts.getBaseFileName(f) === "package.json"); - - for (const packageJsonFile of packageJsonFiles) { - const packageJsonDict = tryParseJson(packageJsonFile, host); + const jsonFiles = host.readDirectory(nodeModulesPath, "*.json", /*exclude*/ undefined, /*depth*/ 2); + for (const jsonFile of jsonFiles) { + if (getBaseFileName(jsonFile) !== "package.json") { continue; } + const packageJsonDict = tryParseJson(jsonFile, host); if (!packageJsonDict) { continue; } - filesToWatch.push(packageJsonFile); + filesToWatch.push(jsonFile); // npm 3 has the package.json contains a "_requiredBy" field // we should include all the top level module names for npm 2, and only module names whose @@ -239,8 +225,8 @@ namespace ts.JsTyping { // to download d.ts files from DefinitelyTyped const packageName = packageJsonDict["name"]; if (hasProperty(packageJsonDict, "typings")) { - const absPath = ts.getNormalizedAbsolutePath(packageJsonDict.typings, ts.getDirectoryPath(packageJsonFile)); - inferredTypings[packageName] = absPath; + const absolutePath = getNormalizedAbsolutePath(packageJsonDict.typings, getDirectoryPath(jsonFile)); + inferredTypings[packageName] = absolutePath; } else { typingNames.push(packageName); @@ -267,7 +253,7 @@ namespace ts.JsTyping { * @param host The object providing I/O related operations. */ export function updateNotFoundTypingNames(newTypingNames: string[], cachePath: string, host: TypingResolutionHost): void { - const tsdJsonPath = ts.combinePaths(cachePath, "tsd.json"); + const tsdJsonPath = combinePaths(cachePath, "tsd.json"); const cacheTsdJsonDict = tryParseJson(tsdJsonPath, host); if (cacheTsdJsonDict) { const installedTypingFiles = hasProperty(cacheTsdJsonDict, "installed") From c68947e0fbbbe3c47c8d7608b6ee0d04d6325d38 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 29 Feb 2016 10:07:12 -0800 Subject: [PATCH 107/342] Contextually type initializers of binding elements Previously they were not contextually typed, which meant that lambdas got completely incorrect types, and that types that rely on contextual typing, like tuples and string literal types, did not work correctly. --- src/compiler/checker.ts | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c2a14e5b9a0..03b74110962 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2604,7 +2604,7 @@ namespace ts { return name.kind === SyntaxKind.ComputedPropertyName && !isStringOrNumericLiteral((name).expression.kind); } - // Return the inferred type for a binding element + /** Return the inferred type for a binding element */ function getTypeForBindingElement(declaration: BindingElement): Type { const pattern = declaration.parent; const parentType = getTypeForBindingElementParent(pattern.parent); @@ -2630,6 +2630,9 @@ namespace ts { // computed properties with non-literal names are treated as 'any' return anyType; } + if (declaration.initializer) { + getContextualType(declaration.initializer); + } // Use type of the specified property, or otherwise, for a numeric name, the type of the numeric index signature, // or otherwise the type of the string index signature. @@ -7825,11 +7828,14 @@ namespace ts { return undefined; } - // In a variable, parameter or property declaration with a type annotation, the contextual type of an initializer - // expression is the type of the variable, parameter or property. Otherwise, in a parameter declaration of a - // contextually typed function expression, the contextual type of an initializer expression is the contextual type - // of the parameter. Otherwise, in a variable or parameter declaration with a binding pattern name, the contextual - // type of an initializer expression is the type implied by the binding pattern. + // In a variable, parameter or property declaration with a type annotation, + // the contextual type of an initializer expression is the type of the variable, parameter or property. + // Otherwise, in a parameter declaration of a contextually typed function expression, + // the contextual type of an initializer expression is the contextual type of the parameter. + // Otherwise, in a variable or parameter declaration with a binding pattern name, + // the contextual type of an initializer expression is the type implied by the binding pattern. + // Otherwise, in a binding pattern inside a variable or parameter declaration, + // the contextual type of an initializer expression is the type annotation of the containing declaration, if present. function getContextualTypeForInitializerExpression(node: Expression): Type { const declaration = node.parent; if (node === declaration.initializer) { @@ -7845,6 +7851,16 @@ namespace ts { if (isBindingPattern(declaration.name)) { return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true); } + if (isBindingPattern(declaration.parent)) { + const parentDeclaration = declaration.parent.parent; + const name = declaration.propertyName || declaration.name; + if (isVariableLike(parentDeclaration) && + parentDeclaration.type && + (name.kind === SyntaxKind.Identifier || name.kind == SyntaxKind.StringLiteral)) { + const text = (name).text; + return getTypeOfPropertyOfType(getTypeFromTypeNode(parentDeclaration.type), text); + } + } } return undefined; } From 0d372413948391409abe28c9846ac9c1eb63f5c8 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 29 Feb 2016 10:15:23 -0800 Subject: [PATCH 108/342] Add test cases and baselines. --- .../contextuallyTypedBindingInitializer.js | 41 +++++++++ ...ontextuallyTypedBindingInitializer.symbols | 73 ++++++++++++++++ .../contextuallyTypedBindingInitializer.types | 85 +++++++++++++++++++ ...TypedBindingInitializerNegative.errors.txt | 59 +++++++++++++ ...extuallyTypedBindingInitializerNegative.js | 41 +++++++++ .../contextuallyTypedBindingInitializer.ts | 25 ++++++ ...extuallyTypedBindingInitializerNegative.ts | 25 ++++++ 7 files changed, 349 insertions(+) create mode 100644 tests/baselines/reference/contextuallyTypedBindingInitializer.js create mode 100644 tests/baselines/reference/contextuallyTypedBindingInitializer.symbols create mode 100644 tests/baselines/reference/contextuallyTypedBindingInitializer.types create mode 100644 tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt create mode 100644 tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js create mode 100644 tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts create mode 100644 tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.js b/tests/baselines/reference/contextuallyTypedBindingInitializer.js new file mode 100644 index 00000000000..771e83812a5 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.js @@ -0,0 +1,41 @@ +//// [contextuallyTypedBindingInitializer.ts] +interface Show { + show: (x: number) => string; +} +function f({ show = v => v.toString() }: Show) {} + +interface Nested { + nested: Show +} +function ff({ nested = { show: v => v.toString() } }: Nested) {} + +interface Tuples { + prop: [string, number]; +} +function g({ prop = ["hello", 1234] }: Tuples) {} + +interface StringUnion { + prop: "foo" | "bar"; +} +function h({ prop = "foo" }: StringUnion) {} + +interface StringIdentity { + stringIdentity(s: string): string; +} +let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; + + +//// [contextuallyTypedBindingInitializer.js] +function f(_a) { + var _b = _a.show, show = _b === void 0 ? function (v) { return v.toString(); } : _b; +} +function ff(_a) { + var _b = _a.nested, nested = _b === void 0 ? { show: function (v) { return v.toString(); } } : _b; +} +function g(_a) { + var _b = _a.prop, prop = _b === void 0 ? ["hello", 1234] : _b; +} +function h(_a) { + var _b = _a.prop, prop = _b === void 0 ? "foo" : _b; +} +var _a = { stringIdentity: function (x) { return x; } }.stringIdentity, id = _a === void 0 ? function (arg) { return arg; } : _a; diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols new file mode 100644 index 00000000000..22e1e031a0f --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols @@ -0,0 +1,73 @@ +=== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts === +interface Show { +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) + + show: (x: number) => string; +>show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 0, 16)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 1, 11)) +} +function f({ show = v => v.toString() }: Show) {} +>f : Symbol(f, Decl(contextuallyTypedBindingInitializer.ts, 2, 1)) +>show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 3, 12)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 3, 19)) +>v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 3, 19)) +>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) + +interface Nested { +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) + + nested: Show +>nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 18)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) +} +function ff({ nested = { show: v => v.toString() } }: Nested) {} +>ff : Symbol(ff, Decl(contextuallyTypedBindingInitializer.ts, 7, 1)) +>nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 8, 13)) +>show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 8, 24)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 8, 30)) +>v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 8, 30)) +>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) + +interface Tuples { +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 8, 64)) + + prop: [string, number]; +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 10, 18)) +} +function g({ prop = ["hello", 1234] }: Tuples) {} +>g : Symbol(g, Decl(contextuallyTypedBindingInitializer.ts, 12, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 13, 12)) +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 8, 64)) + +interface StringUnion { +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 13, 49)) + + prop: "foo" | "bar"; +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 15, 23)) +} +function h({ prop = "foo" }: StringUnion) {} +>h : Symbol(h, Decl(contextuallyTypedBindingInitializer.ts, 17, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 18, 12)) +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 13, 49)) + +interface StringIdentity { +>StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 18, 44)) + + stringIdentity(s: string): string; +>stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 26)) +>s : Symbol(s, Decl(contextuallyTypedBindingInitializer.ts, 21, 19)) +} +let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; +>stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 26)) +>id : Symbol(id, Decl(contextuallyTypedBindingInitializer.ts, 23, 5)) +>arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 23, 26)) +>arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 23, 26)) +>StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 18, 44)) +>stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 23, 59)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 23, 75)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 23, 75)) + diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types new file mode 100644 index 00000000000..991a0fec2ec --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -0,0 +1,85 @@ +=== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts === +interface Show { +>Show : Show + + show: (x: number) => string; +>show : (x: number) => string +>x : number +} +function f({ show = v => v.toString() }: Show) {} +>f : ({ show = v => v.toString() }: Show) => void +>show : (x: number) => string +>v => v.toString() : (v: number) => string +>v : number +>v.toString() : string +>v.toString : (radix?: number) => string +>v : number +>toString : (radix?: number) => string +>Show : Show + +interface Nested { +>Nested : Nested + + nested: Show +>nested : Show +>Show : Show +} +function ff({ nested = { show: v => v.toString() } }: Nested) {} +>ff : ({ nested = { show: v => v.toString() } }: Nested) => void +>nested : Show +>{ show: v => v.toString() } : { show: (v: number) => string; } +>show : (v: number) => string +>v => v.toString() : (v: number) => string +>v : number +>v.toString() : string +>v.toString : (radix?: number) => string +>v : number +>toString : (radix?: number) => string +>Nested : Nested + +interface Tuples { +>Tuples : Tuples + + prop: [string, number]; +>prop : [string, number] +} +function g({ prop = ["hello", 1234] }: Tuples) {} +>g : ({ prop = ["hello", 1234] }: Tuples) => void +>prop : [string, number] +>["hello", 1234] : [string, number] +>"hello" : string +>1234 : number +>Tuples : Tuples + +interface StringUnion { +>StringUnion : StringUnion + + prop: "foo" | "bar"; +>prop : "foo" | "bar" +} +function h({ prop = "foo" }: StringUnion) {} +>h : ({ prop = "foo" }: StringUnion) => void +>prop : "foo" | "bar" +>"foo" : "foo" +>StringUnion : StringUnion + +interface StringIdentity { +>StringIdentity : StringIdentity + + stringIdentity(s: string): string; +>stringIdentity : (s: string) => string +>s : string +} +let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; +>stringIdentity : any +>id : (s: string) => string +>arg => arg : (arg: string) => string +>arg : string +>arg : string +>StringIdentity : StringIdentity +>{ stringIdentity: x => x} : { stringIdentity: (x: string) => string; } +>stringIdentity : (x: string) => string +>x => x : (x: string) => string +>x : string +>x : string + diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt new file mode 100644 index 00000000000..604113183b7 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt @@ -0,0 +1,59 @@ +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(4,20): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(9,23): error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. + Types of property 'show' are incompatible. + Type '(v: number) => number' is not assignable to type '(x: number) => string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(14,23): error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(19,14): error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. + Types of property '0' are incompatible. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(24,14): error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. + Type '"baz"' is not assignable to type '"bar"'. + + +==== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts (5 errors) ==== + interface Show { + show: (x: number) => string; + } + function f({ show: showRename = v => v }: Show) {} + ~~~~~~~~~~ +!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + + interface Nested { + nested: Show + } + function ff({ nested: nestedRename = { show: v => v } }: Nested) {} + ~~~~~~~~~~~~ +!!! error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. +!!! error TS2322: Types of property 'show' are incompatible. +!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + + interface StringIdentity { + stringIdentity(s: string): string; + } + let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; + ~~ +!!! error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + + interface Tuples { + prop: [string, number]; + } + function g({ prop = [101, 1234] }: Tuples) {} + ~~~~ +!!! error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. +!!! error TS2322: Types of property '0' are incompatible. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + + interface StringUnion { + prop: "foo" | "bar"; + } + function h({ prop = "baz" }: StringUnion) {} + ~~~~ +!!! error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. +!!! error TS2322: Type '"baz"' is not assignable to type '"bar"'. + \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js new file mode 100644 index 00000000000..77249a4ae50 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js @@ -0,0 +1,41 @@ +//// [contextuallyTypedBindingInitializerNegative.ts] +interface Show { + show: (x: number) => string; +} +function f({ show: showRename = v => v }: Show) {} + +interface Nested { + nested: Show +} +function ff({ nested: nestedRename = { show: v => v } }: Nested) {} + +interface StringIdentity { + stringIdentity(s: string): string; +} +let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; + +interface Tuples { + prop: [string, number]; +} +function g({ prop = [101, 1234] }: Tuples) {} + +interface StringUnion { + prop: "foo" | "bar"; +} +function h({ prop = "baz" }: StringUnion) {} + + +//// [contextuallyTypedBindingInitializerNegative.js] +function f(_a) { + var _b = _a.show, showRename = _b === void 0 ? function (v) { return v; } : _b; +} +function ff(_a) { + var _b = _a.nested, nestedRename = _b === void 0 ? { show: function (v) { return v; } } : _b; +} +var _a = { stringIdentity: function (x) { return x; } }.stringIdentity, id = _a === void 0 ? function (arg) { return arg.length; } : _a; +function g(_a) { + var _b = _a.prop, prop = _b === void 0 ? [101, 1234] : _b; +} +function h(_a) { + var _b = _a.prop, prop = _b === void 0 ? "baz" : _b; +} diff --git a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts new file mode 100644 index 00000000000..b135c35e1a2 --- /dev/null +++ b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts @@ -0,0 +1,25 @@ +// @noImplicitAny: true +interface Show { + show: (x: number) => string; +} +function f({ show = v => v.toString() }: Show) {} + +interface Nested { + nested: Show +} +function ff({ nested = { show: v => v.toString() } }: Nested) {} + +interface Tuples { + prop: [string, number]; +} +function g({ prop = ["hello", 1234] }: Tuples) {} + +interface StringUnion { + prop: "foo" | "bar"; +} +function h({ prop = "foo" }: StringUnion) {} + +interface StringIdentity { + stringIdentity(s: string): string; +} +let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; diff --git a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts new file mode 100644 index 00000000000..b1c4a0f4273 --- /dev/null +++ b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts @@ -0,0 +1,25 @@ +// @noImplicitAny: true +interface Show { + show: (x: number) => string; +} +function f({ show: showRename = v => v }: Show) {} + +interface Nested { + nested: Show +} +function ff({ nested: nestedRename = { show: v => v } }: Nested) {} + +interface StringIdentity { + stringIdentity(s: string): string; +} +let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; + +interface Tuples { + prop: [string, number]; +} +function g({ prop = [101, 1234] }: Tuples) {} + +interface StringUnion { + prop: "foo" | "bar"; +} +function h({ prop = "baz" }: StringUnion) {} From 70e9e0974a56dadaa6f21cfacf7a8196545c7f14 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 29 Feb 2016 11:04:10 -0800 Subject: [PATCH 109/342] Update baselines after merging with master --- .../reference/contextuallyTypedBindingInitializer.types | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types index 991a0fec2ec..25402623510 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -7,7 +7,7 @@ interface Show { >x : number } function f({ show = v => v.toString() }: Show) {} ->f : ({ show = v => v.toString() }: Show) => void +>f : ({show}: Show) => void >show : (x: number) => string >v => v.toString() : (v: number) => string >v : number @@ -25,7 +25,7 @@ interface Nested { >Show : Show } function ff({ nested = { show: v => v.toString() } }: Nested) {} ->ff : ({ nested = { show: v => v.toString() } }: Nested) => void +>ff : ({nested}: Nested) => void >nested : Show >{ show: v => v.toString() } : { show: (v: number) => string; } >show : (v: number) => string @@ -44,7 +44,7 @@ interface Tuples { >prop : [string, number] } function g({ prop = ["hello", 1234] }: Tuples) {} ->g : ({ prop = ["hello", 1234] }: Tuples) => void +>g : ({prop}: Tuples) => void >prop : [string, number] >["hello", 1234] : [string, number] >"hello" : string @@ -58,7 +58,7 @@ interface StringUnion { >prop : "foo" | "bar" } function h({ prop = "foo" }: StringUnion) {} ->h : ({ prop = "foo" }: StringUnion) => void +>h : ({prop}: StringUnion) => void >prop : "foo" | "bar" >"foo" : "foo" >StringUnion : StringUnion From e23c023adae411bae5bf09f5fb5fc5a2e77e3d57 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 29 Feb 2016 11:11:23 -0800 Subject: [PATCH 110/342] Allow single quoted strings when double quotes would otherwise need to be escaped. --- tslint.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tslint.json b/tslint.json index 2d2e42d4383..ad056efaa74 100644 --- a/tslint.json +++ b/tslint.json @@ -13,7 +13,8 @@ ], "no-var-keyword": true, "quotemark": [true, - "double" + "double", + "avoid-escape" ], "semicolon": true, "whitespace": [true, From dbf8b026564f768fd6a5fcd4368799a020c56960 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 29 Feb 2016 11:13:20 -0800 Subject: [PATCH 111/342] Use single-quoted strings in certain places. --- src/compiler/binder.ts | 2 +- src/compiler/checker.ts | 2 +- src/compiler/declarationEmitter.ts | 6 ++--- src/compiler/emitter.ts | 40 +++++++++++++++--------------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 26f16c730fb..1f19d01b9cb 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1221,7 +1221,7 @@ namespace ts { // Note: the node text must be exactly "use strict" or 'use strict'. It is not ok for the // string to contain unicode escapes (as per ES5). - return nodeText === "\"use strict\"" || nodeText === "'use strict'"; + return nodeText === '"use strict"' || nodeText === "'use strict'"; } function bindWorker(node: Node) { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c2a14e5b9a0..4926ee6fa08 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1159,7 +1159,7 @@ namespace ts { const isRelative = isExternalModuleNameRelative(moduleName); if (!isRelative) { - const symbol = getSymbol(globals, "\"" + moduleName + "\"", SymbolFlags.ValueModule); + const symbol = getSymbol(globals, '"' + moduleName + '"', SymbolFlags.ValueModule); if (symbol) { // merged symbol is module declaration symbol combined with all augmentations return getMergedSymbol(symbol); diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 0c7fa5e8dda..0b5ffca4b53 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -753,9 +753,9 @@ namespace ts { if (moduleSpecifier.kind === SyntaxKind.StringLiteral && isBundledEmit && (compilerOptions.out || compilerOptions.outFile)) { const moduleName = getExternalModuleNameFromDeclaration(host, resolver, parent); if (moduleName) { - write("\""); + write('"'); write(moduleName); - write("\""); + write('"'); return; } } @@ -1679,7 +1679,7 @@ namespace ts { host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ false); - referencePathsOutput += "/// " + newLine; + referencePathsOutput += '/// ' + newLine; } return addedBundledEmitReference; diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index c826cd77441..a91d7a68b8c 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -966,7 +966,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // Any template literal or string literal with an extended escape // (e.g. "\u{0067}") will need to be downleveled as a escaped string literal. if (languageVersion < ScriptTarget.ES6 && (isTemplateLiteralKind(node.kind) || node.hasExtendedUnicodeEscape)) { - return getQuotedEscapedLiteralText("\"", node.text, "\""); + return getQuotedEscapedLiteralText('"', node.text, '"'); } // If we don't need to downlevel and we can reach the original source text using @@ -979,7 +979,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // or an escaped quoted form of the original text if it's string-like. switch (node.kind) { case SyntaxKind.StringLiteral: - return getQuotedEscapedLiteralText("\"", node.text, "\""); + return getQuotedEscapedLiteralText('"', node.text, '"'); case SyntaxKind.NoSubstitutionTemplateLiteral: return getQuotedEscapedLiteralText("`", node.text, "`"); case SyntaxKind.TemplateHead: @@ -1205,9 +1205,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge /// 'Div' for upper-cased or dotted names function emitTagName(name: Identifier | QualifiedName) { if (name.kind === SyntaxKind.Identifier && isIntrinsicJsxName((name).text)) { - write("\""); + write('"'); emit(name); - write("\""); + write('"'); } else { emit(name); @@ -1222,9 +1222,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge emit(name); } else { - write("\""); + write('"'); emit(name); - write("\""); + write('"'); } } @@ -1493,7 +1493,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge emit((node).expression); } else { - write("\""); + write('"'); if (node.kind === SyntaxKind.NumericLiteral) { write((node).text); @@ -1502,7 +1502,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge writeTextOfNode(currentText, node); } - write("\""); + write('"'); } } @@ -1592,7 +1592,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (declaration.kind === SyntaxKind.ImportClause) { // Identifier references default import write(getGeneratedNameForNode(declaration.parent)); - write(languageVersion === ScriptTarget.ES3 ? "[\"default\"]" : ".default"); + write(languageVersion === ScriptTarget.ES3 ? '["default"]' : ".default"); return; } else if (declaration.kind === SyntaxKind.ImportSpecifier) { @@ -1601,7 +1601,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge const name = (declaration).propertyName || (declaration).name; const identifier = getTextOfNodeFromSourceText(currentText, name); if (languageVersion === ScriptTarget.ES3 && identifier === "default") { - write(`["default"]`); + write('["default"]'); } else { write("."); @@ -3792,7 +3792,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (!isEs6Module) { if (languageVersion !== ScriptTarget.ES3) { // default value of configurable, enumerable, writable are `false`. - write("Object.defineProperty(exports, \"__esModule\", { value: true });"); + write('Object.defineProperty(exports, "__esModule", { value: true });'); writeLine(); } else { @@ -3828,7 +3828,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (node.flags & NodeFlags.Default) { emitEs6ExportDefaultCompat(node); if (languageVersion === ScriptTarget.ES3) { - write("exports[\"default\"]"); + write('exports["default"]'); } else { write("exports.default"); @@ -6600,7 +6600,7 @@ const _super = (function (geti, seti) { emitEs6ExportDefaultCompat(node); emitContainingModuleName(node); if (languageVersion === ScriptTarget.ES3) { - write("[\"default\"] = "); + write('["default"] = '); } else { write(".default = "); @@ -7322,11 +7322,11 @@ const _super = (function (geti, seti) { // Fill in amd-dependency tags for (const amdDependency of node.amdDependencies) { if (amdDependency.name) { - aliasedModuleNames.push("\"" + amdDependency.path + "\""); + aliasedModuleNames.push('"' + amdDependency.path + '"'); importAliasNames.push(amdDependency.name); } else { - unaliasedModuleNames.push("\"" + amdDependency.path + "\""); + unaliasedModuleNames.push('"' + amdDependency.path + '"'); } } @@ -7368,7 +7368,7 @@ const _super = (function (geti, seti) { } function emitAMDDependencyList({ aliasedModuleNames, unaliasedModuleNames }: AMDDependencyNames) { - write("[\"require\", \"exports\""); + write('["require", "exports"'); if (aliasedModuleNames.length) { write(", "); write(aliasedModuleNames.join(", ")); @@ -7502,7 +7502,7 @@ const _super = (function (geti, seti) { if (isLineBreak(c)) { if (firstNonWhitespace !== -1 && (lastNonWhitespace - firstNonWhitespace + 1 > 0)) { const part = text.substr(firstNonWhitespace, lastNonWhitespace - firstNonWhitespace + 1); - result = (result ? result + "\" + ' ' + \"" : "") + escapeString(part); + result = (result ? result + `" + ' ' + "` : "") + escapeString(part); } firstNonWhitespace = -1; } @@ -7525,7 +7525,7 @@ const _super = (function (geti, seti) { if (entities[m] !== undefined) { const ch = String.fromCharCode(entities[m]); // " needs to be escaped - return ch === "\"" ? "\\\"" : ch; + return ch === '"' ? "\\\"" : ch; } else { return s; @@ -7569,9 +7569,9 @@ const _super = (function (geti, seti) { function emitJsxText(node: JsxText) { switch (compilerOptions.jsx) { case JsxEmit.React: - write("\""); + write('"'); write(trimReactWhitespaceAndApplyEntities(node)); - write("\""); + write('"'); break; case JsxEmit.Preserve: From 42cc5656806c6229abbccadabd1e5ea24f70ab1d Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 29 Feb 2016 13:09:23 -0800 Subject: [PATCH 112/342] Support string literals+computed property names With tests and associated baseline updates --- src/compiler/checker.ts | 8 +- .../contextuallyTypedBindingInitializer.js | 10 + ...ontextuallyTypedBindingInitializer.symbols | 78 +++-- .../contextuallyTypedBindingInitializer.types | 25 ++ ...TypedBindingInitializerNegative.errors.txt | 22 +- ...extuallyTypedBindingInitializerNegative.js | 8 + .../contextuallyTypedBindingInitializer.ts | 4 + ...extuallyTypedBindingInitializerNegative.ts | 2 + tests/webTestServer.js | 288 ++++++++++++++++++ tests/webTestServer.js.map | 1 + 10 files changed, 409 insertions(+), 37 deletions(-) create mode 100644 tests/webTestServer.js create mode 100644 tests/webTestServer.js.map diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 03b74110962..0b8208621f5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7856,9 +7856,11 @@ namespace ts { const name = declaration.propertyName || declaration.name; if (isVariableLike(parentDeclaration) && parentDeclaration.type && - (name.kind === SyntaxKind.Identifier || name.kind == SyntaxKind.StringLiteral)) { - const text = (name).text; - return getTypeOfPropertyOfType(getTypeFromTypeNode(parentDeclaration.type), text); + !isBindingPattern(name)) { + const text = getTextOfPropertyName(name); + if (text) { + return getTypeOfPropertyOfType(getTypeFromTypeNode(parentDeclaration.type), text); + } } } } diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.js b/tests/baselines/reference/contextuallyTypedBindingInitializer.js index 771e83812a5..f2424ce55d7 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.js +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.js @@ -3,6 +3,8 @@ interface Show { show: (x: number) => string; } function f({ show = v => v.toString() }: Show) {} +function f2({ "show": showRename = v => v.toString() }: Show) {} +function f3({ ["show"]: showRename = v => v.toString() }: Show) {} interface Nested { nested: Show @@ -23,12 +25,20 @@ interface StringIdentity { stringIdentity(s: string): string; } let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; + + //// [contextuallyTypedBindingInitializer.js] function f(_a) { var _b = _a.show, show = _b === void 0 ? function (v) { return v.toString(); } : _b; } +function f2(_a) { + var _b = _a["show"], showRename = _b === void 0 ? function (v) { return v.toString(); } : _b; +} +function f3(_a) { + var _b = "show", _c = _a[_b], showRename = _c === void 0 ? function (v) { return v.toString(); } : _c; +} function ff(_a) { var _b = _a.nested, nested = _b === void 0 ? { show: function (v) { return v.toString(); } } : _b; } diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols index 22e1e031a0f..5530c958e91 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols @@ -15,59 +15,79 @@ function f({ show = v => v.toString() }: Show) {} >toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) +function f2({ "show": showRename = v => v.toString() }: Show) {} +>f2 : Symbol(f2, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) +>showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializer.ts, 4, 13)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 4, 34)) +>v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 4, 34)) +>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) + +function f3({ ["show"]: showRename = v => v.toString() }: Show) {} +>f3 : Symbol(f3, Decl(contextuallyTypedBindingInitializer.ts, 4, 64)) +>showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializer.ts, 5, 13)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 5, 36)) +>v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 5, 36)) +>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) + interface Nested { ->Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 66)) nested: Show ->nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 18)) +>nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 7, 18)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) } function ff({ nested = { show: v => v.toString() } }: Nested) {} ->ff : Symbol(ff, Decl(contextuallyTypedBindingInitializer.ts, 7, 1)) ->nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 8, 13)) ->show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 8, 24)) ->v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 8, 30)) +>ff : Symbol(ff, Decl(contextuallyTypedBindingInitializer.ts, 9, 1)) +>nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 10, 13)) +>show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 10, 24)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 10, 30)) >v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 8, 30)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 10, 30)) >toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 66)) interface Tuples { ->Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 8, 64)) +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 10, 64)) prop: [string, number]; ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 10, 18)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 12, 18)) } function g({ prop = ["hello", 1234] }: Tuples) {} ->g : Symbol(g, Decl(contextuallyTypedBindingInitializer.ts, 12, 1)) ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 13, 12)) ->Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 8, 64)) +>g : Symbol(g, Decl(contextuallyTypedBindingInitializer.ts, 14, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 15, 12)) +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 10, 64)) interface StringUnion { ->StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 13, 49)) +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 15, 49)) prop: "foo" | "bar"; ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 15, 23)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 17, 23)) } function h({ prop = "foo" }: StringUnion) {} ->h : Symbol(h, Decl(contextuallyTypedBindingInitializer.ts, 17, 1)) ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 18, 12)) ->StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 13, 49)) +>h : Symbol(h, Decl(contextuallyTypedBindingInitializer.ts, 19, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 20, 12)) +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 15, 49)) interface StringIdentity { ->StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 18, 44)) +>StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 44)) stringIdentity(s: string): string; ->stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 26)) ->s : Symbol(s, Decl(contextuallyTypedBindingInitializer.ts, 21, 19)) +>stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 22, 26)) +>s : Symbol(s, Decl(contextuallyTypedBindingInitializer.ts, 23, 19)) } let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; ->stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 26)) ->id : Symbol(id, Decl(contextuallyTypedBindingInitializer.ts, 23, 5)) ->arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 23, 26)) ->arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 23, 26)) ->StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 18, 44)) ->stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 23, 59)) ->x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 23, 75)) ->x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 23, 75)) +>stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 22, 26)) +>id : Symbol(id, Decl(contextuallyTypedBindingInitializer.ts, 25, 5)) +>arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 25, 26)) +>arg : Symbol(arg, Decl(contextuallyTypedBindingInitializer.ts, 25, 26)) +>StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 44)) +>stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 25, 59)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 25, 75)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 25, 75)) + + diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types index 25402623510..0d4dfcdd5d9 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -17,6 +17,29 @@ function f({ show = v => v.toString() }: Show) {} >toString : (radix?: number) => string >Show : Show +function f2({ "show": showRename = v => v.toString() }: Show) {} +>f2 : ({"show": showRename}: Show) => void +>showRename : (x: number) => string +>v => v.toString() : (v: number) => string +>v : number +>v.toString() : string +>v.toString : (radix?: number) => string +>v : number +>toString : (radix?: number) => string +>Show : Show + +function f3({ ["show"]: showRename = v => v.toString() }: Show) {} +>f3 : ({["show"]: showRename}: Show) => void +>"show" : string +>showRename : (x: number) => string +>v => v.toString() : (v: number) => string +>v : number +>v.toString() : string +>v.toString : (radix?: number) => string +>v : number +>toString : (radix?: number) => string +>Show : Show + interface Nested { >Nested : Nested @@ -83,3 +106,5 @@ let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => >x : string >x : string + + diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt index 604113183b7..689645386c4 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt @@ -1,25 +1,37 @@ tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(4,20): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(9,23): error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(5,23): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(6,25): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(11,23): error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. Types of property 'show' are incompatible. Type '(v: number) => number' is not assignable to type '(x: number) => string'. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(14,23): error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(16,23): error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(19,14): error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(21,14): error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. Types of property '0' are incompatible. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(24,14): error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. +tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(26,14): error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. Type '"baz"' is not assignable to type '"bar"'. -==== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts (5 errors) ==== +==== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts (7 errors) ==== interface Show { show: (x: number) => string; } function f({ show: showRename = v => v }: Show) {} ~~~~~~~~~~ !!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + function f2({ "show": showRename = v => v }: Show) {} + ~~~~~~~~~~ +!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + function f3({ ["show"]: showRename = v => v }: Show) {} + ~~~~~~~~~~ +!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. interface Nested { diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js index 77249a4ae50..3f1ed156fdb 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.js @@ -3,6 +3,8 @@ interface Show { show: (x: number) => string; } function f({ show: showRename = v => v }: Show) {} +function f2({ "show": showRename = v => v }: Show) {} +function f3({ ["show"]: showRename = v => v }: Show) {} interface Nested { nested: Show @@ -29,6 +31,12 @@ function h({ prop = "baz" }: StringUnion) {} function f(_a) { var _b = _a.show, showRename = _b === void 0 ? function (v) { return v; } : _b; } +function f2(_a) { + var _b = _a["show"], showRename = _b === void 0 ? function (v) { return v; } : _b; +} +function f3(_a) { + var _b = "show", _c = _a[_b], showRename = _c === void 0 ? function (v) { return v; } : _c; +} function ff(_a) { var _b = _a.nested, nestedRename = _b === void 0 ? { show: function (v) { return v; } } : _b; } diff --git a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts index b135c35e1a2..c02aa5b63e8 100644 --- a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts +++ b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializer.ts @@ -3,6 +3,8 @@ interface Show { show: (x: number) => string; } function f({ show = v => v.toString() }: Show) {} +function f2({ "show": showRename = v => v.toString() }: Show) {} +function f3({ ["show"]: showRename = v => v.toString() }: Show) {} interface Nested { nested: Show @@ -23,3 +25,5 @@ interface StringIdentity { stringIdentity(s: string): string; } let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; + + diff --git a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts index b1c4a0f4273..fb71da7b655 100644 --- a/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts +++ b/tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts @@ -3,6 +3,8 @@ interface Show { show: (x: number) => string; } function f({ show: showRename = v => v }: Show) {} +function f2({ "show": showRename = v => v }: Show) {} +function f3({ ["show"]: showRename = v => v }: Show) {} interface Nested { nested: Show diff --git a/tests/webTestServer.js b/tests/webTestServer.js new file mode 100644 index 00000000000..d2ea8734328 --- /dev/null +++ b/tests/webTestServer.js @@ -0,0 +1,288 @@ +/// +"use strict"; +var http = require("http"); +var fs = require("fs"); +var path = require("path"); +var url = require("url"); +var child_process = require("child_process"); +var os = require("os"); +/// Command line processing /// +if (process.argv[2] == '--help') { + console.log('Runs a node server on port 8888 by default, looking for tests folder in the current directory\n'); + console.log('Syntax: node nodeServer.js [port] [typescriptEnlistmentDirectory] [tests] [--browser] [--verbose]\n'); + console.log('Examples: \n\tnode nodeServer.js 8888 .'); + console.log('\tnode nodeServer.js 3000 D:/src/typescript/public --verbose IE'); +} +function switchToForwardSlashes(path) { + return path.replace(/\\/g, "/").replace(/\/\//g, '/'); +} +var defaultPort = 8888; +var port = process.argv[2] || defaultPort; +var rootDir = switchToForwardSlashes(__dirname + '/../'); +var browser; +if (process.argv[3]) { + browser = process.argv[3]; + if (browser !== 'chrome' && browser !== 'IE') { + console.log('Invalid command line arguments. Got ' + browser + ' but expected chrome, IE or nothing.'); + } +} +var grep = process.argv[4]; +var verbose = false; +if (process.argv[5] == '--verbose') { + verbose = true; +} +else if (process.argv[5] && process.argv[5] !== '--verbose') { + console.log('Invalid command line arguments. Got ' + process.argv[5] + ' but expected --verbose or nothing.'); +} +/// Utils /// +function log(msg) { + if (verbose) { + console.log(msg); + } +} +// Copied from the compiler sources +function dir(path, spec, options) { + options = options || {}; + function filesInFolder(folder) { + var folder = switchToForwardSlashes(folder); + var paths = []; + // Everything after the current directory is relative + var baseDirectoryLength = process.cwd().length + 1; + try { + var files = fs.readdirSync(folder); + for (var i = 0; i < files.length; i++) { + var stat = fs.statSync(folder + "/" + files[i]); + if (options.recursive && stat.isDirectory()) { + paths = paths.concat(filesInFolder(folder + "/" + files[i])); + } + else if (stat.isFile() && (!spec || files[i].match(spec))) { + var relativePath = folder.substring(baseDirectoryLength); + paths.push(relativePath + "/" + files[i]); + } + } + } + catch (err) { + } + return paths; + } + return filesInFolder(path); +} +// fs.rmdirSync won't delete directories with files in it +function deleteFolderRecursive(path) { + if (fs.existsSync(path)) { + fs.readdirSync(path).forEach(function (file, index) { + var curPath = path + "/" + file; + if (fs.statSync(curPath).isDirectory()) { + deleteFolderRecursive(curPath); + } + else { + fs.unlinkSync(curPath); + } + }); + fs.rmdirSync(path); + } +} +; +function writeFile(path, data, opts) { + try { + fs.writeFileSync(path, data); + } + catch (e) { + // assume file was written to a directory that exists, if not, start recursively creating them as necessary + var parts = switchToForwardSlashes(path).split('/'); + for (var i = 0; i < parts.length; i++) { + var subDir = parts.slice(0, i).join('/'); + if (!fs.existsSync(subDir)) { + fs.mkdir(subDir); + } + } + fs.writeFileSync(path, data); + } +} +/// Request Handling /// +function handleResolutionRequest(filePath, res) { + var resolvedPath = path.resolve(filePath, ''); + resolvedPath = resolvedPath.substring(resolvedPath.indexOf('tests')); + resolvedPath = switchToForwardSlashes(resolvedPath); + send('success', res, resolvedPath); + return; +} +function send(result, res, contents, contentType) { + if (contentType === void 0) { contentType = "binary"; } + var responseCode = result === "success" ? 200 : result === "fail" ? 500 : result === 'unknown' ? 404 : parseInt(result); + res.writeHead(responseCode, { "Content-Type": contentType }); + res.end(contents); + return; +} +// Reads the data from a post request and passes it to the given callback +function processPost(req, res, callback) { + var queryData = ""; + if (typeof callback !== 'function') + return null; + if (req.method == 'POST') { + req.on('data', function (data) { + queryData += data; + if (queryData.length > 1e8) { + queryData = ""; + send("413", res, null); + console.log("ERROR: destroying connection"); + req.connection.destroy(); + } + }); + req.on('end', function () { + //res.post = url.parse(req.url).query; + callback(queryData); + }); + } + else { + send("405", res, null); + } +} +var RequestType; +(function (RequestType) { + RequestType[RequestType["GetFile"] = 0] = "GetFile"; + RequestType[RequestType["GetDir"] = 1] = "GetDir"; + RequestType[RequestType["ResolveFile"] = 2] = "ResolveFile"; + RequestType[RequestType["WriteFile"] = 3] = "WriteFile"; + RequestType[RequestType["DeleteFile"] = 4] = "DeleteFile"; + RequestType[RequestType["WriteDir"] = 5] = "WriteDir"; + RequestType[RequestType["DeleteDir"] = 6] = "DeleteDir"; + RequestType[RequestType["AppendFile"] = 7] = "AppendFile"; + RequestType[RequestType["Unknown"] = 8] = "Unknown"; +})(RequestType || (RequestType = {})); +function getRequestOperation(req, filename) { + if (req.method === 'GET' && req.url.indexOf('?') === -1) { + if (req.url.indexOf('.') !== -1) + return RequestType.GetFile; + else + return RequestType.GetDir; + } + else { + var queryData = url.parse(req.url, true).query; + if (req.method === 'GET' && queryData.resolve !== undefined) + return RequestType.ResolveFile; + // mocha uses ?grep= query string as equivalent to the --grep command line option used to filter tests + if (req.method === 'GET' && queryData.grep !== undefined) + return RequestType.GetFile; + if (req.method === 'POST' && queryData.action) { + var path = req.url.substr(0, req.url.lastIndexOf('?')); + var isFile = path.substring(path.lastIndexOf('/')).indexOf('.') !== -1; + switch (queryData.action.toUpperCase()) { + case 'WRITE': + return isFile ? RequestType.WriteFile : RequestType.WriteDir; + case 'DELETE': + return isFile ? RequestType.DeleteFile : RequestType.DeleteDir; + case 'APPEND': + return isFile ? RequestType.AppendFile : RequestType.Unknown; + } + } + return RequestType.Unknown; + } +} +function handleRequestOperation(req, res, operation, reqPath) { + switch (operation) { + case RequestType.GetDir: + var filesInFolder = dir(reqPath, "", { recursive: true }); + send('success', res, filesInFolder.join(',')); + break; + case RequestType.GetFile: + fs.readFile(reqPath, function (err, file) { + var ext = reqPath.substr(reqPath.lastIndexOf('.')); + var contentType = 'binary'; + if (ext === '.js') + contentType = 'text/javascript'; + else if (ext === '.css') + contentType = 'text/javascript'; + else if (ext === '.html') + contentType = 'text/html'; + err + ? send('fail', res, err.message, contentType) + : send('success', res, file, contentType); + }); + break; + case RequestType.ResolveFile: + var resolveRequest = req.url.match(/(.*)\?resolve/); + handleResolutionRequest(resolveRequest[1], res); + break; + case RequestType.WriteFile: + processPost(req, res, function (data) { + writeFile(reqPath, data, { recursive: true }); + }); + send('success', res, null); + break; + case RequestType.WriteDir: + fs.mkdirSync(reqPath); + send('success', res, null); + break; + case RequestType.DeleteFile: + if (fs.existsSync(reqPath)) { + fs.unlinkSync(reqPath); + } + send('success', res, null); + break; + case RequestType.DeleteDir: + if (fs.existsSync(reqPath)) { + fs.rmdirSync(reqPath); + } + send('success', res, null); + break; + case RequestType.AppendFile: + processPost(req, res, function (data) { + fs.appendFileSync(reqPath, data); + }); + send('success', res, null); + break; + case RequestType.Unknown: + default: + send('unknown', res, null); + break; + } +} +console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown"); +http.createServer(function (req, res) { + log(req.method + ' ' + req.url); + var uri = url.parse(req.url).pathname; + var reqPath = path.join(process.cwd(), uri); + var operation = getRequestOperation(req, reqPath); + handleRequestOperation(req, res, operation, reqPath); +}).listen(8888); +var browserPath; +if ((browser && browser === 'chrome')) { + var defaultChromePath = ""; + switch (os.platform()) { + case "win32": + case "win64": + defaultChromePath = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"; + break; + case "darwin": + defaultChromePath = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"; + break; + case "linux": + defaultChromePath = "/opt/google/chrome/chrome"; + break; + default: + console.log("default Chrome location is unknown for platform '" + os.platform() + "'"); + break; + } + if (fs.existsSync(defaultChromePath)) { + browserPath = defaultChromePath; + } + else { + browserPath = browser; + } +} +else { + var defaultIEPath = 'C:/Program Files/Internet Explorer/iexplore.exe'; + if (fs.existsSync(defaultIEPath)) { + browserPath = defaultIEPath; + } + else { + browserPath = browser; + } +} +console.log('Using browser: ' + browserPath); +var queryString = grep ? "?grep=" + grep : ''; +child_process.spawn(browserPath, ['http://localhost:' + port + '/tests/webTestResults.html' + queryString], { + stdio: 'inherit' +}); +//# sourceMappingURL=file:///E:/ts/tests/webTestServer.js.map \ No newline at end of file diff --git a/tests/webTestServer.js.map b/tests/webTestServer.js.map new file mode 100644 index 00000000000..5f251582cda --- /dev/null +++ b/tests/webTestServer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webTestServer.js","sourceRoot":"","sources":["file:///E:/ts/tests/webTestServer.ts"],"names":[],"mappings":"AAAA,yDAAyD;;AAEzD,IAAO,IAAI,WAAW,MAAM,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AAC1B,IAAO,IAAI,WAAW,MAAM,CAAC,CAAC;AAC9B,IAAO,GAAG,WAAW,KAAK,CAAC,CAAC;AAC5B,IAAO,aAAa,WAAW,eAAe,CAAC,CAAC;AAChD,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AAE1B,+BAA+B;AAE/B,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,qGAAqG,CAAC,CAAC;IACnH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;AACnF,CAAC;AAED,gCAAgC,IAAY;IACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,WAAW,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;AAC1C,IAAI,OAAO,GAAG,sBAAsB,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAEzD,IAAI,OAAe,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,OAAO,GAAG,sCAAsC,CAAC,CAAC;IAC3G,CAAC;AACL,CAAC;AAED,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE3B,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;IACjC,OAAO,GAAG,IAAI,CAAC;AACnB,CAAC;AAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,qCAAqC,CAAC,CAAC;AAClH,CAAC;AAED,aAAa;AACb,aAAa,GAAW;IACpB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,aAAa,IAAY,EAAE,IAAa,EAAE,OAAa;IACnD,OAAO,GAAG,OAAO,IAA8B,EAAE,CAAC;IAElD,uBAAuB,MAAc;QACjC,IAAI,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,qDAAqD;QACrD,IAAI,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC1C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;oBACzD,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEf,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,yDAAyD;AACzD,+BAA+B,IAAY;IACvC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK;YAC9C,IAAI,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;YAChC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACL,CAAC;AAAA,CAAC;AAEF,mBAAmB,IAAY,EAAE,IAAS,EAAE,IAA4B;IACpE,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAE;IAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACT,2GAA2G;QAC3G,IAAI,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;AACL,CAAC;AAED,wBAAwB;AAExB,iCAAiC,QAAgB,EAAE,GAAwB;IACvE,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9C,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACnC,MAAM,CAAC;AACX,CAAC;AAMD,cAAc,MAAc,EAAE,GAAwB,EAAE,QAAgB,EAAE,WAAsB;IAAtB,2BAAsB,GAAtB,sBAAsB;IAC5F,IAAI,YAAY,GAAG,MAAM,KAAK,SAAS,GAAG,GAAG,GAAG,MAAM,KAAK,MAAM,GAAG,GAAG,GAAG,MAAM,KAAK,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxH,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClB,MAAM,CAAC;AACX,CAAC;AAED,yEAAyE;AACzE,qBAAqB,GAAuB,EAAE,GAAwB,EAAE,QAA+B;IACnG,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAEhD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAY;YACjC,SAAS,IAAI,IAAI,CAAC;YAClB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzB,SAAS,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;YACV,sCAAsC;YACtC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,IAAK,WAUJ;AAVD,WAAK,WAAW;IACZ,mDAAO,CAAA;IACP,iDAAM,CAAA;IACN,2DAAW,CAAA;IACX,uDAAS,CAAA;IACT,yDAAU,CAAA;IACV,qDAAQ,CAAA;IACR,uDAAS,CAAA;IACT,yDAAU,CAAA;IACV,mDAAO,CAAA;AACX,CAAC,EAVI,WAAW,KAAX,WAAW,QAUf;AAED,6BAA6B,GAAuB,EAAE,QAAgB;IAClE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;QAC5D,IAAI;YAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,CAAC;QACF,IAAI,SAAS,GAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;QACpD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAA;QAC3F,8GAA8G;QAC9G,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;QACpF,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrC,KAAK,OAAO;oBACR,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACjE,KAAK,QAAQ;oBACT,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;gBACnE,KAAK,QAAQ;oBACT,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC;YACrE,CAAC;QACL,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;IAC9B,CAAC;AACL,CAAC;AAED,gCAAgC,GAAuB,EAAE,GAAwB,EAAE,SAAsB,EAAE,OAAe;IACtH,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChB,KAAK,WAAW,CAAC,MAAM;YACnB,IAAI,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,OAAO;YACpB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,IAAI;gBACpC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnD,IAAI,WAAW,GAAG,QAAQ,CAAC;gBAC3B,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC;oBAAC,WAAW,GAAG,iBAAiB,CAAA;gBAClD,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC;oBAAC,WAAW,GAAG,iBAAiB,CAAA;gBACxD,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;oBAAC,WAAW,GAAG,WAAW,CAAA;gBACnD,GAAG;sBACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;sBAC3C,IAAI,CAAC,SAAS,EAAE,GAAG,EAAQ,IAAK,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,WAAW;YACxB,IAAI,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACpD,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChD,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,SAAS;YACtB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAC,IAAI;gBACvB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,QAAQ;YACrB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,UAAU;YACvB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,SAAS;YACtB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,UAAU;YACvB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAC,IAAI;gBACvB,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,OAAO,CAAC;QACzB;YACI,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;IACd,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,uDAAuD,GAAG,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAExG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAuB,EAAE,GAAwB;IACzE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACrC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,IAAI,WAAmB,CAAC;AACxB,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACR,iBAAiB,GAAG,6DAA6D,CAAC;YAClF,KAAK,CAAC;QACV,KAAK,QAAQ;YACT,iBAAiB,GAAG,8DAA8D,CAAC;YACnF,KAAK,CAAC;QACV,KAAK,OAAO;YACR,iBAAiB,GAAG,2BAA2B,CAAA;YAC/C,KAAK,CAAC;QACV;YACI,OAAO,CAAC,GAAG,CAAC,sDAAoD,EAAE,CAAC,QAAQ,EAAE,MAAG,CAAC,CAAC;YAClF,KAAK,CAAC;IACd,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,WAAW,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;AACL,CAAC;AAAC,IAAI,CAAC,CAAC;IACJ,IAAI,aAAa,GAAG,iDAAiD,CAAC;IACtE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,WAAW,GAAG,aAAa,CAAC;IAChC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AAE7C,IAAI,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9C,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,mBAAmB,GAAG,IAAI,GAAG,4BAA4B,GAAG,WAAW,CAAC,EAAE;IACxG,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC"} \ No newline at end of file From 4c4bc6112918767b1968580a6b56127f54177354 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 29 Feb 2016 13:32:17 -0800 Subject: [PATCH 113/342] Remove mistakenly added webTestServer files --- tests/webTestServer.js | 288 ------------------------------------- tests/webTestServer.js.map | 1 - 2 files changed, 289 deletions(-) delete mode 100644 tests/webTestServer.js delete mode 100644 tests/webTestServer.js.map diff --git a/tests/webTestServer.js b/tests/webTestServer.js deleted file mode 100644 index d2ea8734328..00000000000 --- a/tests/webTestServer.js +++ /dev/null @@ -1,288 +0,0 @@ -/// -"use strict"; -var http = require("http"); -var fs = require("fs"); -var path = require("path"); -var url = require("url"); -var child_process = require("child_process"); -var os = require("os"); -/// Command line processing /// -if (process.argv[2] == '--help') { - console.log('Runs a node server on port 8888 by default, looking for tests folder in the current directory\n'); - console.log('Syntax: node nodeServer.js [port] [typescriptEnlistmentDirectory] [tests] [--browser] [--verbose]\n'); - console.log('Examples: \n\tnode nodeServer.js 8888 .'); - console.log('\tnode nodeServer.js 3000 D:/src/typescript/public --verbose IE'); -} -function switchToForwardSlashes(path) { - return path.replace(/\\/g, "/").replace(/\/\//g, '/'); -} -var defaultPort = 8888; -var port = process.argv[2] || defaultPort; -var rootDir = switchToForwardSlashes(__dirname + '/../'); -var browser; -if (process.argv[3]) { - browser = process.argv[3]; - if (browser !== 'chrome' && browser !== 'IE') { - console.log('Invalid command line arguments. Got ' + browser + ' but expected chrome, IE or nothing.'); - } -} -var grep = process.argv[4]; -var verbose = false; -if (process.argv[5] == '--verbose') { - verbose = true; -} -else if (process.argv[5] && process.argv[5] !== '--verbose') { - console.log('Invalid command line arguments. Got ' + process.argv[5] + ' but expected --verbose or nothing.'); -} -/// Utils /// -function log(msg) { - if (verbose) { - console.log(msg); - } -} -// Copied from the compiler sources -function dir(path, spec, options) { - options = options || {}; - function filesInFolder(folder) { - var folder = switchToForwardSlashes(folder); - var paths = []; - // Everything after the current directory is relative - var baseDirectoryLength = process.cwd().length + 1; - try { - var files = fs.readdirSync(folder); - for (var i = 0; i < files.length; i++) { - var stat = fs.statSync(folder + "/" + files[i]); - if (options.recursive && stat.isDirectory()) { - paths = paths.concat(filesInFolder(folder + "/" + files[i])); - } - else if (stat.isFile() && (!spec || files[i].match(spec))) { - var relativePath = folder.substring(baseDirectoryLength); - paths.push(relativePath + "/" + files[i]); - } - } - } - catch (err) { - } - return paths; - } - return filesInFolder(path); -} -// fs.rmdirSync won't delete directories with files in it -function deleteFolderRecursive(path) { - if (fs.existsSync(path)) { - fs.readdirSync(path).forEach(function (file, index) { - var curPath = path + "/" + file; - if (fs.statSync(curPath).isDirectory()) { - deleteFolderRecursive(curPath); - } - else { - fs.unlinkSync(curPath); - } - }); - fs.rmdirSync(path); - } -} -; -function writeFile(path, data, opts) { - try { - fs.writeFileSync(path, data); - } - catch (e) { - // assume file was written to a directory that exists, if not, start recursively creating them as necessary - var parts = switchToForwardSlashes(path).split('/'); - for (var i = 0; i < parts.length; i++) { - var subDir = parts.slice(0, i).join('/'); - if (!fs.existsSync(subDir)) { - fs.mkdir(subDir); - } - } - fs.writeFileSync(path, data); - } -} -/// Request Handling /// -function handleResolutionRequest(filePath, res) { - var resolvedPath = path.resolve(filePath, ''); - resolvedPath = resolvedPath.substring(resolvedPath.indexOf('tests')); - resolvedPath = switchToForwardSlashes(resolvedPath); - send('success', res, resolvedPath); - return; -} -function send(result, res, contents, contentType) { - if (contentType === void 0) { contentType = "binary"; } - var responseCode = result === "success" ? 200 : result === "fail" ? 500 : result === 'unknown' ? 404 : parseInt(result); - res.writeHead(responseCode, { "Content-Type": contentType }); - res.end(contents); - return; -} -// Reads the data from a post request and passes it to the given callback -function processPost(req, res, callback) { - var queryData = ""; - if (typeof callback !== 'function') - return null; - if (req.method == 'POST') { - req.on('data', function (data) { - queryData += data; - if (queryData.length > 1e8) { - queryData = ""; - send("413", res, null); - console.log("ERROR: destroying connection"); - req.connection.destroy(); - } - }); - req.on('end', function () { - //res.post = url.parse(req.url).query; - callback(queryData); - }); - } - else { - send("405", res, null); - } -} -var RequestType; -(function (RequestType) { - RequestType[RequestType["GetFile"] = 0] = "GetFile"; - RequestType[RequestType["GetDir"] = 1] = "GetDir"; - RequestType[RequestType["ResolveFile"] = 2] = "ResolveFile"; - RequestType[RequestType["WriteFile"] = 3] = "WriteFile"; - RequestType[RequestType["DeleteFile"] = 4] = "DeleteFile"; - RequestType[RequestType["WriteDir"] = 5] = "WriteDir"; - RequestType[RequestType["DeleteDir"] = 6] = "DeleteDir"; - RequestType[RequestType["AppendFile"] = 7] = "AppendFile"; - RequestType[RequestType["Unknown"] = 8] = "Unknown"; -})(RequestType || (RequestType = {})); -function getRequestOperation(req, filename) { - if (req.method === 'GET' && req.url.indexOf('?') === -1) { - if (req.url.indexOf('.') !== -1) - return RequestType.GetFile; - else - return RequestType.GetDir; - } - else { - var queryData = url.parse(req.url, true).query; - if (req.method === 'GET' && queryData.resolve !== undefined) - return RequestType.ResolveFile; - // mocha uses ?grep= query string as equivalent to the --grep command line option used to filter tests - if (req.method === 'GET' && queryData.grep !== undefined) - return RequestType.GetFile; - if (req.method === 'POST' && queryData.action) { - var path = req.url.substr(0, req.url.lastIndexOf('?')); - var isFile = path.substring(path.lastIndexOf('/')).indexOf('.') !== -1; - switch (queryData.action.toUpperCase()) { - case 'WRITE': - return isFile ? RequestType.WriteFile : RequestType.WriteDir; - case 'DELETE': - return isFile ? RequestType.DeleteFile : RequestType.DeleteDir; - case 'APPEND': - return isFile ? RequestType.AppendFile : RequestType.Unknown; - } - } - return RequestType.Unknown; - } -} -function handleRequestOperation(req, res, operation, reqPath) { - switch (operation) { - case RequestType.GetDir: - var filesInFolder = dir(reqPath, "", { recursive: true }); - send('success', res, filesInFolder.join(',')); - break; - case RequestType.GetFile: - fs.readFile(reqPath, function (err, file) { - var ext = reqPath.substr(reqPath.lastIndexOf('.')); - var contentType = 'binary'; - if (ext === '.js') - contentType = 'text/javascript'; - else if (ext === '.css') - contentType = 'text/javascript'; - else if (ext === '.html') - contentType = 'text/html'; - err - ? send('fail', res, err.message, contentType) - : send('success', res, file, contentType); - }); - break; - case RequestType.ResolveFile: - var resolveRequest = req.url.match(/(.*)\?resolve/); - handleResolutionRequest(resolveRequest[1], res); - break; - case RequestType.WriteFile: - processPost(req, res, function (data) { - writeFile(reqPath, data, { recursive: true }); - }); - send('success', res, null); - break; - case RequestType.WriteDir: - fs.mkdirSync(reqPath); - send('success', res, null); - break; - case RequestType.DeleteFile: - if (fs.existsSync(reqPath)) { - fs.unlinkSync(reqPath); - } - send('success', res, null); - break; - case RequestType.DeleteDir: - if (fs.existsSync(reqPath)) { - fs.rmdirSync(reqPath); - } - send('success', res, null); - break; - case RequestType.AppendFile: - processPost(req, res, function (data) { - fs.appendFileSync(reqPath, data); - }); - send('success', res, null); - break; - case RequestType.Unknown: - default: - send('unknown', res, null); - break; - } -} -console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown"); -http.createServer(function (req, res) { - log(req.method + ' ' + req.url); - var uri = url.parse(req.url).pathname; - var reqPath = path.join(process.cwd(), uri); - var operation = getRequestOperation(req, reqPath); - handleRequestOperation(req, res, operation, reqPath); -}).listen(8888); -var browserPath; -if ((browser && browser === 'chrome')) { - var defaultChromePath = ""; - switch (os.platform()) { - case "win32": - case "win64": - defaultChromePath = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"; - break; - case "darwin": - defaultChromePath = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"; - break; - case "linux": - defaultChromePath = "/opt/google/chrome/chrome"; - break; - default: - console.log("default Chrome location is unknown for platform '" + os.platform() + "'"); - break; - } - if (fs.existsSync(defaultChromePath)) { - browserPath = defaultChromePath; - } - else { - browserPath = browser; - } -} -else { - var defaultIEPath = 'C:/Program Files/Internet Explorer/iexplore.exe'; - if (fs.existsSync(defaultIEPath)) { - browserPath = defaultIEPath; - } - else { - browserPath = browser; - } -} -console.log('Using browser: ' + browserPath); -var queryString = grep ? "?grep=" + grep : ''; -child_process.spawn(browserPath, ['http://localhost:' + port + '/tests/webTestResults.html' + queryString], { - stdio: 'inherit' -}); -//# sourceMappingURL=file:///E:/ts/tests/webTestServer.js.map \ No newline at end of file diff --git a/tests/webTestServer.js.map b/tests/webTestServer.js.map deleted file mode 100644 index 5f251582cda..00000000000 --- a/tests/webTestServer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"webTestServer.js","sourceRoot":"","sources":["file:///E:/ts/tests/webTestServer.ts"],"names":[],"mappings":"AAAA,yDAAyD;;AAEzD,IAAO,IAAI,WAAW,MAAM,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AAC1B,IAAO,IAAI,WAAW,MAAM,CAAC,CAAC;AAC9B,IAAO,GAAG,WAAW,KAAK,CAAC,CAAC;AAC5B,IAAO,aAAa,WAAW,eAAe,CAAC,CAAC;AAChD,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AAE1B,+BAA+B;AAE/B,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,qGAAqG,CAAC,CAAC;IACnH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;AACnF,CAAC;AAED,gCAAgC,IAAY;IACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,WAAW,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;AAC1C,IAAI,OAAO,GAAG,sBAAsB,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAEzD,IAAI,OAAe,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,OAAO,GAAG,sCAAsC,CAAC,CAAC;IAC3G,CAAC;AACL,CAAC;AAED,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE3B,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;IACjC,OAAO,GAAG,IAAI,CAAC;AACnB,CAAC;AAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,qCAAqC,CAAC,CAAC;AAClH,CAAC;AAED,aAAa;AACb,aAAa,GAAW;IACpB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,aAAa,IAAY,EAAE,IAAa,EAAE,OAAa;IACnD,OAAO,GAAG,OAAO,IAA8B,EAAE,CAAC;IAElD,uBAAuB,MAAc;QACjC,IAAI,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,qDAAqD;QACrD,IAAI,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC1C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;oBACzD,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEf,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,yDAAyD;AACzD,+BAA+B,IAAY;IACvC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK;YAC9C,IAAI,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;YAChC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACL,CAAC;AAAA,CAAC;AAEF,mBAAmB,IAAY,EAAE,IAAS,EAAE,IAA4B;IACpE,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAE;IAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACT,2GAA2G;QAC3G,IAAI,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;AACL,CAAC;AAED,wBAAwB;AAExB,iCAAiC,QAAgB,EAAE,GAAwB;IACvE,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9C,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACnC,MAAM,CAAC;AACX,CAAC;AAMD,cAAc,MAAc,EAAE,GAAwB,EAAE,QAAgB,EAAE,WAAsB;IAAtB,2BAAsB,GAAtB,sBAAsB;IAC5F,IAAI,YAAY,GAAG,MAAM,KAAK,SAAS,GAAG,GAAG,GAAG,MAAM,KAAK,MAAM,GAAG,GAAG,GAAG,MAAM,KAAK,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxH,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClB,MAAM,CAAC;AACX,CAAC;AAED,yEAAyE;AACzE,qBAAqB,GAAuB,EAAE,GAAwB,EAAE,QAA+B;IACnG,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAEhD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAY;YACjC,SAAS,IAAI,IAAI,CAAC;YAClB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzB,SAAS,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;YACV,sCAAsC;YACtC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,IAAK,WAUJ;AAVD,WAAK,WAAW;IACZ,mDAAO,CAAA;IACP,iDAAM,CAAA;IACN,2DAAW,CAAA;IACX,uDAAS,CAAA;IACT,yDAAU,CAAA;IACV,qDAAQ,CAAA;IACR,uDAAS,CAAA;IACT,yDAAU,CAAA;IACV,mDAAO,CAAA;AACX,CAAC,EAVI,WAAW,KAAX,WAAW,QAUf;AAED,6BAA6B,GAAuB,EAAE,QAAgB;IAClE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;QAC5D,IAAI;YAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,CAAC;QACF,IAAI,SAAS,GAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;QACpD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAA;QAC3F,8GAA8G;QAC9G,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;QACpF,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrC,KAAK,OAAO;oBACR,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACjE,KAAK,QAAQ;oBACT,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;gBACnE,KAAK,QAAQ;oBACT,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC;YACrE,CAAC;QACL,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;IAC9B,CAAC;AACL,CAAC;AAED,gCAAgC,GAAuB,EAAE,GAAwB,EAAE,SAAsB,EAAE,OAAe;IACtH,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChB,KAAK,WAAW,CAAC,MAAM;YACnB,IAAI,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,OAAO;YACpB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,IAAI;gBACpC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnD,IAAI,WAAW,GAAG,QAAQ,CAAC;gBAC3B,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC;oBAAC,WAAW,GAAG,iBAAiB,CAAA;gBAClD,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC;oBAAC,WAAW,GAAG,iBAAiB,CAAA;gBACxD,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;oBAAC,WAAW,GAAG,WAAW,CAAA;gBACnD,GAAG;sBACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;sBAC3C,IAAI,CAAC,SAAS,EAAE,GAAG,EAAQ,IAAK,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,WAAW;YACxB,IAAI,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACpD,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChD,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,SAAS;YACtB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAC,IAAI;gBACvB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,QAAQ;YACrB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,UAAU;YACvB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,SAAS;YACtB,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,UAAU;YACvB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAC,IAAI;gBACvB,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;QACV,KAAK,WAAW,CAAC,OAAO,CAAC;QACzB;YACI,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC;IACd,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,uDAAuD,GAAG,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAExG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAuB,EAAE,GAAwB;IACzE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACrC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,IAAI,WAAmB,CAAC;AACxB,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACR,iBAAiB,GAAG,6DAA6D,CAAC;YAClF,KAAK,CAAC;QACV,KAAK,QAAQ;YACT,iBAAiB,GAAG,8DAA8D,CAAC;YACnF,KAAK,CAAC;QACV,KAAK,OAAO;YACR,iBAAiB,GAAG,2BAA2B,CAAA;YAC/C,KAAK,CAAC;QACV;YACI,OAAO,CAAC,GAAG,CAAC,sDAAoD,EAAE,CAAC,QAAQ,EAAE,MAAG,CAAC,CAAC;YAClF,KAAK,CAAC;IACd,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,WAAW,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;AACL,CAAC;AAAC,IAAI,CAAC,CAAC;IACJ,IAAI,aAAa,GAAG,iDAAiD,CAAC;IACtE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,WAAW,GAAG,aAAa,CAAC;IAChC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AAE7C,IAAI,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9C,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,mBAAmB,GAAG,IAAI,GAAG,4BAA4B,GAAG,WAAW,CAAC,EAAE;IACxG,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC"} \ No newline at end of file From c155de778a42a8a91ea1f2044e09c8ee0f6bb7fc Mon Sep 17 00:00:00 2001 From: zhengbli Date: Mon, 29 Feb 2016 17:11:01 -0800 Subject: [PATCH 114/342] Avoid removing indentation on a new line as trailing white spaces --- src/services/formatting/formatting.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index 78d225be845..eb40d3aa6ab 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -72,12 +72,14 @@ namespace ts.formatting { if (line === 0) { return []; } - // get the span for the previous\current line + // After the enter key, the cursor is now at a new line. The new line should not be formatted, + // otherwise the indentation would be treated as trailing whitespaces and removed. The previous + // line should be formatted, and the one before that should be used as reference. let span = { - // get start position for the previous line - pos: getStartPositionOfLine(line - 1, sourceFile), - // get end position for the current line (end value is exclusive so add 1 to the result) - end: getEndLinePosition(line, sourceFile) + 1 + // get start position for the line before previous line + pos: getStartPositionOfLine(line - 2, sourceFile), + // get end position for the previous line (end value is exclusive so add 1 to the result) + end: getEndLinePosition(line - 1, sourceFile) + 1 } return formatSpan(span, sourceFile, options, rulesProvider, FormattingRequestKind.FormatOnEnter); } From b82ff93b01c34bae74f61af5eb10f8f71849e8f5 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Mon, 29 Feb 2016 18:35:48 -0800 Subject: [PATCH 115/342] Don't crash if there's no JSX.Element during SFC resolution Fixes #7286 --- src/compiler/checker.ts | 24 ++++++++++--------- ...StringLiteralsInJsxAttributes01.errors.txt | 9 ++++--- ...llyTypedStringLiteralsInJsxAttributes01.js | 13 ++++++++-- .../reference/tsxAttributeResolution13.js | 9 +++++++ .../tsxAttributeResolution13.symbols | 9 +++++++ .../reference/tsxAttributeResolution13.types | 10 ++++++++ .../jsx/tsxAttributeResolution13.tsx | 5 ++++ ...lyTypedStringLiteralsInJsxAttributes01.tsx | 5 +++- 8 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 tests/baselines/reference/tsxAttributeResolution13.js create mode 100644 tests/baselines/reference/tsxAttributeResolution13.symbols create mode 100644 tests/baselines/reference/tsxAttributeResolution13.types create mode 100644 tests/cases/conformance/jsx/tsxAttributeResolution13.tsx diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 692b6ea848b..135c52eb501 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8797,18 +8797,20 @@ namespace ts { if (!elemClassType || !isTypeAssignableTo(elemInstanceType, elemClassType)) { // Is this is a stateless function component? See if its single signature's return type is // assignable to the JSX Element Type - const elemType = checkExpression(node.tagName); - const callSignatures = elemType && getSignaturesOfType(elemType, SignatureKind.Call); - const callSignature = callSignatures && callSignatures.length > 0 && callSignatures[0]; - const callReturnType = callSignature && getReturnTypeOfSignature(callSignature); - let paramType = callReturnType && (callSignature.parameters.length === 0 ? emptyObjectType : getTypeOfSymbol(callSignature.parameters[0])); - if (callReturnType && isTypeAssignableTo(callReturnType, jsxElementType)) { - // Intersect in JSX.IntrinsicAttributes if it exists - const intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes); - if (intrinsicAttributes !== unknownType) { - paramType = intersectTypes(intrinsicAttributes, paramType); + if (jsxElementType) { + const elemType = checkExpression(node.tagName); + const callSignatures = elemType && getSignaturesOfType(elemType, SignatureKind.Call); + const callSignature = callSignatures && callSignatures.length > 0 && callSignatures[0]; + const callReturnType = callSignature && getReturnTypeOfSignature(callSignature); + let paramType = callReturnType && (callSignature.parameters.length === 0 ? emptyObjectType : getTypeOfSymbol(callSignature.parameters[0])); + if (callReturnType && isTypeAssignableTo(callReturnType, jsxElementType)) { + // Intersect in JSX.IntrinsicAttributes if it exists + const intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes); + if (intrinsicAttributes !== unknownType) { + paramType = intersectTypes(intrinsicAttributes, paramType); + } + return links.resolvedJsxType = paramType; } - return links.resolvedJsxType = paramType; } } diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt index b5d4e01b677..32b86e455d2 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt @@ -1,15 +1,18 @@ -tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(13,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. +tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(16,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. Type '"f"' is not assignable to type '"C"'. -tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(14,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. +tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(17,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. Type '"f"' is not assignable to type '"C"'. ==== tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx (2 errors) ==== namespace JSX { - interface IntrinsicElements { + export interface IntrinsicElements { span: {}; } + export interface Element { + something?: any; + } } const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}; diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.js b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.js index c21247c2835..d1b2ebf5ae5 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.js +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.js @@ -1,9 +1,12 @@ //// [contextuallyTypedStringLiteralsInJsxAttributes01.tsx] namespace JSX { - interface IntrinsicElements { + export interface IntrinsicElements { span: {}; } + export interface Element { + something?: any; + } } const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}; @@ -24,7 +27,13 @@ var FooComponent = function (props) { return {props.foo}; }; //// [contextuallyTypedStringLiteralsInJsxAttributes01.d.ts] declare namespace JSX { + interface IntrinsicElements { + span: {}; + } + interface Element { + something?: any; + } } declare const FooComponent: (props: { foo: "A" | "B" | "C"; -}) => any; +}) => JSX.Element; diff --git a/tests/baselines/reference/tsxAttributeResolution13.js b/tests/baselines/reference/tsxAttributeResolution13.js new file mode 100644 index 00000000000..e6c942eb926 --- /dev/null +++ b/tests/baselines/reference/tsxAttributeResolution13.js @@ -0,0 +1,9 @@ +//// [test.tsx] + +function Test() { } + + + +//// [test.jsx] +function Test() { } +; diff --git a/tests/baselines/reference/tsxAttributeResolution13.symbols b/tests/baselines/reference/tsxAttributeResolution13.symbols new file mode 100644 index 00000000000..a913e50969c --- /dev/null +++ b/tests/baselines/reference/tsxAttributeResolution13.symbols @@ -0,0 +1,9 @@ +=== tests/cases/conformance/jsx/test.tsx === + +function Test() { } +>Test : Symbol(Test, Decl(test.tsx, 0, 0)) + + +>Test : Symbol(Test, Decl(test.tsx, 0, 0)) +>Test : Symbol(Test, Decl(test.tsx, 0, 0)) + diff --git a/tests/baselines/reference/tsxAttributeResolution13.types b/tests/baselines/reference/tsxAttributeResolution13.types new file mode 100644 index 00000000000..f0435b80812 --- /dev/null +++ b/tests/baselines/reference/tsxAttributeResolution13.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/jsx/test.tsx === + +function Test() { } +>Test : () => void + + +> : any +>Test : any +>Test : any + diff --git a/tests/cases/conformance/jsx/tsxAttributeResolution13.tsx b/tests/cases/conformance/jsx/tsxAttributeResolution13.tsx new file mode 100644 index 00000000000..1b5937a7db2 --- /dev/null +++ b/tests/cases/conformance/jsx/tsxAttributeResolution13.tsx @@ -0,0 +1,5 @@ +//@jsx: preserve + +//@filename: test.tsx +function Test() { } + diff --git a/tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx b/tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx index ce6f4b7ac2f..2235961086f 100644 --- a/tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx +++ b/tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx @@ -2,9 +2,12 @@ // @declaration: true namespace JSX { - interface IntrinsicElements { + export interface IntrinsicElements { span: {}; } + export interface Element { + something?: any; + } } const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}; From 50eca44e46a85a9ac155deea7ef649802af9b10e Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Mon, 29 Feb 2016 18:55:32 -0800 Subject: [PATCH 116/342] Support JSDoc on class / obj. literal getters Fixes #6878 --- src/compiler/parser.ts | 2 +- .../fourslash/getJavaScriptQuickInfo7.ts | 34 +++++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index db9639156a5..e7e45a19a93 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -3954,7 +3954,7 @@ namespace ts { function tryParseAccessorDeclaration(fullStart: number, decorators: NodeArray, modifiers: ModifiersArray): AccessorDeclaration { if (parseContextualModifier(SyntaxKind.GetKeyword)) { - return parseAccessorDeclaration(SyntaxKind.GetAccessor, fullStart, decorators, modifiers); + return addJSDocComment(parseAccessorDeclaration(SyntaxKind.GetAccessor, fullStart, decorators, modifiers)); } else if (parseContextualModifier(SyntaxKind.SetKeyword)) { return parseAccessorDeclaration(SyntaxKind.SetAccessor, fullStart, decorators, modifiers); diff --git a/tests/cases/fourslash/getJavaScriptQuickInfo7.ts b/tests/cases/fourslash/getJavaScriptQuickInfo7.ts index 5aa8474757d..2c8e40131e5 100644 --- a/tests/cases/fourslash/getJavaScriptQuickInfo7.ts +++ b/tests/cases/fourslash/getJavaScriptQuickInfo7.ts @@ -2,19 +2,25 @@ // @allowNonTsExtensions: true // @Filename: file.js -//// /** -//// * This is a very cool function that is very nice. -//// * @returns something -//// * @param p anotherthing -//// */ -//// function a1(p) { -//// try { -//// throw new Error('x'); -//// } catch (x) { x--; } -//// return 23; +//// let x = { +//// /** This is cool*/ +//// get m() { +//// return 0; +//// } //// } -//// -//// x - /**/a1() +//// x.m/*1*/; +//// +//// class Foo { +//// /** This is cool too*/ +//// get b() { +//// return 0; +//// } +//// } +//// var y = new Foo(); +//// y.b/*2*/; -goTo.marker(); -verify.quickInfoExists(); \ No newline at end of file +goTo.marker('1'); +verify.quickInfoIs(undefined, 'This is cool'); + +goTo.marker('2'); +verify.quickInfoIs(undefined, 'This is cool too'); From 7dcdb827b6c8fba4f2cef111a2574c9db0729b68 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Mon, 29 Feb 2016 19:21:20 -0800 Subject: [PATCH 117/342] Add JavaScriptFile to ContextFlags (cherry picked from commit 6253c9b5cd6a8fa5e08bf88ddabdf0283ccf7007) --- src/compiler/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c065478a20a..af5984847f7 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -411,7 +411,7 @@ namespace ts { EmitHelperFlags = HasClassExtends | HasDecorators | HasParamDecorators | HasAsyncFunctions, // Parsing context flags - ContextFlags = DisallowInContext | YieldContext | DecoratorContext | AwaitContext, + ContextFlags = DisallowInContext | YieldContext | DecoratorContext | AwaitContext | JavaScriptFile, // Exclude these flags when parsing a Type TypeExcludesFlags = YieldContext | AwaitContext, From 086fb0ee0a1ff7e65c9ded318dced54137d73a7c Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Mon, 29 Feb 2016 22:37:42 -0800 Subject: [PATCH 118/342] Fix failing JSDocParser tests (cherry picked from commit ae27b8984730879de63749023cc68d0e777f0fe6) --- tests/cases/unittests/jsDocParsing.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/cases/unittests/jsDocParsing.ts b/tests/cases/unittests/jsDocParsing.ts index 9988383b467..e2941f7fc19 100644 --- a/tests/cases/unittests/jsDocParsing.ts +++ b/tests/cases/unittests/jsDocParsing.ts @@ -11,6 +11,9 @@ module ts { assert.isTrue(typeAndDiagnostics && typeAndDiagnostics.diagnostics.length === 0); let result = Utils.sourceFileToJSON(typeAndDiagnostics.jsDocTypeExpression.type); + + // Remove the parserContextFlags from the comparison + result = result.replace(/\,\n\s+\"parserContextFlags\": \"JavaScriptFile\"/g, ""); assert.equal(result, expected); } @@ -998,7 +1001,10 @@ module ts { ? JSON.parse(Utils.sourceFileToJSON(v)) : v; }, 4); - + + // Remove the parserContextFlags from the comparison + result = result.replace(/\,\n\s+\"parserContextFlags\": \"JavaScriptFile\"/g, ""); + if (result !== expected) { // Turn on a human-readable diff if (typeof require !== 'undefined') { From cbd73369141f2ee1f45cb079ffa4497afc11d9d7 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Tue, 1 Mar 2016 10:36:37 -0800 Subject: [PATCH 119/342] Changed how parserContextFlags are handled in tests (cherry picked from commit b5da80202f41e6f293153a2df945063d584b022a) --- tests/cases/unittests/jsDocParsing.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/cases/unittests/jsDocParsing.ts b/tests/cases/unittests/jsDocParsing.ts index e2941f7fc19..9c68cea3297 100644 --- a/tests/cases/unittests/jsDocParsing.ts +++ b/tests/cases/unittests/jsDocParsing.ts @@ -12,8 +12,6 @@ module ts { let result = Utils.sourceFileToJSON(typeAndDiagnostics.jsDocTypeExpression.type); - // Remove the parserContextFlags from the comparison - result = result.replace(/\,\n\s+\"parserContextFlags\": \"JavaScriptFile\"/g, ""); assert.equal(result, expected); } @@ -1002,9 +1000,6 @@ module ts { : v; }, 4); - // Remove the parserContextFlags from the comparison - result = result.replace(/\,\n\s+\"parserContextFlags\": \"JavaScriptFile\"/g, ""); - if (result !== expected) { // Turn on a human-readable diff if (typeof require !== 'undefined') { From b3ceea3b3d4880080b2a980e3aa4e5ec94b9b08c Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Tue, 1 Mar 2016 11:50:27 -0800 Subject: [PATCH 120/342] - replacing TryParseJson with existing readConfig - push error for invalid enableAutoDiscovery option - adding interfaces for jsons - removing updateNotFoundTypings - node_modules normalize file names before using - adding safeListPath to discoverTypings --- src/compiler/commandLineParser.ts | 5 +- src/services/jsTyping.ts | 157 ++++++++++++------------------ src/services/shims.ts | 18 +--- 3 files changed, 70 insertions(+), 110 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 403345c9b04..226dcd750af 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -503,7 +503,7 @@ namespace ts { * * This method replace comment content by whitespace rather than completely remove them to keep positions in json parsing error reporting accurate. */ - export function removeComments(jsonText: string): string { + function removeComments(jsonText: string): string { let output = ""; const scanner = createScanner(ScriptTarget.ES5, /* skipTrivia */ false, LanguageVariant.Standard, jsonText); let token: SyntaxKind; @@ -614,6 +614,9 @@ namespace ts { if (typeof jsonTypingOptions[id] === "boolean") { options.enableAutoDiscovery = jsonTypingOptions[id]; } + else { + errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); + } } else if (id === "include") { options.include = convertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 352b6be77e2..786a199eb43 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -13,35 +13,47 @@ namespace ts.JsTyping { readDirectory: (path: string, extension?: string, exclude?: string[], depth?: number) => string[]; }; + interface TsdJson { + version: string; + repo: string; + ref: string; + path: string; + installed?: Map; + }; + + interface TsdInstalledItem { + commit: string; + }; + + interface PackageJson { + _requiredBy?: string[]; + dependencies?: Map; + devDependencies?: Map; + name: string; + optionalDependencies?: Map; + peerDependencies?: Map; + typings?: string; + }; + // A map of loose file names to library names // that we are confident require typings let safeList: Map; - const notFoundTypingNames: string[] = []; - - function tryParseJson(jsonPath: string, host: TypingResolutionHost): any { - if (host.fileExists(jsonPath)) { - try { - const contents = removeComments(host.readFile(jsonPath)); - return JSON.parse(contents); - } - catch (e) { } - } - return undefined; - } /** * @param host is the object providing I/O related operations. * @param fileNames are the file names that belong to the same project. - * @param globalCachePath is used to get the safe list file path and as cache path if the project root path isn't specified. - * @param projectRootPath is the path to the project root directory. This is used for the local typings cache. + * @param cachePath is the path to the typings cache + * @param projectRootPath is the path to the project root directory + * @param safeListPath is the path used to retrieve the safe list * @param typingOptions are used for customizing the typing inference process. * @param compilerOptions are used as a source of typing inference. */ export function discoverTypings( host: TypingResolutionHost, fileNames: string[], - globalCachePath: Path, + cachePath: Path, projectRootPath: Path, + safeListPath: Path, typingOptions: TypingOptions, compilerOptions: CompilerOptions): { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { @@ -53,13 +65,12 @@ namespace ts.JsTyping { return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; } - const cachePath = projectRootPath || globalCachePath; // Only infer typings for .js and .jsx files fileNames = filter(map(fileNames, normalizePath), f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); - const safeListFilePath = combinePaths(globalCachePath, "safeList.json"); - if (!safeList && host.fileExists(safeListFilePath)) { - safeList = tryParseJson(safeListFilePath, host); + if (!safeList) { + const result = readConfigFile(safeListPath, host.readFile); + if (result.config) { safeList = result.config; } } const filesToWatch: string[] = []; @@ -86,26 +97,20 @@ namespace ts.JsTyping { const nodeModulesPath = combinePaths(searchDir, "node_modules"); getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); } - getTypingNamesFromSourceFileNames(fileNames); - getTypingNamesFromCompilerOptions(compilerOptions); } const typingsPath = combinePaths(cachePath, "typings"); const tsdJsonPath = combinePaths(cachePath, "tsd.json"); - const tsdJsonDict = tryParseJson(tsdJsonPath, host); - if (tsdJsonDict) { - for (const notFoundTypingName of notFoundTypingNames) { - if (hasProperty(inferredTypings, notFoundTypingName) && !inferredTypings[notFoundTypingName]) { - delete inferredTypings[notFoundTypingName]; - } - } + const result = readConfigFile(tsdJsonPath, host.readFile); + if (result.config) { + const tsdJson: TsdJson = result.config; // The "installed" property in the tsd.json serves as a registry of installed typings. Each item // of this object has a key of the relative file path, and a value that contains the corresponding // commit hash. - if (hasProperty(tsdJsonDict, "installed")) { - for (const cachedTypingPath in tsdJsonDict.installed) { + if (tsdJson.installed) { + for (const cachedTypingPath in tsdJson.installed) { // Assuming the cachedTypingPath has the format of "[package name]/[file name]" const cachedTypingName = cachedTypingPath.substr(0, cachedTypingPath.indexOf("/")); // If the inferred[cachedTypingName] is already not null, which means we found a corresponding @@ -153,20 +158,21 @@ namespace ts.JsTyping { * Get the typing info from common package manager json files like package.json or bower.json */ function getTypingNamesFromJson(jsonPath: string, filesToWatch: string[]) { - const jsonDict = tryParseJson(jsonPath, host); - if (jsonDict) { + const result = readConfigFile(jsonPath, host.readFile); + if (result.config) { + const jsonConfig: PackageJson = result.config; filesToWatch.push(jsonPath); - if (hasProperty(jsonDict, "dependencies")) { - mergeTypings(getKeys(jsonDict.dependencies)); + if (jsonConfig.dependencies) { + mergeTypings(getKeys(jsonConfig.dependencies)); } - if (hasProperty(jsonDict, "devDependencies")) { - mergeTypings(getKeys(jsonDict.devDependencies)); + if (jsonConfig.devDependencies) { + mergeTypings(getKeys(jsonConfig.devDependencies)); } - if (hasProperty(jsonDict, "optionalDependencies")) { - mergeTypings(getKeys(jsonDict.optionalDependencies)); + if (jsonConfig.optionalDependencies) { + mergeTypings(getKeys(jsonConfig.optionalDependencies)); } - if (hasProperty(jsonDict, "peerDependencies")) { - mergeTypings(getKeys(jsonDict.peerDependencies)); + if (jsonConfig.peerDependencies) { + mergeTypings(getKeys(jsonConfig.peerDependencies)); } } } @@ -205,75 +211,36 @@ namespace ts.JsTyping { } const typingNames: string[] = []; - const jsonFiles = host.readDirectory(nodeModulesPath, "*.json", /*exclude*/ undefined, /*depth*/ 2); - for (const jsonFile of jsonFiles) { - if (getBaseFileName(jsonFile) !== "package.json") { continue; } - const packageJsonDict = tryParseJson(jsonFile, host); - if (!packageJsonDict) { continue; } + const fileNames = host.readDirectory(nodeModulesPath, "*.json", /*exclude*/ undefined, /*depth*/ 2); + for (const fileName of fileNames) { + const normalizedFileName = normalizePath(fileName); + if (getBaseFileName(normalizedFileName) !== "package.json") { continue; } + const result = readConfigFile(normalizedFileName, host.readFile); + if (!result.config) { continue; } + const packageJson: PackageJson = result.config; + filesToWatch.push(normalizedFileName); - filesToWatch.push(jsonFile); - - // npm 3 has the package.json contains a "_requiredBy" field + // npm 3's package.json contains a "_requiredBy" field // we should include all the top level module names for npm 2, and only module names whose // "_requiredBy" field starts with "#" or equals "/" for npm 3. - if (packageJsonDict._requiredBy && - filter(packageJsonDict._requiredBy, (r: string) => r[0] === "#" || r === "/").length === 0) { + if (packageJson._requiredBy && + filter(packageJson._requiredBy, (r: string) => r[0] === "#" || r === "/").length === 0) { continue; } // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used // to download d.ts files from DefinitelyTyped - const packageName = packageJsonDict["name"]; - if (hasProperty(packageJsonDict, "typings")) { - const absolutePath = getNormalizedAbsolutePath(packageJsonDict.typings, getDirectoryPath(jsonFile)); - inferredTypings[packageName] = absolutePath; + if (!packageJson.name) { continue; } + if (packageJson.typings) { + const absolutePath = getNormalizedAbsolutePath(packageJson.typings, getDirectoryPath(normalizedFileName)); + inferredTypings[packageJson.name] = absolutePath; } else { - typingNames.push(packageName); + typingNames.push(packageJson.name); } } mergeTypings(typingNames); } - function getTypingNamesFromCompilerOptions(options: CompilerOptions) { - const typingNames: string[] = []; - if (!options) { - return; - } - mergeTypings(typingNames); - } - } - - /** - * Keep a list of typings names that we know cannot be obtained at the moment (could be because - * of network issues or because the package doesn't hava a d.ts file in DefinitelyTyped), so - * that we won't try again next time within this session. - * @param newTypingNames The list of new typings that the host attempted to acquire - * @param cachePath The path to the tsd.json cache - * @param host The object providing I/O related operations. - */ - export function updateNotFoundTypingNames(newTypingNames: string[], cachePath: string, host: TypingResolutionHost): void { - const tsdJsonPath = combinePaths(cachePath, "tsd.json"); - const cacheTsdJsonDict = tryParseJson(tsdJsonPath, host); - if (cacheTsdJsonDict) { - const installedTypingFiles = hasProperty(cacheTsdJsonDict, "installed") - ? getKeys(cacheTsdJsonDict.installed) - : []; - const newMissingTypingNames = - filter(newTypingNames, name => notFoundTypingNames.indexOf(name) < 0 && !isInstalled(name, installedTypingFiles)); - for (const newMissingTypingName of newMissingTypingNames) { - notFoundTypingNames.push(newMissingTypingName); - } - } - } - - function isInstalled(typing: string, installedKeys: string[]) { - const typingPrefix = typing + "/"; - for (const key of installedKeys) { - if (key.indexOf(typingPrefix) === 0) { - return true; - } - } - return false; } } diff --git a/src/services/shims.ts b/src/services/shims.ts index 47a64ab58f6..6ba9b04c276 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -232,8 +232,7 @@ namespace ts { getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getTSConfigFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getDefaultCompilationSettings(): string; - discoverTypings(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; - updateNotFoundTypingNames(newTypingsJson: string, globalCachePath: string, projectRootPath: string): string; + discoverTypings(fileNamesJson: string, cachePath: string, projectRootPath: string, safeListPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; } function logInternalError(logger: Logger, err: Error) { @@ -988,31 +987,22 @@ namespace ts { ); } - public discoverTypings(fileNamesJson: string, globalCachePath: string, projectRootPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { + public discoverTypings(fileNamesJson: string, cachePath: string, projectRootPath: string, safeListPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { const getCanonicalFileName = createGetCanonicalFileName(/*useCaseSensitivefileNames:*/ false); return this.forwardJSONCall("discoverTypings()", () => { - const cachePath = projectRootPath ? projectRootPath : globalCachePath; const typingOptions = JSON.parse(typingOptionsJson); - const compilerOptions = JSON.parse(compilerOptionsJson); const fileNames: string[] = JSON.parse(fileNamesJson); return ts.JsTyping.discoverTypings( this.host, fileNames, - toPath(globalCachePath, globalCachePath, getCanonicalFileName), toPath(cachePath, cachePath, getCanonicalFileName), + toPath(projectRootPath, projectRootPath, getCanonicalFileName), + toPath(safeListPath, safeListPath, getCanonicalFileName), typingOptions, compilerOptions); }); } - - public updateNotFoundTypingNames(newTypingsJson: string, globalCachePath: string, projectRootPath: string): string { - return this.forwardJSONCall("updateNotFoundTypingNames()", () => { - const newTypingNames: string[] = JSON.parse(newTypingsJson); - const cachePath = projectRootPath ? projectRootPath : globalCachePath; - ts.JsTyping.updateNotFoundTypingNames(newTypingNames, cachePath, this.host); - }); - } } export class TypeScriptServicesFactory implements ShimFactory { From 1f9153f801718b34a30ff1bdca6513afcb85eca3 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 1 Mar 2016 12:26:17 -0800 Subject: [PATCH 121/342] Update to push types through as well --- src/compiler/checker.ts | 14 ++++++-- .../fourslash/getJavaScriptQuickInfo7.ts | 34 ++++++++----------- .../fourslash/getJavaScriptQuickInfo8.ts | 29 ++++++++++++++++ 3 files changed, 55 insertions(+), 22 deletions(-) create mode 100644 tests/cases/fourslash/getJavaScriptQuickInfo8.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 692b6ea848b..eeece6d7c07 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2958,12 +2958,22 @@ namespace ts { function getTypeOfAccessors(symbol: Symbol): Type { const links = getSymbolLinks(symbol); if (!links.type) { + const getter = getDeclarationOfKind(symbol, SyntaxKind.GetAccessor); + const setter = getDeclarationOfKind(symbol, SyntaxKind.SetAccessor); + + if (getter.flags & NodeFlags.JavaScriptFile) { + const jsDocType = getTypeForVariableLikeDeclarationFromJSDocComment(getter); + if (jsDocType) { + return links.type = jsDocType; + } + } + if (!pushTypeResolution(symbol, TypeSystemPropertyName.Type)) { return unknownType; } - const getter = getDeclarationOfKind(symbol, SyntaxKind.GetAccessor); - const setter = getDeclarationOfKind(symbol, SyntaxKind.SetAccessor); + let type: Type; + // First try to see if the user specified a return type on the get-accessor. const getterReturnType = getAnnotatedAccessorType(getter); if (getterReturnType) { diff --git a/tests/cases/fourslash/getJavaScriptQuickInfo7.ts b/tests/cases/fourslash/getJavaScriptQuickInfo7.ts index 2c8e40131e5..5aa8474757d 100644 --- a/tests/cases/fourslash/getJavaScriptQuickInfo7.ts +++ b/tests/cases/fourslash/getJavaScriptQuickInfo7.ts @@ -2,25 +2,19 @@ // @allowNonTsExtensions: true // @Filename: file.js -//// let x = { -//// /** This is cool*/ -//// get m() { -//// return 0; -//// } +//// /** +//// * This is a very cool function that is very nice. +//// * @returns something +//// * @param p anotherthing +//// */ +//// function a1(p) { +//// try { +//// throw new Error('x'); +//// } catch (x) { x--; } +//// return 23; //// } -//// x.m/*1*/; -//// -//// class Foo { -//// /** This is cool too*/ -//// get b() { -//// return 0; -//// } -//// } -//// var y = new Foo(); -//// y.b/*2*/; +//// +//// x - /**/a1() -goTo.marker('1'); -verify.quickInfoIs(undefined, 'This is cool'); - -goTo.marker('2'); -verify.quickInfoIs(undefined, 'This is cool too'); +goTo.marker(); +verify.quickInfoExists(); \ No newline at end of file diff --git a/tests/cases/fourslash/getJavaScriptQuickInfo8.ts b/tests/cases/fourslash/getJavaScriptQuickInfo8.ts new file mode 100644 index 00000000000..09ac27ce595 --- /dev/null +++ b/tests/cases/fourslash/getJavaScriptQuickInfo8.ts @@ -0,0 +1,29 @@ +/// + +// @allowNonTsExtensions: true +// @Filename: file.js +//// let x = { +//// /** @type {number} */ +//// get m() { +//// return undefined; +//// } +//// } +//// x.m/*1*/; +//// +//// class Foo { +//// /** @type {string} */ +//// get b() { +//// return undefined; +//// } +//// } +//// var y = new Foo(); +//// y.b/*2*/; + +goTo.marker('1'); +edit.insert('.'); +verify.memberListContains('toFixed', undefined, undefined, 'method'); +edit.backspace(); + +goTo.marker('2'); +edit.insert('.'); +verify.memberListContains('substr', undefined, undefined, 'method'); From 6cdbc6cad0243af02f8a70d4f132c659923814c2 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 1 Mar 2016 13:47:29 -0800 Subject: [PATCH 122/342] Show aliases (e.g. imports) in JSX tag completion positions Fixes #4577 --- src/services/services.ts | 2 +- tests/cases/fourslash/tsxCompletion11.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/tsxCompletion11.ts diff --git a/src/services/services.ts b/src/services/services.ts index 65a6bd1362c..c297d33fdb4 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3134,7 +3134,7 @@ namespace ts { else if (isRightOfOpenTag) { const tagSymbols = typeChecker.getJsxIntrinsicTagNames(); if (tryGetGlobalSymbols()) { - symbols = tagSymbols.concat(symbols.filter(s => !!(s.flags & SymbolFlags.Value))); + symbols = tagSymbols.concat(symbols.filter(s => !!(s.flags & (SymbolFlags.Value | SymbolFlags.Alias)))); } else { symbols = tagSymbols; diff --git a/tests/cases/fourslash/tsxCompletion11.ts b/tests/cases/fourslash/tsxCompletion11.ts new file mode 100644 index 00000000000..5d9c869a9b6 --- /dev/null +++ b/tests/cases/fourslash/tsxCompletion11.ts @@ -0,0 +1,14 @@ +/// + +//@module: commonjs +//@jsx: preserve + +//@Filename: exporter.tsx +//// export class Thing { } + +//@Filename: file.tsx +//// import {Thing} from './exporter'; +//// var x1 =
Date: Tue, 1 Mar 2016 15:09:15 -0800 Subject: [PATCH 123/342] Don't crash --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index eeece6d7c07..97eb15cd0d9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2961,7 +2961,7 @@ namespace ts { const getter = getDeclarationOfKind(symbol, SyntaxKind.GetAccessor); const setter = getDeclarationOfKind(symbol, SyntaxKind.SetAccessor); - if (getter.flags & NodeFlags.JavaScriptFile) { + if (getter && getter.flags & NodeFlags.JavaScriptFile) { const jsDocType = getTypeForVariableLikeDeclarationFromJSDocComment(getter); if (jsDocType) { return links.type = jsDocType; From 0ef2b9ea85b6f87e7287a38168647b775f6b67ba Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Tue, 1 Mar 2016 15:47:00 -0800 Subject: [PATCH 124/342] flip sides source and target when we check signature relations --- src/compiler/checker.ts | 2 +- .../reference/arrayLiterals3.errors.txt | 8 ++-- .../reference/assignmentCompatBug5.errors.txt | 4 +- ...ignmentCompatWithCallSignatures.errors.txt | 32 ++++++------- ...gnmentCompatWithCallSignatures2.errors.txt | 16 +++---- ...gnmentCompatWithCallSignatures4.errors.txt | 8 ++-- ...allSignaturesWithRestParameters.errors.txt | 36 +++++++------- ...tCompatWithConstructSignatures4.errors.txt | 40 ++++++++-------- .../assignmentCompatWithOverloads.errors.txt | 8 ++-- ...tureAssignabilityInInheritance3.errors.txt | 8 ++-- ...tureAssignabilityInInheritance3.errors.txt | 8 ++-- .../reference/contextualTyping24.errors.txt | 4 +- ...lTypingOfConditionalExpression2.errors.txt | 4 +- .../derivedClassTransitivity.errors.txt | 4 +- .../derivedClassTransitivity2.errors.txt | 4 +- .../derivedClassTransitivity3.errors.txt | 4 +- .../derivedClassTransitivity4.errors.txt | 4 +- ...tructuringParameterDeclaration2.errors.txt | 8 ++-- ...AnnotationAndInvalidInitializer.errors.txt | 8 ++-- ...functionConstraintSatisfaction2.errors.txt | 4 +- ...ctionSignatureAssignmentCompat1.errors.txt | 4 +- ...AssignmentCompatWithInterfaces1.errors.txt | 4 +- ...lWithGenericSignatureArguments2.errors.txt | 14 ++---- .../genericSpecializations3.errors.txt | 12 ++--- .../genericTypeAssertions2.errors.txt | 4 +- ...cTypeWithNonGenericBaseMisMatch.errors.txt | 18 +++---- ...ementGenericWithMismatchedTypes.errors.txt | 4 +- .../reference/incompatibleTypes.errors.txt | 4 +- .../interfaceAssignmentCompat.errors.txt | 10 ++-- .../lastPropertyInLiteralWins.errors.txt | 4 +- ...ptionalFunctionArgAssignability.errors.txt | 4 +- .../optionalParamAssignmentCompat.errors.txt | 4 +- .../optionalParamTypeComparison.errors.txt | 8 ++-- .../overloadOnConstInheritance2.errors.txt | 4 +- ...loadOnConstNoAnyImplementation2.errors.txt | 8 ++-- ...dOnConstNoStringImplementation2.errors.txt | 8 ++-- ...nWithConstraintCheckingDeferred.errors.txt | 8 ++-- .../reference/promisePermutations.errors.txt | 44 ++++++++--------- .../reference/promisePermutations2.errors.txt | 44 ++++++++--------- .../reference/promisePermutations3.errors.txt | 48 +++++++++---------- .../restArgAssignmentCompat.errors.txt | 4 +- ...ralTypesOverloadAssignability01.errors.txt | 8 ++-- ...ralTypesOverloadAssignability02.errors.txt | 8 ++-- ...allSignaturesWithRestParameters.errors.txt | 44 ++++++++--------- ...entInferenceConstructSignatures.errors.txt | 12 ++--- .../typeArgumentInferenceErrors.errors.txt | 12 ++--- ...rgumentInferenceWithConstraints.errors.txt | 12 ++--- ...ypeParameterArgumentEquivalence.errors.txt | 8 ++-- ...peParameterArgumentEquivalence2.errors.txt | 8 ++-- 49 files changed, 287 insertions(+), 301 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 135c52eb501..d5b024c57e9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5337,7 +5337,7 @@ namespace ts { for (let i = 0; i < checkCount; i++) { const s = i < sourceMax ? getTypeOfSymbol(sourceParams[i]) : getRestTypeOfSignature(source); const t = i < targetMax ? getTypeOfSymbol(targetParams[i]) : getRestTypeOfSignature(target); - const related = compareTypes(t, s, /*reportErrors*/ false) || compareTypes(s, t, reportErrors); + const related = compareTypes(s, t, /*reportErrors*/ false) || compareTypes(t, s, reportErrors); if (!related) { if (reportErrors) { errorReporter(Diagnostics.Types_of_parameters_0_and_1_are_incompatible, diff --git a/tests/baselines/reference/arrayLiterals3.errors.txt b/tests/baselines/reference/arrayLiterals3.errors.txt index 5409075a55c..f205e90eced 100644 --- a/tests/baselines/reference/arrayLiterals3.errors.txt +++ b/tests/baselines/reference/arrayLiterals3.errors.txt @@ -16,8 +16,8 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error Types of property 'push' are incompatible. Type '(...items: (number | string)[]) => number' is not assignable to type '(...items: Number[]) => number'. Types of parameters 'items' and 'items' are incompatible. - Type 'number | string' is not assignable to type 'Number'. - Type 'string' is not assignable to type 'Number'. + Type 'Number' is not assignable to type 'number | string'. + Type 'Number' is not assignable to type 'string'. ==== tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts (6 errors) ==== @@ -79,6 +79,6 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error !!! error TS2322: Types of property 'push' are incompatible. !!! error TS2322: Type '(...items: (number | string)[]) => number' is not assignable to type '(...items: Number[]) => number'. !!! error TS2322: Types of parameters 'items' and 'items' are incompatible. -!!! error TS2322: Type 'number | string' is not assignable to type 'Number'. -!!! error TS2322: Type 'string' is not assignable to type 'Number'. +!!! error TS2322: Type 'Number' is not assignable to type 'number | string'. +!!! error TS2322: Type 'Number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatBug5.errors.txt b/tests/baselines/reference/assignmentCompatBug5.errors.txt index 1b5e3d80259..44e28f15d8c 100644 --- a/tests/baselines/reference/assignmentCompatBug5.errors.txt +++ b/tests/baselines/reference/assignmentCompatBug5.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/assignmentCompatBug5.ts(5,6): error TS2345: Argument of typ Type 'string' is not assignable to type 'number'. tests/cases/compiler/assignmentCompatBug5.ts(8,6): error TS2345: Argument of type '(s: string) => void' is not assignable to parameter of type '(n: number) => number'. Types of parameters 's' and 'n' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/assignmentCompatBug5.ts(9,6): error TS2345: Argument of type '(n: number) => void' is not assignable to parameter of type '(n: number) => number'. Type 'void' is not assignable to type 'number'. @@ -27,7 +27,7 @@ tests/cases/compiler/assignmentCompatBug5.ts(9,6): error TS2345: Argument of typ ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(s: string) => void' is not assignable to parameter of type '(n: number) => number'. !!! error TS2345: Types of parameters 's' and 'n' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. foo3((n) => { return; }); ~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(n: number) => void' is not assignable to parameter of type '(n: number) => number'. diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt index 6a221ef144e..c5914e59386 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt @@ -1,27 +1,27 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(35,1): error TS2322: Type 'S2' is not assignable to type 'T'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(36,1): error TS2322: Type '(x: string) => void' is not assignable to type 'T'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(37,1): error TS2322: Type '(x: string) => number' is not assignable to type 'T'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(38,1): error TS2322: Type '(x: string) => string' is not assignable to type 'T'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(39,1): error TS2322: Type 'S2' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(40,1): error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(41,1): error TS2322: Type '(x: string) => number' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts(42,1): error TS2322: Type '(x: string) => string' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts (8 errors) ==== @@ -63,40 +63,40 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~ !!! error TS2322: Type 'S2' is not assignable to type 'T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. t = a3; ~ !!! error TS2322: Type '(x: string) => void' is not assignable to type 'T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. t = (x: string) => 1; ~ !!! error TS2322: Type '(x: string) => number' is not assignable to type 'T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. t = function (x: string) { return ''; } ~ !!! error TS2322: Type '(x: string) => string' is not assignable to type 'T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = s2; ~ !!! error TS2322: Type 'S2' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = a3; ~ !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = (x: string) => 1; ~ !!! error TS2322: Type '(x: string) => number' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = function (x: string) { return ''; } ~ !!! error TS2322: Type '(x: string) => string' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt index e67f0a930c2..ffc0fdcd772 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt @@ -10,12 +10,12 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme Types of property 'f' are incompatible. Type '(x: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(43,1): error TS2322: Type '{ f(x: string): void; }' is not assignable to type 'T'. Types of property 'f' are incompatible. Type '(x: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(44,1): error TS2322: Type '(x: string) => number' is not assignable to type 'T'. Property 'f' is missing in type '(x: string) => number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(45,1): error TS2322: Type '(x: string) => string' is not assignable to type 'T'. @@ -24,12 +24,12 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme Types of property 'f' are incompatible. Type '(x: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(47,1): error TS2322: Type '{ f(x: string): void; }' is not assignable to type '{ f(x: number): void; }'. Types of property 'f' are incompatible. Type '(x: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(48,1): error TS2322: Type '(x: string) => number' is not assignable to type '{ f(x: number): void; }'. Property 'f' is missing in type '(x: string) => number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts(49,1): error TS2322: Type '(x: string) => string' is not assignable to type '{ f(x: number): void; }'. @@ -96,14 +96,14 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme !!! error TS2322: Types of property 'f' are incompatible. !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. t = a3; ~ !!! error TS2322: Type '{ f(x: string): void; }' is not assignable to type 'T'. !!! error TS2322: Types of property 'f' are incompatible. !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. t = (x: string) => 1; ~ !!! error TS2322: Type '(x: string) => number' is not assignable to type 'T'. @@ -118,14 +118,14 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme !!! error TS2322: Types of property 'f' are incompatible. !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = a3; ~ !!! error TS2322: Type '{ f(x: string): void; }' is not assignable to type '{ f(x: number): void; }'. !!! error TS2322: Types of property 'f' are incompatible. !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = (x: string) => 1; ~ !!! error TS2322: Type '(x: string) => number' is not assignable to type '{ f(x: number): void; }'. diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt index a75b5fafac1..8d184edc085 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt @@ -1,13 +1,13 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts(52,9): error TS2322: Type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. + Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. Types of parameters 'arg2' and 'arg2' are incompatible. Type '{ foo: number; }' is not assignable to type 'Base'. Types of property 'foo' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts(53,9): error TS2322: Type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived' is not assignable to type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. + Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. Types of parameters 'arg2' and 'arg2' are incompatible. Type 'Base' is not assignable to type '{ foo: number; }'. Types of property 'foo' are incompatible. @@ -70,7 +70,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. +!!! error TS2322: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. !!! error TS2322: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2322: Type '{ foo: number; }' is not assignable to type 'Base'. !!! error TS2322: Types of property 'foo' are incompatible. @@ -79,7 +79,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived' is not assignable to type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. +!!! error TS2322: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. !!! error TS2322: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type '{ foo: number; }'. !!! error TS2322: Types of property 'foo' are incompatible. diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.errors.txt index 8eec8503e70..6b563ef2631 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.errors.txt @@ -1,30 +1,30 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(13,5): error TS2322: Type '(...args: string[]) => number' is not assignable to type '(...args: number[]) => number'. Types of parameters 'args' and 'args' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(17,5): error TS2322: Type '(x?: string) => number' is not assignable to type '(...args: number[]) => number'. Types of parameters 'x' and 'args' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(26,5): error TS2322: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x: number, ...z: number[]) => number'. Types of parameters 'args' and 'z' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(35,5): error TS2322: Type '(x: number, y?: number, z?: number) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(36,5): error TS2322: Type '(x: number, ...z: number[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'z' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(37,5): error TS2322: Type '(x: string, y?: string, z?: string) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(41,5): error TS2322: Type '(x?: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(43,5): error TS2322: Type '(x: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts(45,5): error TS2322: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'args' and 'z' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts (9 errors) ==== @@ -44,7 +44,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~ !!! error TS2322: Type '(...args: string[]) => number' is not assignable to type '(...args: number[]) => number'. !!! error TS2322: Types of parameters 'args' and 'args' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a = (x?: number) => 1; // ok, same number of required params a = (x?: number, y?: number, z?: number) => 1; // ok, same number of required params a = (x: number) => 1; // ok, rest param corresponds to infinite number of params @@ -52,7 +52,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~ !!! error TS2322: Type '(x?: string) => number' is not assignable to type '(...args: number[]) => number'. !!! error TS2322: Types of parameters 'x' and 'args' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var a2: (x: number, ...z: number[]) => number; @@ -65,7 +65,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x: number, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'args' and 'z' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a2 = (x: number, y: number) => 1; // ok, rest param corresponds to infinite number of params a2 = (x: number, y?: number) => 1; // ok, same number of required params @@ -78,17 +78,17 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type '(x: number, y?: number, z?: number) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. a3 = (x: number, ...z: number[]) => 1; // error ~~ !!! error TS2322: Type '(x: number, ...z: number[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'z' and 'y' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. a3 = (x: string, y?: string, z?: string) => 1; // error ~~ !!! error TS2322: Type '(x: string, y?: string, z?: string) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var a4: (x?: number, y?: string, ...z: number[]) => number; a4 = () => 1; // ok, fewer required params @@ -96,16 +96,16 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type '(x?: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. a4 = (x: number) => 1; // ok, all present params match a4 = (x: number, y?: number) => 1; // error, second param has type mismatch ~~ !!! error TS2322: Type '(x: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. a4 = (x?: number, y?: string) => 1; // ok, same number of required params with matching types a4 = (x: number, ...args: string[]) => 1; // error, rest params have type mismatch ~~ !!! error TS2322: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2322: Types of parameters 'args' and 'z' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt index da9ffba1ee1..3f8111a3244 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt @@ -1,33 +1,33 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(52,9): error TS2322: Type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. + Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. Types of parameters 'arg2' and 'arg2' are incompatible. Type '{ foo: number; }' is not assignable to type 'Base'. Types of property 'foo' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(53,9): error TS2322: Type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived' is not assignable to type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. + Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. Types of parameters 'arg2' and 'arg2' are incompatible. Type 'Base' is not assignable to type '{ foo: number; }'. Types of property 'foo' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(77,9): error TS2322: Type 'new (x: (a: T) => T) => T[]' is not assignable to type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }'. - Types of parameters 'x' and 'x' are incompatible. - Type '(a: any) => any' is not assignable to type '{ new (a: number): number; new (a?: number): number; }'. - Type '(a: any) => any' provides no match for the signature 'new (a: number): number' -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(78,9): error TS2322: Type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }' is not assignable to type 'new (x: (a: T) => T) => T[]'. Types of parameters 'x' and 'x' are incompatible. Type '{ new (a: number): number; new (a?: number): number; }' is not assignable to type '(a: any) => any'. Type '{ new (a: number): number; new (a?: number): number; }' provides no match for the signature '(a: any): any' -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(81,9): error TS2322: Type 'new (x: (a: T) => T) => any[]' is not assignable to type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(78,9): error TS2322: Type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }' is not assignable to type 'new (x: (a: T) => T) => T[]'. Types of parameters 'x' and 'x' are incompatible. - Type '(a: any) => any' is not assignable to type '{ new (a: T): T; new (a: T): T; }'. - Type '(a: any) => any' provides no match for the signature 'new (a: T): T' -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(82,9): error TS2322: Type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }' is not assignable to type 'new (x: (a: T) => T) => any[]'. + Type '(a: any) => any' is not assignable to type '{ new (a: number): number; new (a?: number): number; }'. + Type '(a: any) => any' provides no match for the signature 'new (a: number): number' +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(81,9): error TS2322: Type 'new (x: (a: T) => T) => any[]' is not assignable to type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }'. Types of parameters 'x' and 'x' are incompatible. Type '{ new (a: T): T; new (a: T): T; }' is not assignable to type '(a: any) => any'. Type '{ new (a: T): T; new (a: T): T; }' provides no match for the signature '(a: any): any' +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts(82,9): error TS2322: Type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }' is not assignable to type 'new (x: (a: T) => T) => any[]'. + Types of parameters 'x' and 'x' are incompatible. + Type '(a: any) => any' is not assignable to type '{ new (a: T): T; new (a: T): T; }'. + Type '(a: any) => any' provides no match for the signature 'new (a: T): T' ==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts (6 errors) ==== @@ -86,7 +86,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. +!!! error TS2322: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. !!! error TS2322: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2322: Type '{ foo: number; }' is not assignable to type 'Base'. !!! error TS2322: Types of property 'foo' are incompatible. @@ -95,7 +95,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~ !!! error TS2322: Type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived' is not assignable to type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. +!!! error TS2322: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. !!! error TS2322: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type '{ foo: number; }'. !!! error TS2322: Types of property 'foo' are incompatible. @@ -127,28 +127,28 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~~ !!! error TS2322: Type 'new (x: (a: T) => T) => T[]' is not assignable to type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '(a: any) => any' is not assignable to type '{ new (a: number): number; new (a?: number): number; }'. -!!! error TS2322: Type '(a: any) => any' provides no match for the signature 'new (a: number): number' +!!! error TS2322: Type '{ new (a: number): number; new (a?: number): number; }' is not assignable to type '(a: any) => any'. +!!! error TS2322: Type '{ new (a: number): number; new (a?: number): number; }' provides no match for the signature '(a: any): any' b16 = a16; // error ~~~ !!! error TS2322: Type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }' is not assignable to type 'new (x: (a: T) => T) => T[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '{ new (a: number): number; new (a?: number): number; }' is not assignable to type '(a: any) => any'. -!!! error TS2322: Type '{ new (a: number): number; new (a?: number): number; }' provides no match for the signature '(a: any): any' +!!! error TS2322: Type '(a: any) => any' is not assignable to type '{ new (a: number): number; new (a?: number): number; }'. +!!! error TS2322: Type '(a: any) => any' provides no match for the signature 'new (a: number): number' var b17: new (x: (a: T) => T) => any[]; a17 = b17; // error ~~~ !!! error TS2322: Type 'new (x: (a: T) => T) => any[]' is not assignable to type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '(a: any) => any' is not assignable to type '{ new (a: T): T; new (a: T): T; }'. -!!! error TS2322: Type '(a: any) => any' provides no match for the signature 'new (a: T): T' +!!! error TS2322: Type '{ new (a: T): T; new (a: T): T; }' is not assignable to type '(a: any) => any'. +!!! error TS2322: Type '{ new (a: T): T; new (a: T): T; }' provides no match for the signature '(a: any): any' b17 = a17; // error ~~~ !!! error TS2322: Type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }' is not assignable to type 'new (x: (a: T) => T) => any[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '{ new (a: T): T; new (a: T): T; }' is not assignable to type '(a: any) => any'. -!!! error TS2322: Type '{ new (a: T): T; new (a: T): T; }' provides no match for the signature '(a: any): any' +!!! error TS2322: Type '(a: any) => any' is not assignable to type '{ new (a: T): T; new (a: T): T; }'. +!!! error TS2322: Type '(a: any) => any' provides no match for the signature 'new (a: T): T' } module WithGenericSignaturesInBaseType { diff --git a/tests/baselines/reference/assignmentCompatWithOverloads.errors.txt b/tests/baselines/reference/assignmentCompatWithOverloads.errors.txt index 3bea0c46716..3773229f516 100644 --- a/tests/baselines/reference/assignmentCompatWithOverloads.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithOverloads.errors.txt @@ -2,12 +2,12 @@ tests/cases/compiler/assignmentCompatWithOverloads.ts(17,1): error TS2322: Type Type 'string' is not assignable to type 'number'. tests/cases/compiler/assignmentCompatWithOverloads.ts(19,1): error TS2322: Type '(x: number) => number' is not assignable to type '(s1: string) => number'. Types of parameters 'x' and 's1' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/assignmentCompatWithOverloads.ts(21,1): error TS2322: Type '{ (x: string): string; (x: number): number; }' is not assignable to type '(s1: string) => number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/assignmentCompatWithOverloads.ts(30,1): error TS2322: Type 'typeof C' is not assignable to type 'new (x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/compiler/assignmentCompatWithOverloads.ts (4 errors) ==== @@ -36,7 +36,7 @@ tests/cases/compiler/assignmentCompatWithOverloads.ts(30,1): error TS2322: Type ~ !!! error TS2322: Type '(x: number) => number' is not assignable to type '(s1: string) => number'. !!! error TS2322: Types of parameters 'x' and 's1' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. g = f4; // Error ~ @@ -54,4 +54,4 @@ tests/cases/compiler/assignmentCompatWithOverloads.ts(30,1): error TS2322: Type ~ !!! error TS2322: Type 'typeof C' is not assignable to type 'new (x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.errors.txt b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.errors.txt index 7e9d75b1b41..2d7e795d26a 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.errors.txt +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.errors.txt @@ -2,12 +2,12 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSign Types of property 'a2' are incompatible. Type '(x: T) => U[]' is not assignable to type '(x: number) => string[]'. Types of parameters 'x' and 'x' are incompatible. - Type 'T' is not assignable to type 'number'. + Type 'number' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance3.ts(60,19): error TS2430: Interface 'I4' incorrectly extends interface 'A'. Types of property 'a8' are incompatible. Type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. + Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. Types of parameters 'arg2' and 'arg2' are incompatible. Type '{ foo: number; }' is not assignable to type 'Base'. Types of property 'foo' are incompatible. @@ -71,7 +71,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSign !!! error TS2430: Types of property 'a2' are incompatible. !!! error TS2430: Type '(x: T) => U[]' is not assignable to type '(x: number) => string[]'. !!! error TS2430: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2430: Type 'T' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'T'. a2: (x: T) => U[]; // error, no contextual signature instantiation since I2.a2 is not generic } @@ -86,7 +86,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSign !!! error TS2430: Types of property 'a8' are incompatible. !!! error TS2430: Type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. !!! error TS2430: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2430: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. +!!! error TS2430: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. !!! error TS2430: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2430: Type '{ foo: number; }' is not assignable to type 'Base'. !!! error TS2430: Types of property 'foo' are incompatible. diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.errors.txt b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.errors.txt index 8d6273804f7..086372aac17 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.errors.txt +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.errors.txt @@ -2,12 +2,12 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/construc Types of property 'a2' are incompatible. Type 'new (x: T) => U[]' is not assignable to type 'new (x: number) => string[]'. Types of parameters 'x' and 'x' are incompatible. - Type 'T' is not assignable to type 'number'. + Type 'number' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance3.ts(50,19): error TS2430: Interface 'I4' incorrectly extends interface 'A'. Types of property 'a8' are incompatible. Type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. Types of parameters 'y' and 'y' are incompatible. - Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. + Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. Types of parameters 'arg2' and 'arg2' are incompatible. Type '{ foo: number; }' is not assignable to type 'Base'. Types of property 'foo' are incompatible. @@ -61,7 +61,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/construc !!! error TS2430: Types of property 'a2' are incompatible. !!! error TS2430: Type 'new (x: T) => U[]' is not assignable to type 'new (x: number) => string[]'. !!! error TS2430: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2430: Type 'T' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'T'. a2: new (x: T) => U[]; // error, no contextual signature instantiation since I2.a2 is not generic } @@ -76,7 +76,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/construc !!! error TS2430: Types of property 'a8' are incompatible. !!! error TS2430: Type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. !!! error TS2430: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2430: Type '(arg2: { foo: number; }) => any' is not assignable to type '(arg2: Base) => Derived'. +!!! error TS2430: Type '(arg2: Base) => Derived' is not assignable to type '(arg2: { foo: number; }) => any'. !!! error TS2430: Types of parameters 'arg2' and 'arg2' are incompatible. !!! error TS2430: Type '{ foo: number; }' is not assignable to type 'Base'. !!! error TS2430: Types of property 'foo' are incompatible. diff --git a/tests/baselines/reference/contextualTyping24.errors.txt b/tests/baselines/reference/contextualTyping24.errors.txt index a172600e1c5..f4205f24359 100644 --- a/tests/baselines/reference/contextualTyping24.errors.txt +++ b/tests/baselines/reference/contextualTyping24.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. Types of parameters 'a' and 'a' are incompatible. - Type 'string' is not assignable to type '{ (): number; (i: number): number; }'. + Type '{ (): number; (i: number): number; }' is not assignable to type 'string'. ==== tests/cases/compiler/contextualTyping24.ts (1 errors) ==== @@ -8,4 +8,4 @@ tests/cases/compiler/contextualTyping24.ts(1,55): error TS2322: Type '(a: string ~~~ !!! error TS2322: Type '(a: string) => number' is not assignable to type '(a: { (): number; (i: number): number; }) => number'. !!! error TS2322: Types of parameters 'a' and 'a' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type '{ (): number; (i: number): number; }'. \ No newline at end of file +!!! error TS2322: Type '{ (): number; (i: number): number; }' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression2.errors.txt b/tests/baselines/reference/contextualTypingOfConditionalExpression2.errors.txt index be49b7b5249..4f2adf9921e 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression2.errors.txt +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression2.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/contextualTypingOfConditionalExpression2.ts(11,5): error TS2322: Type '((a: C) => number) | ((b: number) => void)' is not assignable to type '(a: A) => void'. Type '(b: number) => void' is not assignable to type '(a: A) => void'. Types of parameters 'b' and 'a' are incompatible. - Type 'number' is not assignable to type 'A'. + Type 'A' is not assignable to type 'number'. ==== tests/cases/compiler/contextualTypingOfConditionalExpression2.ts (1 errors) ==== @@ -20,5 +20,5 @@ tests/cases/compiler/contextualTypingOfConditionalExpression2.ts(11,5): error TS !!! error TS2322: Type '((a: C) => number) | ((b: number) => void)' is not assignable to type '(a: A) => void'. !!! error TS2322: Type '(b: number) => void' is not assignable to type '(a: A) => void'. !!! error TS2322: Types of parameters 'b' and 'a' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'A'. +!!! error TS2322: Type 'A' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassTransitivity.errors.txt b/tests/baselines/reference/derivedClassTransitivity.errors.txt index c6b620beb18..5be930fa5da 100644 --- a/tests/baselines/reference/derivedClassTransitivity.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra Types of property 'foo' are incompatible. Type '(x?: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts (1 errors) ==== @@ -29,6 +29,6 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x?: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var r = c.foo(1); var r2 = e.foo(''); \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassTransitivity2.errors.txt b/tests/baselines/reference/derivedClassTransitivity2.errors.txt index a8d2003c876..e5f09911f55 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity2.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra Types of property 'foo' are incompatible. Type '(x: number, y?: string) => void' is not assignable to type '(x: number, y: number) => void'. Types of parameters 'y' and 'y' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts (1 errors) ==== @@ -29,6 +29,6 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x: number, y?: string) => void' is not assignable to type '(x: number, y: number) => void'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var r = c.foo(1, 1); var r2 = e.foo(1, ''); \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassTransitivity3.errors.txt b/tests/baselines/reference/derivedClassTransitivity3.errors.txt index 9d301255dfd..b3e59a0bf4c 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity3.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra Types of property 'foo' are incompatible. Type '(x: string, y?: number) => void' is not assignable to type '(x: string, y: string) => void'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. ==== tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts (1 errors) ==== @@ -29,6 +29,6 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x: string, y?: number) => void' is not assignable to type '(x: string, y: string) => void'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var r = c.foo('', ''); var r2 = e.foo('', 1); \ No newline at end of file diff --git a/tests/baselines/reference/derivedClassTransitivity4.errors.txt b/tests/baselines/reference/derivedClassTransitivity4.errors.txt index 3b8c661f41a..06319b16317 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity4.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra Types of property 'foo' are incompatible. Type '(x?: string) => void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts(19,11): error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. @@ -30,7 +30,7 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTra !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x?: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var r = c.foo(1); ~~~ !!! error TS2445: Property 'foo' is protected and only accessible within class 'C' and its subclasses. diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt index 8c0781571e4..114efc14d9c 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt @@ -46,8 +46,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( Types of property 'd4' are incompatible. Type '({x, y, c}: { x: any; y: any; c: any; }) => void' is not assignable to type '({x, y, z}?: { x: any; y: any; z: any; }) => any'. Types of parameters '__0' and '__0' are incompatible. - Type '{ x: any; y: any; c: any; }' is not assignable to type '{ x: any; y: any; z: any; }'. - Property 'z' is missing in type '{ x: any; y: any; c: any; }'. + Type '{ x: any; y: any; z: any; }' is not assignable to type '{ x: any; y: any; c: any; }'. + Property 'c' is missing in type '{ x: any; y: any; z: any; }'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(56,8): error TS2463: A binding pattern parameter cannot be optional in an implementation signature. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(65,18): error TS2300: Duplicate identifier 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(65,26): error TS2300: Duplicate identifier 'number'. @@ -176,8 +176,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( !!! error TS2420: Types of property 'd4' are incompatible. !!! error TS2420: Type '({x, y, c}: { x: any; y: any; c: any; }) => void' is not assignable to type '({x, y, z}?: { x: any; y: any; z: any; }) => any'. !!! error TS2420: Types of parameters '__0' and '__0' are incompatible. -!!! error TS2420: Type '{ x: any; y: any; c: any; }' is not assignable to type '{ x: any; y: any; z: any; }'. -!!! error TS2420: Property 'z' is missing in type '{ x: any; y: any; c: any; }'. +!!! error TS2420: Type '{ x: any; y: any; z: any; }' is not assignable to type '{ x: any; y: any; c: any; }'. +!!! error TS2420: Property 'c' is missing in type '{ x: any; y: any; z: any; }'. d3([a, b, c]?) { } // Error, binding pattern can't be optional in implementation signature ~~~~~~~~~~ !!! error TS2463: A binding pattern parameter cannot be optional in an implementation signature. diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt index fc1bcaa545a..13c2058b657 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt @@ -16,10 +16,10 @@ tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAnd Type 'number' is not assignable to type 'string'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(46,5): error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: string) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(47,5): error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: string) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(48,5): error TS2322: Type '(x: string) => string' is not assignable to type '(x: string) => number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(50,5): error TS2322: Type 'typeof N' is not assignable to type 'typeof M'. @@ -107,12 +107,12 @@ tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAnd ~~~~~~~~~ !!! error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: string) => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var anOtherFunction: (x: string) => number = F2; ~~~~~~~~~~~~~~~ !!! error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: string) => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var aLambda: typeof F = (x) => 'a string'; ~~~~~~~ !!! error TS2322: Type '(x: string) => string' is not assignable to type '(x: string) => number'. diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt index d2299894c59..7d3fa793ec8 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt +++ b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstrain Type 'Function' provides no match for the signature '(x: string): string' tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(24,15): error TS2345: Argument of type '(x: string[]) => string[]' is not assignable to parameter of type '(x: string) => string'. Types of parameters 'x' and 'x' are incompatible. - Type 'string[]' is not assignable to type 'string'. + Type 'string' is not assignable to type 'string[]'. tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(25,15): error TS2345: Argument of type 'typeof C' is not assignable to parameter of type '(x: string) => string'. Type 'typeof C' provides no match for the signature '(x: string): string' tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(26,15): error TS2345: Argument of type 'new (x: string) => string' is not assignable to parameter of type '(x: string) => string'. @@ -63,7 +63,7 @@ tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstrain ~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string[]) => string[]' is not assignable to parameter of type '(x: string) => string'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string[]' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'string[]'. var r6 = foo2(C); ~ !!! error TS2345: Argument of type 'typeof C' is not assignable to parameter of type '(x: string) => string'. diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt b/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt index 86c4728dda2..f91a4f91547 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/functionSignatureAssignmentCompat1.ts(10,5): error TS2322: Type '(delimiter?: string) => ParserFunc' is not assignable to type 'ParserFunc'. Types of parameters 'delimiter' and 'eventEmitter' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/compiler/functionSignatureAssignmentCompat1.ts (1 errors) ==== @@ -17,5 +17,5 @@ tests/cases/compiler/functionSignatureAssignmentCompat1.ts(10,5): error TS2322: ~ !!! error TS2322: Type '(delimiter?: string) => ParserFunc' is not assignable to type 'ParserFunc'. !!! error TS2322: Types of parameters 'delimiter' and 'eventEmitter' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var e: ParserFunc = parsers.readline(); // ok \ No newline at end of file diff --git a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt index f335319cafd..63679ff03b7 100644 --- a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt +++ b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/genericAssignmentCompatWithInterfaces1.ts(12,5): error TS23 Types of property 'compareTo' are incompatible. Type '(other: number) => number' is not assignable to type '(other: string) => number'. Types of parameters 'other' and 'other' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/genericAssignmentCompatWithInterfaces1.ts(13,5): error TS2322: Type '{ x: A; }' is not assignable to type 'I'. Types of property 'x' are incompatible. Type 'A' is not assignable to type 'Comparable'. @@ -36,7 +36,7 @@ tests/cases/compiler/genericAssignmentCompatWithInterfaces1.ts(17,5): error TS23 !!! error TS2322: Types of property 'compareTo' are incompatible. !!! error TS2322: Type '(other: number) => number' is not assignable to type '(other: string) => number'. !!! error TS2322: Types of parameters 'other' and 'other' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var a2: I = function (): { x: A } { ~~ !!! error TS2322: Type '{ x: A; }' is not assignable to type 'I'. diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt index c264058ad9f..e3da7eaeaec 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt @@ -4,17 +4,14 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGen tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(16,22): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(25,23): error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. Types of parameters 'a' and 'x' are incompatible. - Type 'T' is not assignable to type 'Date'. - Type 'RegExp' is not assignable to type 'Date'. - Property 'toDateString' is missing in type 'RegExp'. + Type 'Date' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(37,36): error TS2345: Argument of type '(x: E) => F' is not assignable to parameter of type '(x: E) => E'. Type 'F' is not assignable to type 'E'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(50,21): error TS2345: Argument of type 'Date' is not assignable to parameter of type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(51,22): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(60,23): error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. Types of parameters 'a' and 'x' are incompatible. - Type 'T' is not assignable to type 'Date'. - Type 'RegExp' is not assignable to type 'Date'. + Type 'Date' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(67,51): error TS2304: Cannot find name 'U'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find name 'U'. @@ -55,9 +52,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGen ~~~~~~~~~~~ !!! error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. !!! error TS2345: Types of parameters 'a' and 'x' are incompatible. -!!! error TS2345: Type 'T' is not assignable to type 'Date'. -!!! error TS2345: Type 'RegExp' is not assignable to type 'Date'. -!!! error TS2345: Property 'toDateString' is missing in type 'RegExp'. +!!! error TS2345: Type 'Date' is not assignable to type 'T'. var r7b = foo2((a) => a, (b) => b); // valid, T is inferred to be Date } @@ -103,8 +98,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGen ~~~~~~~~~~~ !!! error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. !!! error TS2345: Types of parameters 'a' and 'x' are incompatible. -!!! error TS2345: Type 'T' is not assignable to type 'Date'. -!!! error TS2345: Type 'RegExp' is not assignable to type 'Date'. +!!! error TS2345: Type 'Date' is not assignable to type 'T'. var r7b = foo2((a) => a, (b) => b); } diff --git a/tests/baselines/reference/genericSpecializations3.errors.txt b/tests/baselines/reference/genericSpecializations3.errors.txt index ccaa839f9d0..87a7d5bcce7 100644 --- a/tests/baselines/reference/genericSpecializations3.errors.txt +++ b/tests/baselines/reference/genericSpecializations3.errors.txt @@ -2,17 +2,17 @@ tests/cases/compiler/genericSpecializations3.ts(8,7): error TS2420: Class 'IntFo Types of property 'foo' are incompatible. Type '(x: string) => string' is not assignable to type '(x: number) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/genericSpecializations3.ts(28,1): error TS2322: Type 'StringFoo2' is not assignable to type 'IntFoo'. Types of property 'foo' are incompatible. Type '(x: string) => string' is not assignable to type '(x: number) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/genericSpecializations3.ts(29,1): error TS2322: Type 'IntFoo' is not assignable to type 'StringFoo2'. Types of property 'foo' are incompatible. Type '(x: number) => number' is not assignable to type '(x: string) => string'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. ==== tests/cases/compiler/genericSpecializations3.ts (3 errors) ==== @@ -29,7 +29,7 @@ tests/cases/compiler/genericSpecializations3.ts(29,1): error TS2322: Type 'IntFo !!! error TS2420: Types of property 'foo' are incompatible. !!! error TS2420: Type '(x: string) => string' is not assignable to type '(x: number) => number'. !!! error TS2420: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2420: Type 'string' is not assignable to type 'number'. +!!! error TS2420: Type 'number' is not assignable to type 'string'. foo(x: string): string { return null; } } @@ -55,14 +55,14 @@ tests/cases/compiler/genericSpecializations3.ts(29,1): error TS2322: Type 'IntFo !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x: string) => string' is not assignable to type '(x: number) => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. stringFoo2 = intFoo; // error ~~~~~~~~~~ !!! error TS2322: Type 'IntFoo' is not assignable to type 'StringFoo2'. !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x: number) => number' is not assignable to type '(x: string) => string'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. class StringFoo3 implements IFoo { // error diff --git a/tests/baselines/reference/genericTypeAssertions2.errors.txt b/tests/baselines/reference/genericTypeAssertions2.errors.txt index eda4c83646c..e424e6a13b1 100644 --- a/tests/baselines/reference/genericTypeAssertions2.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions2.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/genericTypeAssertions2.ts(10,5): error TS2322: Type 'B void' is not assignable to type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/genericTypeAssertions2.ts(11,5): error TS2322: Type 'A' is not assignable to type 'B'. Property 'bar' is missing in type 'A'. tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2352: Neither type 'undefined[]' nor type 'A' is assignable to the other. @@ -25,7 +25,7 @@ tests/cases/compiler/genericTypeAssertions2.ts(13,21): error TS2352: Neither typ !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '(x: string) => void' is not assignable to type '(x: number) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. var r3: B = >new B(); // error ~~ !!! error TS2322: Type 'A' is not assignable to type 'B'. diff --git a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.errors.txt b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.errors.txt index 0fe15afcf33..3ec6fa5e9f6 100644 --- a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.errors.txt +++ b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.errors.txt @@ -2,17 +2,14 @@ tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts(4,7): error TS2420 Types of property 'f' are incompatible. Type '(a: T) => void' is not assignable to type '(a: { a: number; }) => void'. Types of parameters 'a' and 'a' are incompatible. - Type 'T' is not assignable to type '{ a: number; }'. - Type '{ a: string; }' is not assignable to type '{ a: number; }'. - Types of property 'a' are incompatible. - Type 'string' is not assignable to type 'number'. + Type '{ a: number; }' is not assignable to type 'T'. tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts(8,5): error TS2322: Type 'X<{ a: string; }>' is not assignable to type 'I'. Types of property 'f' are incompatible. Type '(a: { a: string; }) => void' is not assignable to type '(a: { a: number; }) => void'. Types of parameters 'a' and 'a' are incompatible. - Type '{ a: string; }' is not assignable to type '{ a: number; }'. + Type '{ a: number; }' is not assignable to type '{ a: string; }'. Types of property 'a' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts (2 errors) ==== @@ -25,10 +22,7 @@ tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts(8,5): error TS2322 !!! error TS2420: Types of property 'f' are incompatible. !!! error TS2420: Type '(a: T) => void' is not assignable to type '(a: { a: number; }) => void'. !!! error TS2420: Types of parameters 'a' and 'a' are incompatible. -!!! error TS2420: Type 'T' is not assignable to type '{ a: number; }'. -!!! error TS2420: Type '{ a: string; }' is not assignable to type '{ a: number; }'. -!!! error TS2420: Types of property 'a' are incompatible. -!!! error TS2420: Type 'string' is not assignable to type 'number'. +!!! error TS2420: Type '{ a: number; }' is not assignable to type 'T'. f(a: T): void { } } var x = new X<{ a: string }>(); @@ -38,7 +32,7 @@ tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts(8,5): error TS2322 !!! error TS2322: Types of property 'f' are incompatible. !!! error TS2322: Type '(a: { a: string; }) => void' is not assignable to type '(a: { a: number; }) => void'. !!! error TS2322: Types of parameters 'a' and 'a' are incompatible. -!!! error TS2322: Type '{ a: string; }' is not assignable to type '{ a: number; }'. +!!! error TS2322: Type '{ a: number; }' is not assignable to type '{ a: string; }'. !!! error TS2322: Types of property 'a' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/implementGenericWithMismatchedTypes.errors.txt b/tests/baselines/reference/implementGenericWithMismatchedTypes.errors.txt index 7a128b87764..4652acc8d10 100644 --- a/tests/baselines/reference/implementGenericWithMismatchedTypes.errors.txt +++ b/tests/baselines/reference/implementGenericWithMismatchedTypes.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/implementGenericWithMismatchedTypes.ts(7,7): error TS2420: Types of property 'foo' are incompatible. Type '(x: string) => number' is not assignable to type '(x: T) => T'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'T'. + Type 'T' is not assignable to type 'string'. tests/cases/compiler/implementGenericWithMismatchedTypes.ts(16,7): error TS2420: Class 'C2' incorrectly implements interface 'IFoo2'. Types of property 'foo' are incompatible. Type '(x: Tstring) => number' is not assignable to type '(x: T) => T'. @@ -22,7 +22,7 @@ tests/cases/compiler/implementGenericWithMismatchedTypes.ts(16,7): error TS2420: !!! error TS2420: Types of property 'foo' are incompatible. !!! error TS2420: Type '(x: string) => number' is not assignable to type '(x: T) => T'. !!! error TS2420: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2420: Type 'string' is not assignable to type 'T'. +!!! error TS2420: Type 'T' is not assignable to type 'string'. foo(x: string): number { return null; } diff --git a/tests/baselines/reference/incompatibleTypes.errors.txt b/tests/baselines/reference/incompatibleTypes.errors.txt index e612600a7f8..cb6de6576b2 100644 --- a/tests/baselines/reference/incompatibleTypes.errors.txt +++ b/tests/baselines/reference/incompatibleTypes.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/incompatibleTypes.ts(15,7): error TS2420: Class 'C2' incorr Types of property 'p1' are incompatible. Type '(n: number) => number' is not assignable to type '(s: string) => number'. Types of parameters 'n' and 's' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/incompatibleTypes.ts(25,7): error TS2420: Class 'C3' incorrectly implements interface 'IFoo3'. Types of property 'p1' are incompatible. Type 'number' is not assignable to type 'string'. @@ -52,7 +52,7 @@ tests/cases/compiler/incompatibleTypes.ts(74,5): error TS2322: Type '(a: any) => !!! error TS2420: Types of property 'p1' are incompatible. !!! error TS2420: Type '(n: number) => number' is not assignable to type '(s: string) => number'. !!! error TS2420: Types of parameters 'n' and 's' are incompatible. -!!! error TS2420: Type 'number' is not assignable to type 'string'. +!!! error TS2420: Type 'string' is not assignable to type 'number'. public p1(n:number) { return 0; } diff --git a/tests/baselines/reference/interfaceAssignmentCompat.errors.txt b/tests/baselines/reference/interfaceAssignmentCompat.errors.txt index 237358b42de..df06eb1bd6c 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.errors.txt +++ b/tests/baselines/reference/interfaceAssignmentCompat.errors.txt @@ -1,10 +1,9 @@ tests/cases/compiler/interfaceAssignmentCompat.ts(32,18): error TS2345: Argument of type '(a: IFrenchEye, b: IFrenchEye) => number' is not assignable to parameter of type '(a: IEye, b: IEye) => number'. Types of parameters 'a' and 'a' are incompatible. - Type 'IFrenchEye' is not assignable to type 'IEye'. - Property 'color' is missing in type 'IFrenchEye'. + Type 'IEye' is not assignable to type 'IFrenchEye'. + Property 'coleur' is missing in type 'IEye'. tests/cases/compiler/interfaceAssignmentCompat.ts(37,29): error TS2339: Property '_map' does not exist on type 'typeof Color'. tests/cases/compiler/interfaceAssignmentCompat.ts(42,13): error TS2322: Type 'IEye' is not assignable to type 'IFrenchEye'. - Property 'coleur' is missing in type 'IEye'. tests/cases/compiler/interfaceAssignmentCompat.ts(44,9): error TS2322: Type 'IEye[]' is not assignable to type 'IFrenchEye[]'. Type 'IEye' is not assignable to type 'IFrenchEye'. @@ -45,8 +44,8 @@ tests/cases/compiler/interfaceAssignmentCompat.ts(44,9): error TS2322: Type 'IEy ~~~~~~~~~~~ !!! error TS2345: Argument of type '(a: IFrenchEye, b: IFrenchEye) => number' is not assignable to parameter of type '(a: IEye, b: IEye) => number'. !!! error TS2345: Types of parameters 'a' and 'a' are incompatible. -!!! error TS2345: Type 'IFrenchEye' is not assignable to type 'IEye'. -!!! error TS2345: Property 'color' is missing in type 'IFrenchEye'. +!!! error TS2345: Type 'IEye' is not assignable to type 'IFrenchEye'. +!!! error TS2345: Property 'coleur' is missing in type 'IEye'. // type of z inferred from specialized array type var z=x.sort(CompareEyes); // ok @@ -61,7 +60,6 @@ tests/cases/compiler/interfaceAssignmentCompat.ts(44,9): error TS2322: Type 'IEy eeks[j]=z[j]; // nope: element assignment ~~~~~~~ !!! error TS2322: Type 'IEye' is not assignable to type 'IFrenchEye'. -!!! error TS2322: Property 'coleur' is missing in type 'IEye'. } eeks=z; // nope: array assignment ~~~~ diff --git a/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt b/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt index ab784eae397..51fce2d29d4 100644 --- a/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt +++ b/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/lastPropertyInLiteralWins.ts(7,6): error TS2345: Argument o Types of property 'thunk' are incompatible. Type '(num: number) => void' is not assignable to type '(str: string) => void'. Types of parameters 'num' and 'str' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/lastPropertyInLiteralWins.ts(8,5): error TS2300: Duplicate identifier 'thunk'. tests/cases/compiler/lastPropertyInLiteralWins.ts(9,5): error TS2300: Duplicate identifier 'thunk'. tests/cases/compiler/lastPropertyInLiteralWins.ts(13,5): error TS2300: Duplicate identifier 'thunk'. @@ -32,7 +32,7 @@ tests/cases/compiler/lastPropertyInLiteralWins.ts(14,5): error TS2300: Duplicate !!! error TS2345: Types of property 'thunk' are incompatible. !!! error TS2345: Type '(num: number) => void' is not assignable to type '(str: string) => void'. !!! error TS2345: Types of parameters 'num' and 'str' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. test({ // Should be OK. Last 'thunk' is of correct type thunk: (num: number) => {}, diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.errors.txt b/tests/baselines/reference/optionalFunctionArgAssignability.errors.txt index 52fb45e40d2..024c5c1ea2b 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.errors.txt +++ b/tests/baselines/reference/optionalFunctionArgAssignability.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/optionalFunctionArgAssignability.ts(7,1): error TS2322: Type '(onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise' is not assignable to type '(onFulfill?: (value: string) => U, onReject?: (reason: any) => U) => Promise'. Types of parameters 'onFulFill' and 'onFulfill' are incompatible. - Type '(value: number) => any' is not assignable to type '(value: string) => any'. + Type '(value: string) => any' is not assignable to type '(value: number) => any'. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -16,7 +16,7 @@ tests/cases/compiler/optionalFunctionArgAssignability.ts(7,1): error TS2322: Typ ~ !!! error TS2322: Type '(onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise' is not assignable to type '(onFulfill?: (value: string) => U, onReject?: (reason: any) => U) => Promise'. !!! error TS2322: Types of parameters 'onFulFill' and 'onFulfill' are incompatible. -!!! error TS2322: Type '(value: number) => any' is not assignable to type '(value: string) => any'. +!!! error TS2322: Type '(value: string) => any' is not assignable to type '(value: number) => any'. !!! error TS2322: Types of parameters 'value' and 'value' are incompatible. !!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt b/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt index de02509d124..5ab492540ac 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt +++ b/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/optionalParamAssignmentCompat.ts(10,5): error TS2322: Type '(p1?: string) => I1' is not assignable to type 'I1'. Types of parameters 'p1' and 'p1' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/compiler/optionalParamAssignmentCompat.ts (1 errors) ==== @@ -17,5 +17,5 @@ tests/cases/compiler/optionalParamAssignmentCompat.ts(10,5): error TS2322: Type ~ !!! error TS2322: Type '(p1?: string) => I1' is not assignable to type 'I1'. !!! error TS2322: Types of parameters 'p1' and 'p1' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalParamTypeComparison.errors.txt b/tests/baselines/reference/optionalParamTypeComparison.errors.txt index 98a07570c65..287c1123211 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.errors.txt +++ b/tests/baselines/reference/optionalParamTypeComparison.errors.txt @@ -1,9 +1,9 @@ tests/cases/compiler/optionalParamTypeComparison.ts(4,1): error TS2322: Type '(s: string, b?: boolean) => void' is not assignable to type '(s: string, n?: number) => void'. Types of parameters 'b' and 'n' are incompatible. - Type 'boolean' is not assignable to type 'number'. + Type 'number' is not assignable to type 'boolean'. tests/cases/compiler/optionalParamTypeComparison.ts(5,1): error TS2322: Type '(s: string, n?: number) => void' is not assignable to type '(s: string, b?: boolean) => void'. Types of parameters 'n' and 'b' are incompatible. - Type 'number' is not assignable to type 'boolean'. + Type 'boolean' is not assignable to type 'number'. ==== tests/cases/compiler/optionalParamTypeComparison.ts (2 errors) ==== @@ -14,9 +14,9 @@ tests/cases/compiler/optionalParamTypeComparison.ts(5,1): error TS2322: Type '(s ~ !!! error TS2322: Type '(s: string, b?: boolean) => void' is not assignable to type '(s: string, n?: number) => void'. !!! error TS2322: Types of parameters 'b' and 'n' are incompatible. -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'boolean'. g = f; ~ !!! error TS2322: Type '(s: string, n?: number) => void' is not assignable to type '(s: string, b?: boolean) => void'. !!! error TS2322: Types of parameters 'n' and 'b' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. \ No newline at end of file +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/overloadOnConstInheritance2.errors.txt b/tests/baselines/reference/overloadOnConstInheritance2.errors.txt index 3e25a825d1a..8d104fc1ab0 100644 --- a/tests/baselines/reference/overloadOnConstInheritance2.errors.txt +++ b/tests/baselines/reference/overloadOnConstInheritance2.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/overloadOnConstInheritance2.ts(5,11): error TS2430: Interfa Types of property 'addEventListener' are incompatible. Type '(x: "bar") => string' is not assignable to type '{ (x: string): any; (x: "foo"): string; }'. Types of parameters 'x' and 'x' are incompatible. - Type '"bar"' is not assignable to type '"foo"'. + Type '"foo"' is not assignable to type '"bar"'. ==== tests/cases/compiler/overloadOnConstInheritance2.ts (1 errors) ==== @@ -16,7 +16,7 @@ tests/cases/compiler/overloadOnConstInheritance2.ts(5,11): error TS2430: Interfa !!! error TS2430: Types of property 'addEventListener' are incompatible. !!! error TS2430: Type '(x: "bar") => string' is not assignable to type '{ (x: string): any; (x: "foo"): string; }'. !!! error TS2430: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2430: Type '"bar"' is not assignable to type '"foo"'. +!!! error TS2430: Type '"foo"' is not assignable to type '"bar"'. addEventListener(x: 'bar'): string; // shouldn't need to redeclare the string overload } \ No newline at end of file diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt index bfd888c9912..8723a79d474 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt @@ -1,10 +1,10 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(12,18): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(18,9): error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"bye"' is not assignable to type '"hi"'. + Type '"hi"' is not assignable to type '"bye"'. tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type '"hi"'. + Type '"hi"' is not assignable to type 'number'. ==== tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts (3 errors) ==== @@ -31,11 +31,11 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type '"bye"' is not assignable to type '"hi"'. +!!! error TS2345: Type '"hi"' is not assignable to type '"bye"'. c.x1(1, (x) => { return 1; } ); c.x1(1, (x: number) => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type '"hi"'. \ No newline at end of file +!!! error TS2345: Type '"hi"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt index fddfa04eef7..e7ac72eb052 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt @@ -1,9 +1,9 @@ tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(18,9): error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"bye"' is not assignable to type '"hi"'. + Type '"hi"' is not assignable to type '"bye"'. tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(20,9): error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type '"hi"'. + Type '"hi"' is not assignable to type 'number'. ==== tests/cases/compiler/overloadOnConstNoStringImplementation2.ts (2 errors) ==== @@ -28,10 +28,10 @@ tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(20,9): error TS23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type '"bye"' is not assignable to type '"hi"'. +!!! error TS2345: Type '"hi"' is not assignable to type '"bye"'. c.x1(1, (x: string) => { return 1; } ); c.x1(1, (x: number) => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type '"hi"'. \ No newline at end of file +!!! error TS2345: Type '"hi"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt index 45c9f99b691..5ca1e78de58 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt @@ -5,8 +5,8 @@ tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(16,5): tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(16,38): error TS2344: Type 'D' does not satisfy the constraint 'A'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(18,27): error TS2345: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. Types of parameters 'x' and 'x' are incompatible. - Type 'D' is not assignable to type 'B'. - Property 'x' is missing in type 'D'. + Type 'B' is not assignable to type 'D'. + Property 'q' is missing in type 'B'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type 'D' does not satisfy the constraint 'A'. @@ -49,6 +49,6 @@ tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(19,14): ~ !!! error TS2345: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'D' is not assignable to type 'B'. -!!! error TS2345: Property 'x' is missing in type 'D'. +!!! error TS2345: Type 'B' is not assignable to type 'D'. +!!! error TS2345: Property 'q' is missing in type 'B'. \ No newline at end of file diff --git a/tests/baselines/reference/promisePermutations.errors.txt b/tests/baselines/reference/promisePermutations.errors.txt index 4edfff05a5a..65fa0981643 100644 --- a/tests/baselines/reference/promisePermutations.errors.txt +++ b/tests/baselines/reference/promisePermutations.errors.txt @@ -1,18 +1,18 @@ tests/cases/compiler/promisePermutations.ts(74,70): error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'IPromise'. + Type 'IPromise' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(79,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(82,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(83,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(84,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(88,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations.ts(91,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations.ts(92,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -23,16 +23,16 @@ tests/cases/compiler/promisePermutations.ts(101,19): error TS2345: Argument of t tests/cases/compiler/promisePermutations.ts(102,19): error TS2345: Argument of type '(x: number, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations.ts(106,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations.ts(109,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations.ts(110,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations.ts(111,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations.ts(117,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations.ts(120,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations.ts(121,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: number) => Promise'. @@ -55,7 +55,7 @@ tests/cases/compiler/promisePermutations.ts(152,12): error TS2453: The type argu Types of property 'then' are incompatible. Type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }' is not assignable to type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: string) => IPromise' is not assignable to type '(value: number) => Promise'. + Type '(value: number) => Promise' is not assignable to type '(value: string) => IPromise'. Types of parameters 'value' and 'value' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations.ts(156,21): error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. @@ -72,7 +72,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t Types of property 'then' are incompatible. Type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: number) => Promise' is not assignable to type '(value: string) => IPromise'. + Type '(value: string) => IPromise' is not assignable to type '(value: number) => Promise'. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -155,7 +155,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'IPromise' is not assignable to type 'number'. var r4: IPromise; var sIPromise: (x: any) => IPromise; @@ -164,24 +164,24 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); var r5: IPromise; @@ -223,24 +223,24 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? var r8: IPromise; @@ -316,7 +316,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t !!! error TS2453: Types of property 'then' are incompatible. !!! error TS2453: Type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }' is not assignable to type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }'. !!! error TS2453: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2453: Type '(value: string) => IPromise' is not assignable to type '(value: number) => Promise'. +!!! error TS2453: Type '(value: number) => Promise' is not assignable to type '(value: string) => IPromise'. !!! error TS2453: Types of parameters 'value' and 'value' are incompatible. !!! error TS2453: Type 'string' is not assignable to type 'number'. var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok @@ -345,7 +345,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t !!! error TS2345: Types of property 'then' are incompatible. !!! error TS2345: Type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. !!! error TS2345: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2345: Type '(value: number) => Promise' is not assignable to type '(value: string) => IPromise'. +!!! error TS2345: Type '(value: string) => IPromise' is not assignable to type '(value: number) => Promise'. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations2.errors.txt b/tests/baselines/reference/promisePermutations2.errors.txt index dda9a08b38d..0fc6f04911a 100644 --- a/tests/baselines/reference/promisePermutations2.errors.txt +++ b/tests/baselines/reference/promisePermutations2.errors.txt @@ -1,18 +1,18 @@ tests/cases/compiler/promisePermutations2.ts(73,70): error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'IPromise'. + Type 'IPromise' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(78,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(81,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(82,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(83,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(87,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations2.ts(90,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations2.ts(91,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -23,16 +23,16 @@ tests/cases/compiler/promisePermutations2.ts(100,19): error TS2345: Argument of tests/cases/compiler/promisePermutations2.ts(101,19): error TS2345: Argument of type '(x: number, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations2.ts(105,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations2.ts(108,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations2.ts(109,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations2.ts(110,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations2.ts(116,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations2.ts(119,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations2.ts(120,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: number) => Promise'. @@ -55,7 +55,7 @@ tests/cases/compiler/promisePermutations2.ts(151,12): error TS2453: The type arg Types of property 'then' are incompatible. Type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }' is not assignable to type '(success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => Promise'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: string) => IPromise' is not assignable to type '(value: number) => any'. + Type '(value: number) => any' is not assignable to type '(value: string) => IPromise'. Types of parameters 'value' and 'value' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations2.ts(155,21): error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. @@ -72,7 +72,7 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of Types of property 'then' are incompatible. Type '(success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => Promise' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: number) => any' is not assignable to type '(value: string) => IPromise'. + Type '(value: string) => IPromise' is not assignable to type '(value: number) => any'. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -154,7 +154,7 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'IPromise' is not assignable to type 'number'. var r4: IPromise; var sIPromise: (x: any) => IPromise; @@ -163,24 +163,24 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); var r5: IPromise; @@ -222,24 +222,24 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? var r8: IPromise; @@ -315,7 +315,7 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of !!! error TS2453: Types of property 'then' are incompatible. !!! error TS2453: Type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }' is not assignable to type '(success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => Promise'. !!! error TS2453: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2453: Type '(value: string) => IPromise' is not assignable to type '(value: number) => any'. +!!! error TS2453: Type '(value: number) => any' is not assignable to type '(value: string) => IPromise'. !!! error TS2453: Types of parameters 'value' and 'value' are incompatible. !!! error TS2453: Type 'string' is not assignable to type 'number'. var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok @@ -344,7 +344,7 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of !!! error TS2345: Types of property 'then' are incompatible. !!! error TS2345: Type '(success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => Promise' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. !!! error TS2345: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2345: Type '(value: number) => any' is not assignable to type '(value: string) => IPromise'. +!!! error TS2345: Type '(value: string) => IPromise' is not assignable to type '(value: number) => any'. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations3.errors.txt b/tests/baselines/reference/promisePermutations3.errors.txt index c6c2bca62a4..a1a1b3f493f 100644 --- a/tests/baselines/reference/promisePermutations3.errors.txt +++ b/tests/baselines/reference/promisePermutations3.errors.txt @@ -1,21 +1,21 @@ tests/cases/compiler/promisePermutations3.ts(68,69): error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'IPromise'. + Type 'IPromise' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(73,70): error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'IPromise'. + Type 'IPromise' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(78,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(81,19): error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(82,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(83,19): error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'x' and 'value' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(87,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations3.ts(90,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations3.ts(91,19): error TS2345: Argument of type '(x: number, cb: (a: string) => string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -26,16 +26,16 @@ tests/cases/compiler/promisePermutations3.ts(100,19): error TS2345: Argument of tests/cases/compiler/promisePermutations3.ts(101,19): error TS2345: Argument of type '(x: number, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. tests/cases/compiler/promisePermutations3.ts(105,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations3.ts(108,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations3.ts(109,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations3.ts(110,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. Types of parameters 'cb' and 'value' are incompatible. - Type '(a: T) => T' is not assignable to type 'string'. + Type 'string' is not assignable to type '(a: T) => T'. tests/cases/compiler/promisePermutations3.ts(116,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations3.ts(119,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. tests/cases/compiler/promisePermutations3.ts(120,19): error TS2345: Argument of type '(x: T, cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: number) => Promise'. @@ -58,7 +58,7 @@ tests/cases/compiler/promisePermutations3.ts(151,12): error TS2453: The type arg Types of property 'then' are incompatible. Type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise' is not assignable to type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: string) => any' is not assignable to type '(value: number) => Promise'. + Type '(value: number) => Promise' is not assignable to type '(value: string) => any'. Types of parameters 'value' and 'value' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/compiler/promisePermutations3.ts(155,21): error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. @@ -75,7 +75,7 @@ tests/cases/compiler/promisePermutations3.ts(159,21): error TS2345: Argument of Types of property 'then' are incompatible. Type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. Types of parameters 'success' and 'success' are incompatible. - Type '(value: number) => Promise' is not assignable to type '(value: string) => any'. + Type '(value: string) => any' is not assignable to type '(value: number) => Promise'. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IPromise; (x: T, y: T): Promise; }' is not assignable to parameter of type '(value: (x: any) => any) => Promise'. @@ -157,7 +157,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'IPromise' is not assignable to type 'number'. var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); @@ -166,7 +166,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'IPromise' is not assignable to type 'number'. var r4: IPromise; var sIPromise: (x: any) => IPromise; @@ -175,24 +175,24 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. -!!! error TS2345: Type 'number' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); var r5: IPromise; @@ -234,24 +234,24 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. -!!! error TS2345: Type '(a: T) => T' is not assignable to type 'string'. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? var r8: IPromise; @@ -327,7 +327,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of !!! error TS2453: Types of property 'then' are incompatible. !!! error TS2453: Type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise' is not assignable to type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }'. !!! error TS2453: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2453: Type '(value: string) => any' is not assignable to type '(value: number) => Promise'. +!!! error TS2453: Type '(value: number) => Promise' is not assignable to type '(value: string) => any'. !!! error TS2453: Types of parameters 'value' and 'value' are incompatible. !!! error TS2453: Type 'string' is not assignable to type 'number'. var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok @@ -356,7 +356,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of !!! error TS2345: Types of property 'then' are incompatible. !!! error TS2345: Type '{ (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. !!! error TS2345: Types of parameters 'success' and 'success' are incompatible. -!!! error TS2345: Type '(value: number) => Promise' is not assignable to type '(value: string) => any'. +!!! error TS2345: Type '(value: string) => any' is not assignable to type '(value: number) => Promise'. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/restArgAssignmentCompat.errors.txt b/tests/baselines/reference/restArgAssignmentCompat.errors.txt index c17d28cb28b..5be7e3f8d67 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.errors.txt +++ b/tests/baselines/reference/restArgAssignmentCompat.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/restArgAssignmentCompat.ts(7,1): error TS2322: Type '(...x: number[]) => void' is not assignable to type '(x: number[], y: string) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'number' is not assignable to type 'number[]'. + Type 'number[]' is not assignable to type 'number'. ==== tests/cases/compiler/restArgAssignmentCompat.ts (1 errors) ==== @@ -14,6 +14,6 @@ tests/cases/compiler/restArgAssignmentCompat.ts(7,1): error TS2322: Type '(...x: ~ !!! error TS2322: Type '(...x: number[]) => void' is not assignable to type '(x: number[], y: string) => void'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'number[]'. +!!! error TS2322: Type 'number[]' is not assignable to type 'number'. n([4], 'foo'); \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.errors.txt b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.errors.txt index 4c66c2000f9..8010b31a9d0 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.errors.txt +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.errors.txt @@ -1,9 +1,9 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts(15,1): error TS2322: Type '(x: "bar") => number' is not assignable to type '(x: "foo") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"bar"' is not assignable to type '"foo"'. + Type '"foo"' is not assignable to type '"bar"'. tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts(16,1): error TS2322: Type '(x: "foo") => number' is not assignable to type '(x: "bar") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"foo"' is not assignable to type '"bar"'. + Type '"bar"' is not assignable to type '"foo"'. ==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts (2 errors) ==== @@ -25,9 +25,9 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignabil ~ !!! error TS2322: Type '(x: "bar") => number' is not assignable to type '(x: "foo") => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. +!!! error TS2322: Type '"foo"' is not assignable to type '"bar"'. b = a; ~ !!! error TS2322: Type '(x: "foo") => number' is not assignable to type '(x: "bar") => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '"foo"' is not assignable to type '"bar"'. \ No newline at end of file +!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.errors.txt b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.errors.txt index 952fd7aae86..8fe5a676aab 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.errors.txt +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.errors.txt @@ -1,9 +1,9 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts(15,1): error TS2322: Type '(x: "bar") => number' is not assignable to type '(x: "foo") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"bar"' is not assignable to type '"foo"'. + Type '"foo"' is not assignable to type '"bar"'. tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts(16,1): error TS2322: Type '(x: "foo") => number' is not assignable to type '(x: "bar") => number'. Types of parameters 'x' and 'x' are incompatible. - Type '"foo"' is not assignable to type '"bar"'. + Type '"bar"' is not assignable to type '"foo"'. ==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts (2 errors) ==== @@ -25,9 +25,9 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignabil ~ !!! error TS2322: Type '(x: "bar") => number' is not assignable to type '(x: "foo") => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. +!!! error TS2322: Type '"foo"' is not assignable to type '"bar"'. b = a; ~ !!! error TS2322: Type '(x: "foo") => number' is not assignable to type '(x: "bar") => number'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type '"foo"' is not assignable to type '"bar"'. \ No newline at end of file +!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. \ No newline at end of file diff --git a/tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.errors.txt b/tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.errors.txt index f4a141ff390..3d0e04bbfa7 100644 --- a/tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.errors.txt +++ b/tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.errors.txt @@ -2,57 +2,57 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW Types of property 'a' are incompatible. Type '(...args: string[]) => number' is not assignable to type '(...args: number[]) => number'. Types of parameters 'args' and 'args' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(34,11): error TS2430: Interface 'I3B' incorrectly extends interface 'Base'. Types of property 'a' are incompatible. Type '(x?: string) => number' is not assignable to type '(...args: number[]) => number'. Types of parameters 'x' and 'args' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(60,11): error TS2430: Interface 'I6C' incorrectly extends interface 'Base'. Types of property 'a2' are incompatible. Type '(x: number, ...args: string[]) => number' is not assignable to type '(x: number, ...z: number[]) => number'. Types of parameters 'args' and 'z' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(90,11): error TS2430: Interface 'I10B' incorrectly extends interface 'Base'. Types of property 'a3' are incompatible. Type '(x: number, y?: number, z?: number) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(94,11): error TS2430: Interface 'I10C' incorrectly extends interface 'Base'. Types of property 'a3' are incompatible. Type '(x: number, ...z: number[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'z' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(98,11): error TS2430: Interface 'I10D' incorrectly extends interface 'Base'. Types of property 'a3' are incompatible. Type '(x: string, y?: string, z?: string) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(102,11): error TS2430: Interface 'I10E' incorrectly extends interface 'Base'. Types of property 'a3' are incompatible. Type '(x: number, ...z: string[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. Types of parameters 'z' and 'z' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(110,11): error TS2430: Interface 'I12' incorrectly extends interface 'Base'. Types of property 'a4' are incompatible. Type '(x?: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(118,11): error TS2430: Interface 'I14' incorrectly extends interface 'Base'. Types of property 'a4' are incompatible. Type '(x: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'y' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(126,11): error TS2430: Interface 'I16' incorrectly extends interface 'Base'. Types of property 'a4' are incompatible. Type '(x: number, ...args: string[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'args' and 'z' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts(130,11): error TS2430: Interface 'I17' incorrectly extends interface 'Base'. Types of property 'a4' are incompatible. Type '(...args: number[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. Types of parameters 'args' and 'y' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'string' is not assignable to type 'number'. ==== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts (11 errors) ==== @@ -79,7 +79,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a' are incompatible. !!! error TS2430: Type '(...args: string[]) => number' is not assignable to type '(...args: number[]) => number'. !!! error TS2430: Types of parameters 'args' and 'args' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a: (...args: string[]) => number; // error, type mismatch } @@ -101,7 +101,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a' are incompatible. !!! error TS2430: Type '(x?: string) => number' is not assignable to type '(...args: number[]) => number'. !!! error TS2430: Types of parameters 'x' and 'args' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a: (x?: string) => number; // error, incompatible type } @@ -133,7 +133,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a2' are incompatible. !!! error TS2430: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x: number, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'args' and 'z' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a2: (x: number, ...args: string[]) => number; // error } @@ -169,7 +169,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a3' are incompatible. !!! error TS2430: Type '(x: number, y?: number, z?: number) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2430: Type 'number' is not assignable to type 'string'. +!!! error TS2430: Type 'string' is not assignable to type 'number'. a3: (x: number, y?: number, z?: number) => number; // error } @@ -179,7 +179,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a3' are incompatible. !!! error TS2430: Type '(x: number, ...z: number[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'z' and 'y' are incompatible. -!!! error TS2430: Type 'number' is not assignable to type 'string'. +!!! error TS2430: Type 'string' is not assignable to type 'number'. a3: (x: number, ...z: number[]) => number; // error } @@ -189,7 +189,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a3' are incompatible. !!! error TS2430: Type '(x: string, y?: string, z?: string) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a3: (x: string, y?: string, z?: string) => number; // error, incompatible types } @@ -199,7 +199,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a3' are incompatible. !!! error TS2430: Type '(x: number, ...z: string[]) => number' is not assignable to type '(x: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'z' and 'z' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a3: (x: number, ...z: string[]) => number; // error } @@ -213,7 +213,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a4' are incompatible. !!! error TS2430: Type '(x?: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2430: Type 'number' is not assignable to type 'string'. +!!! error TS2430: Type 'string' is not assignable to type 'number'. a4: (x?: number, y?: number) => number; // error, type mismatch } @@ -227,7 +227,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a4' are incompatible. !!! error TS2430: Type '(x: number, y?: number) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'y' and 'y' are incompatible. -!!! error TS2430: Type 'number' is not assignable to type 'string'. +!!! error TS2430: Type 'string' is not assignable to type 'number'. a4: (x: number, y?: number) => number; // error, second param has type mismatch } @@ -241,7 +241,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a4' are incompatible. !!! error TS2430: Type '(x: number, ...args: string[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'args' and 'z' are incompatible. -!!! error TS2430: Type 'string' is not assignable to type 'number'. +!!! error TS2430: Type 'number' is not assignable to type 'string'. a4: (x: number, ...args: string[]) => number; // error, rest param has type mismatch } @@ -251,7 +251,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingW !!! error TS2430: Types of property 'a4' are incompatible. !!! error TS2430: Type '(...args: number[]) => number' is not assignable to type '(x?: number, y?: string, ...z: number[]) => number'. !!! error TS2430: Types of parameters 'args' and 'y' are incompatible. -!!! error TS2430: Type 'number' is not assignable to type 'string'. +!!! error TS2430: Type 'string' is not assignable to type 'number'. a4: (...args: number[]) => number; // error } \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt index d058426b9c9..da01aa778b6 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt @@ -2,13 +2,13 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(51,19): error TS2304: Cannot find name 'Window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(61,39): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(71,39): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(81,45): error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. Types of parameters 'n' and 'b' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(106,15): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(118,9): error TS2304: Cannot find name 'Window'. @@ -90,7 +90,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. new someGenerics4(null, null); // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type @@ -104,7 +104,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. new someGenerics5(null, null); // Generic call with multiple arguments of function types that each have parameters of the same generic type @@ -118,7 +118,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct ~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. !!! error TS2345: Types of parameters 'n' and 'b' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. new someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); // Generic call with multiple arguments of function types that each have parameters of different generic type diff --git a/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt b/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt index 9bd25dda4e6..36a17e166a5 100644 --- a/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt @@ -1,13 +1,13 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(3,31): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(7,35): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(11,35): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(15,41): error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. Types of parameters 'n' and 'b' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts (4 errors) ==== @@ -23,7 +23,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type function someGenerics5(n: T, f: (x: U) => void) { } @@ -31,7 +31,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. // Generic call with multiple arguments of function types that each have parameters of the same generic type function someGenerics6(a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } @@ -39,5 +39,5 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts ~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. !!! error TS2345: Types of parameters 'n' and 'b' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt index e6de840ec54..22d18e11eca 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt @@ -5,14 +5,14 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(34,15): error TS2304: Cannot find name 'Window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(41,35): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(48,35): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(49,15): error TS2344: Type 'string' does not satisfy the constraint 'number'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(55,41): error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. Types of parameters 'n' and 'b' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(66,31): error TS2345: Argument of type '(a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(73,11): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. @@ -81,7 +81,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. someGenerics4(null, null); // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type @@ -92,7 +92,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst ~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. someGenerics5(null, null); // Error ~~~~~~ !!! error TS2344: Type 'string' does not satisfy the constraint 'number'. @@ -105,7 +105,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst ~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(n: string) => string' is not assignable to parameter of type '(b: number) => number'. !!! error TS2345: Types of parameters 'n' and 'b' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); // Generic call with multiple arguments of function types that each have parameters of different generic type diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt index f47266f2850..39e6db64fbf 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt @@ -1,9 +1,9 @@ tests/cases/compiler/typeParameterArgumentEquivalence.ts(4,5): error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'. Types of parameters 'item' and 'item' are incompatible. - Type 'T' is not assignable to type 'number'. + Type 'number' is not assignable to type 'T'. tests/cases/compiler/typeParameterArgumentEquivalence.ts(5,5): error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'. Types of parameters 'item' and 'item' are incompatible. - Type 'number' is not assignable to type 'T'. + Type 'T' is not assignable to type 'number'. ==== tests/cases/compiler/typeParameterArgumentEquivalence.ts (2 errors) ==== @@ -14,11 +14,11 @@ tests/cases/compiler/typeParameterArgumentEquivalence.ts(5,5): error TS2322: Typ ~ !!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'T' is not assignable to type 'number'. +!!! error TS2322: Type 'number' is not assignable to type 'T'. y = x; // Shound be an error ~ !!! error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'T'. +!!! error TS2322: Type 'T' is not assignable to type 'number'. } \ No newline at end of file diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt index 2aa8d77ba6d..17fce0384f7 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt @@ -1,9 +1,9 @@ tests/cases/compiler/typeParameterArgumentEquivalence2.ts(4,5): error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: U) => boolean'. Types of parameters 'item' and 'item' are incompatible. - Type 'T' is not assignable to type 'U'. + Type 'U' is not assignable to type 'T'. tests/cases/compiler/typeParameterArgumentEquivalence2.ts(5,5): error TS2322: Type '(item: U) => boolean' is not assignable to type '(item: T) => boolean'. Types of parameters 'item' and 'item' are incompatible. - Type 'U' is not assignable to type 'T'. + Type 'T' is not assignable to type 'U'. ==== tests/cases/compiler/typeParameterArgumentEquivalence2.ts (2 errors) ==== @@ -14,11 +14,11 @@ tests/cases/compiler/typeParameterArgumentEquivalence2.ts(5,5): error TS2322: Ty ~ !!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: U) => boolean'. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: Type 'U' is not assignable to type 'T'. y = x; // Shound be an error ~ !!! error TS2322: Type '(item: U) => boolean' is not assignable to type '(item: T) => boolean'. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'U' is not assignable to type 'T'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. } \ No newline at end of file From 568e2aab58395cc70161eec9e7111045694b269a Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Tue, 1 Mar 2016 15:58:59 -0800 Subject: [PATCH 125/342] allow fallthrough from the last case of the switch --- src/compiler/binder.ts | 8 ++- .../baselines/reference/fallFromLastCase1.js | 44 +++++++++++++++ .../reference/fallFromLastCase1.symbols | 42 ++++++++++++++ .../reference/fallFromLastCase1.types | 56 +++++++++++++++++++ .../reference/fallFromLastCase2.errors.txt | 36 ++++++++++++ .../baselines/reference/fallFromLastCase2.js | 52 +++++++++++++++++ tests/cases/compiler/fallFromLastCase1.ts | 24 ++++++++ tests/cases/compiler/fallFromLastCase2.ts | 28 ++++++++++ 8 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/fallFromLastCase1.js create mode 100644 tests/baselines/reference/fallFromLastCase1.symbols create mode 100644 tests/baselines/reference/fallFromLastCase1.types create mode 100644 tests/baselines/reference/fallFromLastCase2.errors.txt create mode 100644 tests/baselines/reference/fallFromLastCase2.js create mode 100644 tests/cases/compiler/fallFromLastCase1.ts create mode 100644 tests/cases/compiler/fallFromLastCase2.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 1f19d01b9cb..504de084fb9 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -708,10 +708,14 @@ namespace ts { function bindCaseBlock(n: CaseBlock): void { const startState = currentReachabilityState; - for (const clause of n.clauses) { + for (let i = 0; i < n.clauses.length; i++) { + const clause = n.clauses[i]; currentReachabilityState = startState; bind(clause); - if (clause.statements.length && currentReachabilityState === Reachability.Reachable && options.noFallthroughCasesInSwitch) { + if (clause.statements.length && + i !== n.clauses.length - 1 && // allow fallthrough from the last case + currentReachabilityState === Reachability.Reachable && + options.noFallthroughCasesInSwitch) { errorOnFirstToken(clause, Diagnostics.Fallthrough_case_in_switch); } } diff --git a/tests/baselines/reference/fallFromLastCase1.js b/tests/baselines/reference/fallFromLastCase1.js new file mode 100644 index 00000000000..3c2461db514 --- /dev/null +++ b/tests/baselines/reference/fallFromLastCase1.js @@ -0,0 +1,44 @@ +//// [fallFromLastCase1.ts] + +declare function use(a: string); + +function foo1(a: number) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + } +} + + +function foo2(a: number) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + } +} + +//// [fallFromLastCase1.js] +function foo1(a) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + } +} +function foo2(a) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + } +} diff --git a/tests/baselines/reference/fallFromLastCase1.symbols b/tests/baselines/reference/fallFromLastCase1.symbols new file mode 100644 index 00000000000..c4967e5e775 --- /dev/null +++ b/tests/baselines/reference/fallFromLastCase1.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/fallFromLastCase1.ts === + +declare function use(a: string); +>use : Symbol(use, Decl(fallFromLastCase1.ts, 0, 0)) +>a : Symbol(a, Decl(fallFromLastCase1.ts, 1, 21)) + +function foo1(a: number) { +>foo1 : Symbol(foo1, Decl(fallFromLastCase1.ts, 1, 32)) +>a : Symbol(a, Decl(fallFromLastCase1.ts, 3, 14)) + + switch (a) { +>a : Symbol(a, Decl(fallFromLastCase1.ts, 3, 14)) + + case 1: + use("1"); +>use : Symbol(use, Decl(fallFromLastCase1.ts, 0, 0)) + + break; + case 2: + use("2"); +>use : Symbol(use, Decl(fallFromLastCase1.ts, 0, 0)) + } +} + + +function foo2(a: number) { +>foo2 : Symbol(foo2, Decl(fallFromLastCase1.ts, 11, 1)) +>a : Symbol(a, Decl(fallFromLastCase1.ts, 14, 14)) + + switch (a) { +>a : Symbol(a, Decl(fallFromLastCase1.ts, 14, 14)) + + case 1: + use("1"); +>use : Symbol(use, Decl(fallFromLastCase1.ts, 0, 0)) + + break; + default: + use("2"); +>use : Symbol(use, Decl(fallFromLastCase1.ts, 0, 0)) + } +} diff --git a/tests/baselines/reference/fallFromLastCase1.types b/tests/baselines/reference/fallFromLastCase1.types new file mode 100644 index 00000000000..47e444ee17d --- /dev/null +++ b/tests/baselines/reference/fallFromLastCase1.types @@ -0,0 +1,56 @@ +=== tests/cases/compiler/fallFromLastCase1.ts === + +declare function use(a: string); +>use : (a: string) => any +>a : string + +function foo1(a: number) { +>foo1 : (a: number) => void +>a : number + + switch (a) { +>a : number + + case 1: +>1 : number + + use("1"); +>use("1") : any +>use : (a: string) => any +>"1" : string + + break; + case 2: +>2 : number + + use("2"); +>use("2") : any +>use : (a: string) => any +>"2" : string + } +} + + +function foo2(a: number) { +>foo2 : (a: number) => void +>a : number + + switch (a) { +>a : number + + case 1: +>1 : number + + use("1"); +>use("1") : any +>use : (a: string) => any +>"1" : string + + break; + default: + use("2"); +>use("2") : any +>use : (a: string) => any +>"2" : string + } +} diff --git a/tests/baselines/reference/fallFromLastCase2.errors.txt b/tests/baselines/reference/fallFromLastCase2.errors.txt new file mode 100644 index 00000000000..ccf7f6ebc1b --- /dev/null +++ b/tests/baselines/reference/fallFromLastCase2.errors.txt @@ -0,0 +1,36 @@ +tests/cases/compiler/fallFromLastCase2.ts(9,9): error TS7029: Fallthrough case in switch. +tests/cases/compiler/fallFromLastCase2.ts(22,9): error TS7029: Fallthrough case in switch. + + +==== tests/cases/compiler/fallFromLastCase2.ts (2 errors) ==== + + declare function use(a: string); + + function foo1(a: number) { + switch (a) { + case 1: + use("1"); + break; + case 2: + ~~~~ +!!! error TS7029: Fallthrough case in switch. + use("2"); + case 3: + use("3"); + } + } + + + function foo2(a: number) { + switch (a) { + case 1: + use("1"); + break; + default: + ~~~~~~~ +!!! error TS7029: Fallthrough case in switch. + use("2"); + case 2: + use("3"); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/fallFromLastCase2.js b/tests/baselines/reference/fallFromLastCase2.js new file mode 100644 index 00000000000..fd1d7c20d07 --- /dev/null +++ b/tests/baselines/reference/fallFromLastCase2.js @@ -0,0 +1,52 @@ +//// [fallFromLastCase2.ts] + +declare function use(a: string); + +function foo1(a: number) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + case 3: + use("3"); + } +} + + +function foo2(a: number) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + case 2: + use("3"); + } +} + +//// [fallFromLastCase2.js] +function foo1(a) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + case 3: + use("3"); + } +} +function foo2(a) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + case 2: + use("3"); + } +} diff --git a/tests/cases/compiler/fallFromLastCase1.ts b/tests/cases/compiler/fallFromLastCase1.ts new file mode 100644 index 00000000000..d8037c61a96 --- /dev/null +++ b/tests/cases/compiler/fallFromLastCase1.ts @@ -0,0 +1,24 @@ +// @noFallthroughCasesInSwitch: true + +declare function use(a: string); + +function foo1(a: number) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + } +} + + +function foo2(a: number) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + } +} \ No newline at end of file diff --git a/tests/cases/compiler/fallFromLastCase2.ts b/tests/cases/compiler/fallFromLastCase2.ts new file mode 100644 index 00000000000..231d3512dbe --- /dev/null +++ b/tests/cases/compiler/fallFromLastCase2.ts @@ -0,0 +1,28 @@ +// @noFallthroughCasesInSwitch: true + +declare function use(a: string); + +function foo1(a: number) { + switch (a) { + case 1: + use("1"); + break; + case 2: + use("2"); + case 3: + use("3"); + } +} + + +function foo2(a: number) { + switch (a) { + case 1: + use("1"); + break; + default: + use("2"); + case 2: + use("3"); + } +} \ No newline at end of file From 1224013f77df06da893e84951b8be4b925f9858d Mon Sep 17 00:00:00 2001 From: zhengbli Date: Tue, 1 Mar 2016 16:45:56 -0800 Subject: [PATCH 126/342] Update the format span end position for formatOnEnter --- src/services/formatting/formatting.ts | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index eb40d3aa6ab..066bcf7cda6 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -72,14 +72,20 @@ namespace ts.formatting { if (line === 0) { return []; } - // After the enter key, the cursor is now at a new line. The new line should not be formatted, - // otherwise the indentation would be treated as trailing whitespaces and removed. The previous - // line should be formatted, and the one before that should be used as reference. + // After the enter key, the cursor is now at a new line. The new line may or may not contain non-whitespace characters. + // If the new line has only whitespaces, we won't want to format this line, because that would remove the indentation as + // trailing whitespaces. So the end of the formatting span should be the later one between: + // 1. the end of the previous line + // 2. the last non-whitespace character in the current line + let endOfFormatSpan = getEndLinePosition(line, sourceFile); + while (isWhiteSpace(sourceFile.text.charCodeAt(endOfFormatSpan)) && !isLineBreak(sourceFile.text.charCodeAt(endOfFormatSpan))) { + endOfFormatSpan--; + } let span = { - // get start position for the line before previous line - pos: getStartPositionOfLine(line - 2, sourceFile), - // get end position for the previous line (end value is exclusive so add 1 to the result) - end: getEndLinePosition(line - 1, sourceFile) + 1 + // get start position for the previous line + pos: getStartPositionOfLine(line - 1, sourceFile), + // end value is exclusive so add 1 to the result + end: endOfFormatSpan + 1 } return formatSpan(span, sourceFile, options, rulesProvider, FormattingRequestKind.FormatOnEnter); } From 6aad783db800cd17d3edbee00a4a18b31db1ff1f Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Tue, 1 Mar 2016 18:52:11 -0800 Subject: [PATCH 127/342] - Adding DiscoverTypingsSettings - Remove all references to Tsd. Instead pass a map of package names to cached typing locations --- src/compiler/types.ts | 12 +++++- src/services/jsTyping.ts | 82 ++++++++++++++-------------------------- src/services/shims.ts | 21 +++++----- 3 files changed, 49 insertions(+), 66 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c838a852647..0be74856b1d 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2436,7 +2436,17 @@ namespace ts { enableAutoDiscovery?: boolean; include?: string[]; exclude?: string[]; - [option: string]: any; + [option: string]: string[] | boolean; + } + + export interface DiscoverTypingsSettings { + fileNames: string[]; // The file names that belong to the same project. + cachePath: string; // The path to the typings cache + projectRootPath: string; // The path to the project root directory + safeListPath: string; // The path used to retrieve the safe list + packageNameToTypingLocation: Map; // The map of package names to their cached typing locations + typingOptions: TypingOptions; // Used to customize the typing inference process + compilerOptions: CompilerOptions; // Used as a source for typing inference } export enum ModuleKind { diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 786a199eb43..3866296e2f8 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -13,23 +13,11 @@ namespace ts.JsTyping { readDirectory: (path: string, extension?: string, exclude?: string[], depth?: number) => string[]; }; - interface TsdJson { - version: string; - repo: string; - ref: string; - path: string; - installed?: Map; - }; - - interface TsdInstalledItem { - commit: string; - }; - interface PackageJson { _requiredBy?: string[]; dependencies?: Map; devDependencies?: Map; - name: string; + name?: string; optionalDependencies?: Map; peerDependencies?: Map; typings?: string; @@ -41,12 +29,13 @@ namespace ts.JsTyping { /** * @param host is the object providing I/O related operations. - * @param fileNames are the file names that belong to the same project. + * @param fileNames are the file names that belong to the same project * @param cachePath is the path to the typings cache * @param projectRootPath is the path to the project root directory * @param safeListPath is the path used to retrieve the safe list - * @param typingOptions are used for customizing the typing inference process. - * @param compilerOptions are used as a source of typing inference. + * @param packageNameToTypingLocation is the map of package names to their cached typing locations + * @param typingOptions are used to customize the typing inference process + * @param compilerOptions are used as a source for typing inference */ export function discoverTypings( host: TypingResolutionHost, @@ -54,6 +43,7 @@ namespace ts.JsTyping { cachePath: Path, projectRootPath: Path, safeListPath: Path, + packageNameToTypingLocation: Map, typingOptions: TypingOptions, compilerOptions: CompilerOptions): { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { @@ -69,8 +59,9 @@ namespace ts.JsTyping { fileNames = filter(map(fileNames, normalizePath), f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JS, ScriptKind.JSX)); if (!safeList) { - const result = readConfigFile(safeListPath, host.readFile); + const result = readConfigFile(safeListPath, (path: string) => host.readFile(path)); if (result.config) { safeList = result.config; } + else { safeList = {}; }; } const filesToWatch: string[] = []; @@ -81,44 +72,27 @@ namespace ts.JsTyping { mergeTypings(typingOptions.include); exclude = typingOptions.exclude || []; - if (typingOptions.enableAutoDiscovery) { - const possibleSearchDirs = map(fileNames, getDirectoryPath); - if (projectRootPath !== undefined) { - possibleSearchDirs.push(projectRootPath); - } - searchDirs = deduplicate(possibleSearchDirs); - for (const searchDir of searchDirs) { - const packageJsonPath = combinePaths(searchDir, "package.json"); - getTypingNamesFromJson(packageJsonPath, filesToWatch); - - const bowerJsonPath = combinePaths(searchDir, "bower.json"); - getTypingNamesFromJson(bowerJsonPath, filesToWatch); - - const nodeModulesPath = combinePaths(searchDir, "node_modules"); - getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); - } - getTypingNamesFromSourceFileNames(fileNames); + const possibleSearchDirs = map(fileNames, getDirectoryPath); + if (projectRootPath !== undefined) { + possibleSearchDirs.push(projectRootPath); } + searchDirs = deduplicate(possibleSearchDirs); + for (const searchDir of searchDirs) { + const packageJsonPath = combinePaths(searchDir, "package.json"); + getTypingNamesFromJson(packageJsonPath, filesToWatch); - const typingsPath = combinePaths(cachePath, "typings"); - const tsdJsonPath = combinePaths(cachePath, "tsd.json"); - const result = readConfigFile(tsdJsonPath, host.readFile); - if (result.config) { - const tsdJson: TsdJson = result.config; + const bowerJsonPath = combinePaths(searchDir, "bower.json"); + getTypingNamesFromJson(bowerJsonPath, filesToWatch); - // The "installed" property in the tsd.json serves as a registry of installed typings. Each item - // of this object has a key of the relative file path, and a value that contains the corresponding - // commit hash. - if (tsdJson.installed) { - for (const cachedTypingPath in tsdJson.installed) { - // Assuming the cachedTypingPath has the format of "[package name]/[file name]" - const cachedTypingName = cachedTypingPath.substr(0, cachedTypingPath.indexOf("/")); - // If the inferred[cachedTypingName] is already not null, which means we found a corresponding - // d.ts file that coming with the package. That one should take higher priority. - if (hasProperty(inferredTypings, cachedTypingName) && !inferredTypings[cachedTypingName]) { - inferredTypings[cachedTypingName] = combinePaths(typingsPath, cachedTypingPath); - } - } + const nodeModulesPath = combinePaths(searchDir, "node_modules"); + getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); + } + getTypingNamesFromSourceFileNames(fileNames); + + // Add the cached typing locations for inferred typings that are already installed + for (const name in packageNameToTypingLocation) { + if (hasProperty(inferredTypings, name) && !inferredTypings[name]) { + inferredTypings[name] = packageNameToTypingLocation[name]; } } @@ -158,7 +132,7 @@ namespace ts.JsTyping { * Get the typing info from common package manager json files like package.json or bower.json */ function getTypingNamesFromJson(jsonPath: string, filesToWatch: string[]) { - const result = readConfigFile(jsonPath, host.readFile); + const result = readConfigFile(jsonPath, (path: string) => host.readFile(path)); if (result.config) { const jsonConfig: PackageJson = result.config; filesToWatch.push(jsonPath); @@ -215,7 +189,7 @@ namespace ts.JsTyping { for (const fileName of fileNames) { const normalizedFileName = normalizePath(fileName); if (getBaseFileName(normalizedFileName) !== "package.json") { continue; } - const result = readConfigFile(normalizedFileName, host.readFile); + const result = readConfigFile(normalizedFileName, (path: string) => host.readFile(path)); if (!result.config) { continue; } const packageJson: PackageJson = result.config; filesToWatch.push(normalizedFileName); diff --git a/src/services/shims.ts b/src/services/shims.ts index 6ba9b04c276..684c206b994 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -232,7 +232,7 @@ namespace ts { getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getTSConfigFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getDefaultCompilationSettings(): string; - discoverTypings(fileNamesJson: string, cachePath: string, projectRootPath: string, safeListPath: string, typingOptionsJson: string, compilerOptionsJson: string): string; + discoverTypings(discoverTypingsJson: string): string; } function logInternalError(logger: Logger, err: Error) { @@ -987,20 +987,19 @@ namespace ts { ); } - public discoverTypings(fileNamesJson: string, cachePath: string, projectRootPath: string, safeListPath: string, typingOptionsJson: string, compilerOptionsJson: string): string { + public discoverTypings(discoverTypingsJson: string): string { const getCanonicalFileName = createGetCanonicalFileName(/*useCaseSensitivefileNames:*/ false); return this.forwardJSONCall("discoverTypings()", () => { - const typingOptions = JSON.parse(typingOptionsJson); - const compilerOptions = JSON.parse(compilerOptionsJson); - const fileNames: string[] = JSON.parse(fileNamesJson); + const settings = JSON.parse(discoverTypingsJson); return ts.JsTyping.discoverTypings( this.host, - fileNames, - toPath(cachePath, cachePath, getCanonicalFileName), - toPath(projectRootPath, projectRootPath, getCanonicalFileName), - toPath(safeListPath, safeListPath, getCanonicalFileName), - typingOptions, - compilerOptions); + settings.fileNames, + toPath(settings.cachePath, settings.cachePath, getCanonicalFileName), + toPath(settings.projectRootPath, settings.projectRootPath, getCanonicalFileName), + toPath(settings.safeListPath, settings.safeListPath, getCanonicalFileName), + settings.packageNameToTypingLocation, + settings.typingOptions, + settings.compilerOptions); }); } } From 4bbdf2a0bb3553f1d4fa20b719e3f3fc952179cc Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Tue, 1 Mar 2016 19:06:31 -0800 Subject: [PATCH 128/342] - Removing filesToWatch from getTypingNamesFromNodeModuleFolder. These modules are already installed and are not expected to change --- src/services/jsTyping.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 3866296e2f8..01cc3eed3b1 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -85,7 +85,7 @@ namespace ts.JsTyping { getTypingNamesFromJson(bowerJsonPath, filesToWatch); const nodeModulesPath = combinePaths(searchDir, "node_modules"); - getTypingNamesFromNodeModuleFolder(nodeModulesPath, filesToWatch); + getTypingNamesFromNodeModuleFolder(nodeModulesPath); } getTypingNamesFromSourceFileNames(fileNames); @@ -178,7 +178,7 @@ namespace ts.JsTyping { * Infer typing names from node_module folder * @param nodeModulesPath is the path to the "node_modules" folder */ - function getTypingNamesFromNodeModuleFolder(nodeModulesPath: string, filesToWatch: string[]) { + function getTypingNamesFromNodeModuleFolder(nodeModulesPath: string) { // Todo: add support for ModuleResolutionHost too if (!host.directoryExists(nodeModulesPath)) { return; @@ -192,7 +192,6 @@ namespace ts.JsTyping { const result = readConfigFile(normalizedFileName, (path: string) => host.readFile(path)); if (!result.config) { continue; } const packageJson: PackageJson = result.config; - filesToWatch.push(normalizedFileName); // npm 3's package.json contains a "_requiredBy" field // we should include all the top level module names for npm 2, and only module names whose From e8772bc0a216023ae978b619fcd29a5567506225 Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Wed, 2 Mar 2016 10:11:13 -0800 Subject: [PATCH 129/342] - Adding new lines after { for single-line if statements - Renaming DiscoverTypingsSettings to DiscoverTypingsInfo to match host --- src/compiler/types.ts | 2 +- src/services/jsTyping.ts | 20 +++++++++++++++----- src/services/shims.ts | 16 ++++++++-------- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 0be74856b1d..4d843618281 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2439,7 +2439,7 @@ namespace ts { [option: string]: string[] | boolean; } - export interface DiscoverTypingsSettings { + export interface DiscoverTypingsInfo { fileNames: string[]; // The file names that belong to the same project. cachePath: string; // The path to the typings cache projectRootPath: string; // The path to the project root directory diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 01cc3eed3b1..22265cc1016 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -60,8 +60,12 @@ namespace ts.JsTyping { if (!safeList) { const result = readConfigFile(safeListPath, (path: string) => host.readFile(path)); - if (result.config) { safeList = result.config; } - else { safeList = {}; }; + if (result.config) { + safeList = result.config; + } + else { + safeList = {}; + }; } const filesToWatch: string[] = []; @@ -188,9 +192,13 @@ namespace ts.JsTyping { const fileNames = host.readDirectory(nodeModulesPath, "*.json", /*exclude*/ undefined, /*depth*/ 2); for (const fileName of fileNames) { const normalizedFileName = normalizePath(fileName); - if (getBaseFileName(normalizedFileName) !== "package.json") { continue; } + if (getBaseFileName(normalizedFileName) !== "package.json") { + continue; + } const result = readConfigFile(normalizedFileName, (path: string) => host.readFile(path)); - if (!result.config) { continue; } + if (!result.config) { + continue; + } const packageJson: PackageJson = result.config; // npm 3's package.json contains a "_requiredBy" field @@ -203,7 +211,9 @@ namespace ts.JsTyping { // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used // to download d.ts files from DefinitelyTyped - if (!packageJson.name) { continue; } + if (!packageJson.name) { + continue; + } if (packageJson.typings) { const absolutePath = getNormalizedAbsolutePath(packageJson.typings, getDirectoryPath(normalizedFileName)); inferredTypings[packageJson.name] = absolutePath; diff --git a/src/services/shims.ts b/src/services/shims.ts index 684c206b994..25d0480de3e 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -990,16 +990,16 @@ namespace ts { public discoverTypings(discoverTypingsJson: string): string { const getCanonicalFileName = createGetCanonicalFileName(/*useCaseSensitivefileNames:*/ false); return this.forwardJSONCall("discoverTypings()", () => { - const settings = JSON.parse(discoverTypingsJson); + const info = JSON.parse(discoverTypingsJson); return ts.JsTyping.discoverTypings( this.host, - settings.fileNames, - toPath(settings.cachePath, settings.cachePath, getCanonicalFileName), - toPath(settings.projectRootPath, settings.projectRootPath, getCanonicalFileName), - toPath(settings.safeListPath, settings.safeListPath, getCanonicalFileName), - settings.packageNameToTypingLocation, - settings.typingOptions, - settings.compilerOptions); + info.fileNames, + toPath(info.cachePath, info.cachePath, getCanonicalFileName), + toPath(info.projectRootPath, info.projectRootPath, getCanonicalFileName), + toPath(info.safeListPath, info.safeListPath, getCanonicalFileName), + info.packageNameToTypingLocation, + info.typingOptions, + info.compilerOptions); }); } } From 694a48c445831efd3298136b245fce10d47155a9 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 2 Mar 2016 22:03:21 +0300 Subject: [PATCH 130/342] Added new diagnostics message to clarify error for type guards New diagnostics message "A type guard's type must be assignable to its parameter's type." number 2677 is now using in chain report to clarify vague error message for type guards. --- src/compiler/checker.ts | 5 ++++- src/compiler/diagnosticMessages.json | 4 ++++ .../typeGuardFunctionErrors.errors.txt | 22 ++++++++++++------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d5b024c57e9..4ca97793073 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11815,9 +11815,12 @@ namespace ts { Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter); } else { + const leadingError = chainDiagnosticMessages(undefined, Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), - node.type); + node.type, + /*headMessage*/ undefined, + leadingError); } } else if (parameterName) { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index a8ccbbe0e32..4ffbca3bb50 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1847,6 +1847,10 @@ "category": "Error", "code": 2676 }, + "A type predicate's type must be assignable to its parameter's type.": { + "category": "Error", + "code": 2677 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 diff --git a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt index 8e4bf651518..eac2660df81 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt @@ -12,10 +12,13 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(31,5): tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(31,5): error TS7027: Unreachable code detected. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(32,1): error TS1128: Declaration or statement expected. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(34,38): error TS1225: Cannot find parameter 'x'. -tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(38,51): error TS2322: Type 'B' is not assignable to type 'A'. - Property 'propA' is missing in type 'B'. -tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(42,56): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(46,56): error TS2322: Type 'T[]' is not assignable to type 'string'. +tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(38,51): error TS2677: A type predicate's type must be assignable to its parameter's type. + Type 'B' is not assignable to type 'A'. + Property 'propA' is missing in type 'B'. +tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(42,56): error TS2677: A type predicate's type must be assignable to its parameter's type. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(46,56): error TS2677: A type predicate's type must be assignable to its parameter's type. + Type 'T[]' is not assignable to type 'string'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(60,7): error TS2339: Property 'propB' does not exist on type 'A'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(65,7): error TS2339: Property 'propB' does not exist on type 'A'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(70,7): error TS2339: Property 'propB' does not exist on type 'A'. @@ -129,20 +132,23 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(137,39 function hasNonMatchingParameterType1(x: A): x is B { ~ -!!! error TS2322: Type 'B' is not assignable to type 'A'. -!!! error TS2322: Property 'propA' is missing in type 'B'. +!!! error TS2677: A type predicate's type must be assignable to its parameter's type. +!!! error TS2677: Type 'B' is not assignable to type 'A'. +!!! error TS2677: Property 'propA' is missing in type 'B'. return true; } function hasNonMatchingParameterType2(x: string): x is number { ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2677: A type predicate's type must be assignable to its parameter's type. +!!! error TS2677: Type 'number' is not assignable to type 'string'. return true; } function hasNonMathcingGenericType(a: string): a is T[] { ~~~ -!!! error TS2322: Type 'T[]' is not assignable to type 'string'. +!!! error TS2677: A type predicate's type must be assignable to its parameter's type. +!!! error TS2677: Type 'T[]' is not assignable to type 'string'. return true; } From 1bebc711b039e87d2b77fbf7f4083e3916b81a67 Mon Sep 17 00:00:00 2001 From: Basarat Ali Syed Date: Thu, 3 Mar 2016 10:32:07 +1100 Subject: [PATCH 131/342] fix(build) `TypingResolutionHost` interface is used by exported function `discoverTypings` --- src/services/jsTyping.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 22265cc1016..b78434ddaa0 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -6,7 +6,7 @@ /* @internal */ namespace ts.JsTyping { - interface TypingResolutionHost { + export interface TypingResolutionHost { directoryExists: (path: string) => boolean; fileExists: (fileName: string) => boolean; readFile: (path: string, encoding?: string) => string; From 33e3825beb4aa7b8114923a7126eb3f27779d410 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 2 Mar 2016 16:40:16 -0800 Subject: [PATCH 132/342] Assigned-before-use checking for non-nullable variables --- src/compiler/checker.ts | 143 ++++++++++++++++++++++++--- src/compiler/diagnosticMessages.json | 4 + src/compiler/types.ts | 4 +- 3 files changed, 135 insertions(+), 16 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 80aadc977a9..89517b7539e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6929,9 +6929,9 @@ namespace ts { visit(node); return assignmentMap; - function visitBinaryExpression(node: BinaryExpression) { - if (node.operatorToken.kind >= SyntaxKind.FirstAssignment && node.operatorToken.kind <= SyntaxKind.LastAssignment) { - const key = getAssignmentKey(skipParenthesizedNodes(node.left)); + function visitReference(node: Identifier | PropertyAccessExpression) { + if (isAssignmentTarget(node) || isCompoundAssignmentTarget(node)) { + const key = getAssignmentKey(node); if (key) { assignmentMap[key] = true; } @@ -6948,18 +6948,19 @@ namespace ts { function visit(node: Node) { switch (node.kind) { - case SyntaxKind.BinaryExpression: - visitBinaryExpression(node); + case SyntaxKind.Identifier: + case SyntaxKind.PropertyAccessExpression: + visitReference(node); break; case SyntaxKind.VariableDeclaration: case SyntaxKind.BindingElement: visitVariableDeclaration(node); break; + case SyntaxKind.BinaryExpression: case SyntaxKind.ObjectBindingPattern: case SyntaxKind.ArrayBindingPattern: case SyntaxKind.ArrayLiteralExpression: case SyntaxKind.ObjectLiteralExpression: - case SyntaxKind.PropertyAccessExpression: case SyntaxKind.ElementAccessExpression: case SyntaxKind.CallExpression: case SyntaxKind.NewExpression: @@ -7396,6 +7397,93 @@ namespace ts { return expression; } + function findFirstAssignment(symbol: Symbol, container: Node): Node { + return visit(isFunctionLike(container) ? (container).body : container); + + function visit(node: Node): Node { + switch (node.kind) { + case SyntaxKind.Identifier: + const assignment = getAssignmentRoot(node); + return assignment && getResolvedSymbol(node) === symbol ? assignment : undefined; + case SyntaxKind.BinaryExpression: + case SyntaxKind.VariableDeclaration: + case SyntaxKind.BindingElement: + case SyntaxKind.ObjectBindingPattern: + case SyntaxKind.ArrayBindingPattern: + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.ElementAccessExpression: + case SyntaxKind.CallExpression: + case SyntaxKind.NewExpression: + case SyntaxKind.TypeAssertionExpression: + case SyntaxKind.AsExpression: + case SyntaxKind.NonNullExpression: + case SyntaxKind.ParenthesizedExpression: + case SyntaxKind.PrefixUnaryExpression: + case SyntaxKind.DeleteExpression: + case SyntaxKind.AwaitExpression: + case SyntaxKind.TypeOfExpression: + case SyntaxKind.VoidExpression: + case SyntaxKind.PostfixUnaryExpression: + case SyntaxKind.YieldExpression: + case SyntaxKind.ConditionalExpression: + case SyntaxKind.SpreadElementExpression: + case SyntaxKind.VariableStatement: + case SyntaxKind.ExpressionStatement: + case SyntaxKind.IfStatement: + case SyntaxKind.DoStatement: + case SyntaxKind.WhileStatement: + case SyntaxKind.ForStatement: + case SyntaxKind.ForInStatement: + case SyntaxKind.ForOfStatement: + case SyntaxKind.ReturnStatement: + case SyntaxKind.WithStatement: + case SyntaxKind.SwitchStatement: + case SyntaxKind.CaseClause: + case SyntaxKind.DefaultClause: + case SyntaxKind.LabeledStatement: + case SyntaxKind.ThrowStatement: + case SyntaxKind.TryStatement: + case SyntaxKind.CatchClause: + case SyntaxKind.JsxElement: + case SyntaxKind.JsxSelfClosingElement: + case SyntaxKind.JsxAttribute: + case SyntaxKind.JsxSpreadAttribute: + case SyntaxKind.JsxOpeningElement: + case SyntaxKind.JsxExpression: + case SyntaxKind.Block: + case SyntaxKind.SourceFile: + return forEachChild(node, visit); + } + return undefined; + } + } + + function checkVariableAssignedBefore(symbol: Symbol, reference: Node) { + if (!(symbol.flags & SymbolFlags.Variable)) { + return; + } + const declaration = symbol.valueDeclaration; + if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration || (declaration).initializer) { + return; + } + const declarationContainer = getContainingFunction(declaration) || getSourceFileOfNode(declaration); + const referenceContainer = getContainingFunction(reference) || getSourceFileOfNode(reference); + if (declarationContainer !== referenceContainer) { + return; + } + const links = getSymbolLinks(symbol); + if (!links.firstAssignmentChecked) { + links.firstAssignmentChecked = true; + links.firstAssignment = findFirstAssignment(symbol, declarationContainer); + } + if (links.firstAssignment && links.firstAssignment.end <= reference.pos) { + return; + } + error(reference, Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); + } + function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); @@ -7447,7 +7535,11 @@ namespace ts { checkCollisionWithCapturedThisVariable(node, node); checkNestedBlockScopedBinding(node, symbol); - return getNarrowedTypeOfReference(getTypeOfSymbol(localOrExportSymbol), node); + const type = getTypeOfSymbol(localOrExportSymbol); + if (strictNullChecks && !isAssignmentTarget(node) && !(type.flags & TypeFlags.Any) && !isNullableType(type)) { + checkVariableAssignedBefore(symbol, node); + } + return getNarrowedTypeOfReference(type, node); } function isInsideFunction(node: Node, threshold: Node): boolean { @@ -8344,19 +8436,40 @@ namespace ts { return mapper && mapper.context; } + // Return the root assignment node of an assignment target + function getAssignmentRoot(node: Node): Node { + while (node.parent.kind === SyntaxKind.ParenthesizedExpression) { + node = node.parent; + } + while (true) { + if (node.parent.kind === SyntaxKind.PropertyAssignment) { + node = node.parent.parent; + } + else if (node.parent.kind === SyntaxKind.ArrayLiteralExpression) { + node = node.parent; + } + else { + break; + } + } + const parent = node.parent; + return parent.kind === SyntaxKind.BinaryExpression && + (parent).operatorToken.kind === SyntaxKind.EqualsToken && + (parent).left === node ? parent : undefined; + } + // A node is an assignment target if it is on the left hand side of an '=' token, if it is parented by a property // assignment in an object literal that is an assignment target, or if it is parented by an array literal that is // an assignment target. Examples include 'a = xxx', '{ p: a } = xxx', '[{ p: a}] = xxx'. function isAssignmentTarget(node: Node): boolean { + return !!getAssignmentRoot(node); + } + + function isCompoundAssignmentTarget(node: Node) { const parent = node.parent; - if (parent.kind === SyntaxKind.BinaryExpression && (parent).operatorToken.kind === SyntaxKind.EqualsToken && (parent).left === node) { - return true; - } - if (parent.kind === SyntaxKind.PropertyAssignment) { - return isAssignmentTarget(parent.parent); - } - if (parent.kind === SyntaxKind.ArrayLiteralExpression) { - return isAssignmentTarget(parent); + if (parent.kind === SyntaxKind.BinaryExpression && (parent).left === node) { + const operator = (parent).operatorToken.kind; + return operator >= SyntaxKind.FirstAssignment && operator <= SyntaxKind.LastAssignment; } return false; } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 09a9795eccd..0b70ab98ce7 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1411,6 +1411,10 @@ "category": "Error", "code": 2453 }, + "Variable '{0}' is used before being assigned.": { + "category": "Error", + "code": 2454 + }, "Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'.": { "category": "Error", "code": 2455 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 840d7988405..ea3d95c49eb 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2035,7 +2035,9 @@ namespace ts { exportsChecked?: boolean; // True if exports of external module have been checked isDeclarationWithCollidingName?: boolean; // True if symbol is block scoped redeclaration bindingElement?: BindingElement; // Binding element associated with property symbol - exportsSomeValue?: boolean; // true if module exports some value (not just types) + exportsSomeValue?: boolean; // True if module exports some value (not just types) + firstAssignmentChecked?: boolean; // True if first assignment node has been computed + firstAssignment?: Node; // First assignment node (undefined if no assignments) } /* @internal */ From 70d267419bdfab450495602ea3d8ceb9dac47e66 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 2 Mar 2016 17:13:51 -0800 Subject: [PATCH 133/342] Concat declaration error so we report them --- src/compiler/program.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index b051c0f5bcc..9c4de60a734 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -973,7 +973,11 @@ namespace ts { } if (diagnostics.length > 0 || declarationDiagnostics.length > 0) { - return { diagnostics, sourceMaps: undefined, emitSkipped: true }; + return { + diagnostics: concatenate(diagnostics, declarationDiagnostics), + sourceMaps: undefined, + emitSkipped: true + }; } } From 99edce09bc1707ff6d41310a1174e85161355eac Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Thu, 3 Mar 2016 13:29:00 +0800 Subject: [PATCH 134/342] Fixes CR feedback --- src/services/navigationBar.ts | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index b537a56e856..2d06177e128 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -155,18 +155,18 @@ namespace ts.NavigationBar { switch (node.kind) { case SyntaxKind.ClassDeclaration: topLevelNodes.push(node); - forEach((node).members, (node) => { - if (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.Constructor) { + for (const member of (node).members) { + if (member.kind === SyntaxKind.MethodDeclaration || member.kind === SyntaxKind.Constructor) { type FunctionLikeMember = MethodDeclaration | ConstructorDeclaration; - if ((node).body) { + if ((member).body) { // We do not include methods that does not have child functions in it, because of duplications. - if (hasNonAnonymousFunctionDeclarations(((node).body).statements)) { - topLevelNodes.push(node); + if (hasNamedFunctionDeclarations(((member).body).statements)) { + topLevelNodes.push(member); } - addTopLevelNodes(((node).body).statements, topLevelNodes); + addTopLevelNodes(((member).body).statements, topLevelNodes); } } - }); + } break; case SyntaxKind.EnumDeclaration: case SyntaxKind.InterfaceDeclaration: @@ -190,7 +190,7 @@ namespace ts.NavigationBar { } } - function hasNonAnonymousFunctionDeclarations(nodes: NodeArray) { + function hasNamedFunctionDeclarations(nodes: NodeArray) { if (forEach(nodes, s => s.kind === SyntaxKind.FunctionDeclaration && !isEmpty((s).name.text))) { return true; } @@ -202,12 +202,11 @@ namespace ts.NavigationBar { // within it. if (functionDeclaration.body && functionDeclaration.body.kind === SyntaxKind.Block) { // Proper function declarations can only have identifier names - if (hasNonAnonymousFunctionDeclarations((functionDeclaration.body).statements)) { - + if (hasNamedFunctionDeclarations((functionDeclaration.body).statements)) { return true; } - // Or if it is not parented by another function(except for parent functions that + // Or if it is not parented by another function (except for parent functions that // are methods and constructors). I.e all functions at module scope are 'top level'. if (!isFunctionBlock(functionDeclaration.parent)) { return true; From 30a6a332597e774e62a25e17f10f883ad795a1b7 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 3 Mar 2016 10:18:33 -0800 Subject: [PATCH 135/342] Fix #7362: check for --watchFile in tsconfig.json as well as on the commandline --- src/compiler/tsc.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 706d4da92f7..24f95ab358f 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -386,6 +386,10 @@ namespace ts { sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped); return; } + if (isWatchSet(configParseResult.options) && !sys.watchFile) { + reportDiagnostic(createCompilerDiagnostic(Diagnostics.The_current_host_does_not_support_the_0_option, "--watch"), /* compilerHost */ undefined); + sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped); + } return configParseResult; } @@ -445,7 +449,7 @@ namespace ts { } // Use default host function const sourceFile = hostGetSourceFile(fileName, languageVersion, onError); - if (sourceFile && isWatchSet(compilerOptions)) { + if (sourceFile && isWatchSet(compilerOptions) && sys.watchFile) { // Attach a file watcher const filePath = toPath(sourceFile.fileName, sys.getCurrentDirectory(), createGetCanonicalFileName(sys.useCaseSensitiveFileNames)); sourceFile.fileWatcher = sys.watchFile(filePath, (fileName: string, removed?: boolean) => sourceFileChanged(sourceFile, removed)); From 1589e4f57e39aa6c5bb9e0be39f60191cf94f8b9 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Thu, 3 Mar 2016 10:47:21 -0800 Subject: [PATCH 136/342] set the maximum depth to explore during type inference --- src/compiler/checker.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4ca97793073..835fc343f8d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6585,6 +6585,7 @@ namespace ts { function inferTypes(context: InferenceContext, source: Type, target: Type) { let sourceStack: Type[]; let targetStack: Type[]; + const maxDepth = 5; let depth = 0; let inferiority = 0; const visited: Map = {}; @@ -6713,6 +6714,11 @@ namespace ts { if (isInProcess(source, target)) { return; } + // we delibirately limit the depth we examine to infer types: this speeds up the overall inference process + // and user rarely expects inferences to be made from the deeply nested constituents. + if (depth > maxDepth) { + return; + } if (isDeeplyNestedGeneric(source, sourceStack, depth) && isDeeplyNestedGeneric(target, targetStack, depth)) { return; } From ea4b13bdf94fb2241f15874d9d0b0cead15d6784 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 3 Mar 2016 11:18:12 -0800 Subject: [PATCH 137/342] Allow 'null' and 'undefined' as type names --- src/compiler/checker.ts | 6 ++++++ src/compiler/declarationEmitter.ts | 2 ++ src/compiler/parser.ts | 4 ++++ src/compiler/scanner.ts | 1 + src/compiler/types.ts | 1 + src/compiler/utilities.ts | 1 + 6 files changed, 15 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 89517b7539e..71ef823d137 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3411,6 +3411,8 @@ namespace ts { case SyntaxKind.BooleanKeyword: case SyntaxKind.SymbolKeyword: case SyntaxKind.VoidKeyword: + case SyntaxKind.UndefinedKeyword: + case SyntaxKind.NullKeyword: case SyntaxKind.StringLiteralType: return true; case SyntaxKind.ArrayType: @@ -4935,6 +4937,10 @@ namespace ts { return esSymbolType; case SyntaxKind.VoidKeyword: return voidType; + case SyntaxKind.UndefinedKeyword: + return undefinedType; + case SyntaxKind.NullKeyword: + return nullType; case SyntaxKind.ThisType: return getTypeFromThisTypeNode(node); case SyntaxKind.StringLiteralType: diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 1328a2e8484..d2031a7bad6 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -367,6 +367,8 @@ namespace ts { case SyntaxKind.BooleanKeyword: case SyntaxKind.SymbolKeyword: case SyntaxKind.VoidKeyword: + case SyntaxKind.UndefinedKeyword: + case SyntaxKind.NullKeyword: case SyntaxKind.ThisType: case SyntaxKind.StringLiteralType: return writeTextOfNode(currentText, type); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index a7e76ac3ae4..c2d3173a860 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2379,12 +2379,14 @@ namespace ts { case SyntaxKind.NumberKeyword: case SyntaxKind.BooleanKeyword: case SyntaxKind.SymbolKeyword: + case SyntaxKind.UndefinedKeyword: // If these are followed by a dot, then parse these out as a dotted type reference instead. const node = tryParse(parseKeywordAndNoDot); return node || parseTypeReference(); case SyntaxKind.StringLiteral: return parseStringLiteralTypeNode(); case SyntaxKind.VoidKeyword: + case SyntaxKind.NullKeyword: return parseTokenNode(); case SyntaxKind.ThisKeyword: { const thisKeyword = parseThisTypeNode(); @@ -2416,6 +2418,8 @@ namespace ts { case SyntaxKind.BooleanKeyword: case SyntaxKind.SymbolKeyword: case SyntaxKind.VoidKeyword: + case SyntaxKind.UndefinedKeyword: + case SyntaxKind.NullKeyword: case SyntaxKind.ThisKeyword: case SyntaxKind.TypeOfKeyword: case SyntaxKind.OpenBraceToken: diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 64747fc638c..8979814a7a2 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -114,6 +114,7 @@ namespace ts { "try": SyntaxKind.TryKeyword, "type": SyntaxKind.TypeKeyword, "typeof": SyntaxKind.TypeOfKeyword, + "undefined": SyntaxKind.UndefinedKeyword, "var": SyntaxKind.VarKeyword, "void": SyntaxKind.VoidKeyword, "while": SyntaxKind.WhileKeyword, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ea3d95c49eb..9f709c8fa68 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -171,6 +171,7 @@ namespace ts { StringKeyword, SymbolKeyword, TypeKeyword, + UndefinedKeyword, FromKeyword, GlobalKeyword, OfKeyword, // LastKeyword and LastToken diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 7012326fa98..953e2a7c194 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -515,6 +515,7 @@ namespace ts { case SyntaxKind.StringKeyword: case SyntaxKind.BooleanKeyword: case SyntaxKind.SymbolKeyword: + case SyntaxKind.UndefinedKeyword: return true; case SyntaxKind.VoidKeyword: return node.parent.kind !== SyntaxKind.VoidExpression; From ed958119a179ffa4ca1280abfefda0a5dc7e9e9d Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 3 Mar 2016 11:18:33 -0800 Subject: [PATCH 138/342] Fix unit test --- tests/cases/unittests/jsDocParsing.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/cases/unittests/jsDocParsing.ts b/tests/cases/unittests/jsDocParsing.ts index 9988383b467..5553ea77b8f 100644 --- a/tests/cases/unittests/jsDocParsing.ts +++ b/tests/cases/unittests/jsDocParsing.ts @@ -792,6 +792,7 @@ module ts { "kind": "Identifier", "pos": 1, "end": 10, + "originalKeywordKind": "UndefinedKeyword", "text": "undefined" } }`); From 04c28b09a9c20fe71fb1555cdce0f25647eca8e9 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 3 Mar 2016 11:18:47 -0800 Subject: [PATCH 139/342] Accepting new baselines --- .../reference/typeParameterConstraints1.errors.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/baselines/reference/typeParameterConstraints1.errors.txt b/tests/baselines/reference/typeParameterConstraints1.errors.txt index e837e19317d..97bc8165751 100644 --- a/tests/baselines/reference/typeParameterConstraints1.errors.txt +++ b/tests/baselines/reference/typeParameterConstraints1.errors.txt @@ -1,11 +1,9 @@ tests/cases/compiler/typeParameterConstraints1.ts(6,25): error TS2304: Cannot find name 'hm'. tests/cases/compiler/typeParameterConstraints1.ts(9,25): error TS1110: Type expected. tests/cases/compiler/typeParameterConstraints1.ts(10,26): error TS1110: Type expected. -tests/cases/compiler/typeParameterConstraints1.ts(11,26): error TS1110: Type expected. -tests/cases/compiler/typeParameterConstraints1.ts(12,26): error TS2304: Cannot find name 'undefined'. -==== tests/cases/compiler/typeParameterConstraints1.ts (5 errors) ==== +==== tests/cases/compiler/typeParameterConstraints1.ts (3 errors) ==== function foo1(test: T) { } function foo2(test: T) { } function foo3(test: T) { } @@ -23,9 +21,5 @@ tests/cases/compiler/typeParameterConstraints1.ts(12,26): error TS2304: Cannot f ~ !!! error TS1110: Type expected. function foo11 (test: T) { } - ~~~~ -!!! error TS1110: Type expected. function foo12(test: T) { } - ~~~~~~~~~ -!!! error TS2304: Cannot find name 'undefined'. function foo13(test: T) { } \ No newline at end of file From 5132ea64ea379099ec0db00442e60e1bdfbeab13 Mon Sep 17 00:00:00 2001 From: Evan Martin Date: Wed, 2 Mar 2016 17:05:33 -0800 Subject: [PATCH 140/342] in noImplicitReturns mode, also disallow "return;" In --noImplicitReturns mode, if a function specifies a return type, disallow empty "return;" statements. Fixes #5916. --- src/compiler/checker.ts | 14 ++++-- ...tReturnsWithoutReturnExpression.errors.txt | 34 +++++++++++++ ...oImplicitReturnsWithoutReturnExpression.js | 48 +++++++++++++++++++ ...oImplicitReturnsWithoutReturnExpression.ts | 25 ++++++++++ 4 files changed, 116 insertions(+), 5 deletions(-) create mode 100644 tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt create mode 100644 tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.js create mode 100644 tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4ca97793073..084fc48f0cb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13842,11 +13842,11 @@ namespace ts { } } - if (node.expression) { - const func = getContainingFunction(node); - if (func) { - const signature = getSignatureFromDeclaration(func); - const returnType = getReturnTypeOfSignature(signature); + const func = getContainingFunction(node); + if (func) { + const signature = getSignatureFromDeclaration(func); + const returnType = getReturnTypeOfSignature(signature); + if (node.expression) { const exprType = checkExpressionCached(node.expression); if (func.asteriskToken) { @@ -13881,6 +13881,10 @@ namespace ts { } } } + else if (compilerOptions.noImplicitReturns && !maybeTypeOfKind(returnType, TypeFlags.Void | TypeFlags.Any)) { + // The function has a return type, but the return statement doesn't have an expression. + error(node, Diagnostics.Not_all_code_paths_return_a_value); + } } } diff --git a/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt new file mode 100644 index 00000000000..83d9a65e95d --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt @@ -0,0 +1,34 @@ +tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts(2,5): error TS7030: Not all code paths return a value. +tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts(22,9): error TS7030: Not all code paths return a value. + + +==== tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts (2 errors) ==== + function isMissingReturnExpression(): number { + return; + ~~~~~~~ +!!! error TS7030: Not all code paths return a value. + } + + function isMissingReturnExpression2(): any { + return; + } + + function isMissingReturnExpression3(): number|void { + return; + } + + function isMissingReturnExpression4(): void { + return; + } + + function isMissingReturnExpression5(x) { + if (x) { + return 0; + } + else { + return; + ~~~~~~~ +!!! error TS7030: Not all code paths return a value. + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.js b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.js new file mode 100644 index 00000000000..8c9123f6e17 --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.js @@ -0,0 +1,48 @@ +//// [noImplicitReturnsWithoutReturnExpression.ts] +function isMissingReturnExpression(): number { + return; +} + +function isMissingReturnExpression2(): any { + return; +} + +function isMissingReturnExpression3(): number|void { + return; +} + +function isMissingReturnExpression4(): void { + return; +} + +function isMissingReturnExpression5(x) { + if (x) { + return 0; + } + else { + return; + } +} + + +//// [noImplicitReturnsWithoutReturnExpression.js] +function isMissingReturnExpression() { + return; +} +function isMissingReturnExpression2() { + return; +} +function isMissingReturnExpression3() { + return; +} +function isMissingReturnExpression4() { + return; +} +function isMissingReturnExpression5(x) { + if (x) { + return 0; + } + else { + return; + } +} diff --git a/tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts b/tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts new file mode 100644 index 00000000000..f532b1280d3 --- /dev/null +++ b/tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts @@ -0,0 +1,25 @@ +// @noImplicitReturns: true +function isMissingReturnExpression(): number { + return; +} + +function isMissingReturnExpression2(): any { + return; +} + +function isMissingReturnExpression3(): number|void { + return; +} + +function isMissingReturnExpression4(): void { + return; +} + +function isMissingReturnExpression5(x) { + if (x) { + return 0; + } + else { + return; + } +} From ae2b7c2aa2200eeaaecc6845f8808bfa87456a0d Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Thu, 3 Mar 2016 15:17:52 -0800 Subject: [PATCH 141/342] Removing cachePath from discoverTypings and DiscoverTypingsInfo. With the move to using the packageNameToLocation map it is no longer required. --- src/compiler/types.ts | 1 - src/services/jsTyping.ts | 2 -- src/services/shims.ts | 1 - 3 files changed, 4 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 2d53d5addad..ca896c0914a 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2442,7 +2442,6 @@ namespace ts { export interface DiscoverTypingsInfo { fileNames: string[]; // The file names that belong to the same project. - cachePath: string; // The path to the typings cache projectRootPath: string; // The path to the project root directory safeListPath: string; // The path used to retrieve the safe list packageNameToTypingLocation: Map; // The map of package names to their cached typing locations diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index b78434ddaa0..943693bf52e 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -30,7 +30,6 @@ namespace ts.JsTyping { /** * @param host is the object providing I/O related operations. * @param fileNames are the file names that belong to the same project - * @param cachePath is the path to the typings cache * @param projectRootPath is the path to the project root directory * @param safeListPath is the path used to retrieve the safe list * @param packageNameToTypingLocation is the map of package names to their cached typing locations @@ -40,7 +39,6 @@ namespace ts.JsTyping { export function discoverTypings( host: TypingResolutionHost, fileNames: string[], - cachePath: Path, projectRootPath: Path, safeListPath: Path, packageNameToTypingLocation: Map, diff --git a/src/services/shims.ts b/src/services/shims.ts index a5b09fa0224..ecfcd6f84da 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -994,7 +994,6 @@ namespace ts { return ts.JsTyping.discoverTypings( this.host, info.fileNames, - toPath(info.cachePath, info.cachePath, getCanonicalFileName), toPath(info.projectRootPath, info.projectRootPath, getCanonicalFileName), toPath(info.safeListPath, info.safeListPath, getCanonicalFileName), info.packageNameToTypingLocation, From baa040115e4855d7c61223f7a0937113e15282c0 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 3 Mar 2016 15:42:47 -0800 Subject: [PATCH 142/342] Fix #7173: Widen the type do the defualt export expression before writing it out. --- src/compiler/checker.ts | 2 +- ...eclarationEmit_inferedDefaultExportType.js | 26 +++++++++++++++++++ ...ationEmit_inferedDefaultExportType.symbols | 14 ++++++++++ ...arationEmit_inferedDefaultExportType.types | 18 +++++++++++++ ...clarationEmit_inferedDefaultExportType2.js | 25 ++++++++++++++++++ ...tionEmit_inferedDefaultExportType2.symbols | 14 ++++++++++ ...rationEmit_inferedDefaultExportType2.types | 18 +++++++++++++ ...eclarationEmit_inferedDefaultExportType.ts | 9 +++++++ ...clarationEmit_inferedDefaultExportType2.ts | 9 +++++++ 9 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType.js create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType.types create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols create mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types create mode 100644 tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts create mode 100644 tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b56033e42ea..a55f17f8aac 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16240,7 +16240,7 @@ namespace ts { } function writeTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter) { - const type = getTypeOfExpression(expr); + const type = getWidenedType(getTypeOfExpression(expr)); getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags); } diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js new file mode 100644 index 00000000000..ee80738a269 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js @@ -0,0 +1,26 @@ +//// [declarationEmit_inferedDefaultExportType.ts] + +// test.ts +export default { + foo: [], + bar: undefined, + baz: null +} + +//// [declarationEmit_inferedDefaultExportType.js] +"use strict"; +exports.__esModule = true; +exports["default"] = { + foo: [], + bar: undefined, + baz: null +}; + + +//// [declarationEmit_inferedDefaultExportType.d.ts] +declare var _default: { + foo: any[]; + bar: any; + baz: any; +}; +export default _default; diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols new file mode 100644 index 00000000000..7e8cdea2c75 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts === + +// test.ts +export default { + foo: [], +>foo : Symbol(foo, Decl(declarationEmit_inferedDefaultExportType.ts, 2, 16)) + + bar: undefined, +>bar : Symbol(bar, Decl(declarationEmit_inferedDefaultExportType.ts, 3, 10)) +>undefined : Symbol(undefined) + + baz: null +>baz : Symbol(baz, Decl(declarationEmit_inferedDefaultExportType.ts, 4, 17)) +} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.types b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.types new file mode 100644 index 00000000000..0f5d0ceed91 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts === + +// test.ts +export default { +>{ foo: [], bar: undefined, baz: null} : { foo: undefined[]; bar: undefined; baz: null; } + + foo: [], +>foo : undefined[] +>[] : undefined[] + + bar: undefined, +>bar : undefined +>undefined : undefined + + baz: null +>baz : null +>null : null +} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js new file mode 100644 index 00000000000..617d4a9966b --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js @@ -0,0 +1,25 @@ +//// [declarationEmit_inferedDefaultExportType2.ts] + +// test.ts +export = { + foo: [], + bar: undefined, + baz: null +} + +//// [declarationEmit_inferedDefaultExportType2.js] +"use strict"; +module.exports = { + foo: [], + bar: undefined, + baz: null +}; + + +//// [declarationEmit_inferedDefaultExportType2.d.ts] +declare var _default: { + foo: any[]; + bar: any; + baz: any; +}; +export = _default; diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols new file mode 100644 index 00000000000..d04c50c0d7c --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts === + +// test.ts +export = { + foo: [], +>foo : Symbol(foo, Decl(declarationEmit_inferedDefaultExportType2.ts, 2, 10)) + + bar: undefined, +>bar : Symbol(bar, Decl(declarationEmit_inferedDefaultExportType2.ts, 3, 10)) +>undefined : Symbol(undefined) + + baz: null +>baz : Symbol(baz, Decl(declarationEmit_inferedDefaultExportType2.ts, 4, 17)) +} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types new file mode 100644 index 00000000000..5c8cbbb158c --- /dev/null +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts === + +// test.ts +export = { +>{ foo: [], bar: undefined, baz: null} : { foo: undefined[]; bar: undefined; baz: null; } + + foo: [], +>foo : undefined[] +>[] : undefined[] + + bar: undefined, +>bar : undefined +>undefined : undefined + + baz: null +>baz : null +>null : null +} diff --git a/tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts b/tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts new file mode 100644 index 00000000000..3c3adc1af2f --- /dev/null +++ b/tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts @@ -0,0 +1,9 @@ +// @declaration: true +// @module: commonjs + +// test.ts +export default { + foo: [], + bar: undefined, + baz: null +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts b/tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts new file mode 100644 index 00000000000..274996cbe12 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts @@ -0,0 +1,9 @@ +// @declaration: true +// @module: commonjs + +// test.ts +export = { + foo: [], + bar: undefined, + baz: null +} \ No newline at end of file From 87ae0489eb8b0b9f4fac16f8dd503a56978bb58b Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 3 Mar 2016 17:44:46 -0800 Subject: [PATCH 143/342] Reinstate separate type kinds for 'null' and 'undefined' --- src/compiler/checker.ts | 100 +++++++++++++++++++++++++++------------- src/compiler/types.ts | 19 ++++---- 2 files changed, 77 insertions(+), 42 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 71ef823d137..70f1a31e186 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -113,9 +113,9 @@ namespace ts { const booleanType = createIntrinsicType(TypeFlags.Boolean, "boolean"); const esSymbolType = createIntrinsicType(TypeFlags.ESSymbol, "symbol"); const voidType = createIntrinsicType(TypeFlags.Void, "void"); - const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "undefined"); - const nullType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "null"); - const emptyArrayElementType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefined, "undefined"); + const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefinedOrNull, "undefined"); + const nullType = createIntrinsicType(TypeFlags.Null | TypeFlags.ContainsUndefinedOrNull, "null"); + const emptyArrayElementType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefinedOrNull, "undefined"); const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); const emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); @@ -209,7 +209,7 @@ namespace ts { }, "undefined": { type: undefinedType, - flags: TypeFlags.ContainsUndefined + flags: TypeFlags.ContainsUndefinedOrNull } }; @@ -1883,7 +1883,7 @@ namespace ts { else if (type.flags & TypeFlags.Tuple) { writeTupleType(type); } - else if (isNullableType(type)) { + else if (isNullableType(type) && (type).types.length > 2) { writeType(getNonNullableType(type), TypeFormatFlags.InElementType); writePunctuation(writer, SyntaxKind.QuestionToken); } @@ -4805,7 +4805,7 @@ namespace ts { const id = getTypeListId(typeSet); let type = unionTypes[id]; if (!type) { - const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Undefined); + const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Nullable); type = unionTypes[id] = createObjectType(TypeFlags.Union | propagatedFlags); type.types = typeSet; } @@ -4840,7 +4840,7 @@ namespace ts { const id = getTypeListId(typeSet); let type = intersectionTypes[id]; if (!type) { - const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Undefined); + const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Nullable); type = intersectionTypes[id] = createObjectType(TypeFlags.Intersection | propagatedFlags); type.types = typeSet; } @@ -5502,6 +5502,9 @@ namespace ts { if (source.flags & TypeFlags.Undefined) { if (!strictNullChecks || target.flags & TypeFlags.Undefined || source === emptyArrayElementType) return Ternary.True; } + if (source.flags & TypeFlags.Null) { + if (!strictNullChecks || target.flags & TypeFlags.Null) return Ternary.True; + } if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) { if (result = enumRelatedTo(source, target)) { @@ -6325,7 +6328,7 @@ namespace ts { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray return type.flags & TypeFlags.Reference && ((type).target === globalArrayType || (type).target === globalReadonlyArrayType) || - !(type.flags & TypeFlags.Undefined) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & TypeFlags.Nullable) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isTupleLikeType(type: Type): boolean { @@ -6344,18 +6347,18 @@ namespace ts { return !!(type.flags & TypeFlags.Tuple); } - function isNullableType(type: Type): boolean { - if (type.flags & TypeFlags.Undefined) { - return true; - } - if (type.flags & TypeFlags.Union) { + function getNullableKind(type: Type): TypeFlags { + let flags = type.flags; + if (flags & TypeFlags.Union) { for (const t of (type as UnionType).types) { - if (t.flags & TypeFlags.Undefined) { - return true; - } + flags |= t.flags; } } - return false; + return flags & TypeFlags.Nullable; + } + + function isNullableType(type: Type) { + return getNullableKind(type) === TypeFlags.Nullable; } function getNullableType(type: Type): Type { @@ -6363,20 +6366,51 @@ namespace ts { return type; } if (!type.nullableType) { - type.nullableType = isNullableType(type) ? type : getUnionType([type, undefinedType]); + type.nullableType = isNullableType(type) ? type : getUnionType([type, undefinedType, nullType]); } return type.nullableType; } - function getNonNullableTypeFromUnionType(type: UnionType): Type { - if (!type.nonNullableType) { - type.nonNullableType = removeTypesFromUnionOrIntersection(type, [undefinedType, nullType]); + function addNullableKind(type: Type, kind: TypeFlags): Type { + if ((getNullableKind(type) & kind) !== kind) { + const types = [type]; + if (kind & TypeFlags.Undefined) { + types.push(undefinedType); + } + if (kind & TypeFlags.Null) { + types.push(nullType); + } + type = getUnionType(types); } - return type.nonNullableType; + return type; + } + + function removeNullableKind(type: Type, kind: TypeFlags) { + if (type.flags & TypeFlags.Union && getNullableKind(type) & kind) { + let firstType: Type; + let types: Type[]; + for (const t of (type as UnionType).types) { + if (!(t.flags & kind)) { + if (!firstType) { + firstType = t; + } + else { + if (!types) { + types = [firstType]; + } + types.push(t); + } + } + } + if (firstType) { + type = types ? getUnionType(types) : firstType; + } + } + return type; } function getNonNullableType(type: Type): Type { - return strictNullChecks && type.flags & TypeFlags.Union ? getNonNullableTypeFromUnionType(type as UnionType) : type; + return strictNullChecks ? removeNullableKind(type, TypeFlags.Nullable) : type; } /** @@ -6433,12 +6467,12 @@ namespace ts { } function getWidenedConstituentType(type: Type): Type { - return type.flags & TypeFlags.Undefined ? type : getWidenedType(type); + return type.flags & TypeFlags.Nullable ? type : getWidenedType(type); } function getWidenedType(type: Type): Type { if (type.flags & TypeFlags.RequiresWidening) { - if (type.flags & TypeFlags.Undefined) { + if (type.flags & TypeFlags.Nullable) { return anyType; } if (type.flags & TypeFlags.ObjectLiteral) { @@ -6490,7 +6524,7 @@ namespace ts { if (type.flags & TypeFlags.ObjectLiteral) { for (const p of getPropertiesOfObjectType(type)) { const t = getTypeOfSymbol(p); - if (t.flags & TypeFlags.ContainsUndefined) { + if (t.flags & TypeFlags.ContainsUndefinedOrNull) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(getWidenedType(t))); } @@ -6534,7 +6568,7 @@ namespace ts { } function reportErrorsFromWidening(declaration: Declaration, type: Type) { - if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & TypeFlags.ContainsUndefined) { + if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & TypeFlags.ContainsUndefinedOrNull) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); @@ -7542,7 +7576,7 @@ namespace ts { checkNestedBlockScopedBinding(node, symbol); const type = getTypeOfSymbol(localOrExportSymbol); - if (strictNullChecks && !isAssignmentTarget(node) && !(type.flags & TypeFlags.Any) && !isNullableType(type)) { + if (strictNullChecks && !isAssignmentTarget(node) && !(type.flags & TypeFlags.Any) && !(getNullableKind(type) & TypeFlags.Undefined)) { checkVariableAssignedBefore(symbol, node); } return getNarrowedTypeOfReference(type, node); @@ -11524,8 +11558,8 @@ namespace ts { // as having the primitive type Number. If one operand is the null or undefined value, // it is treated as having the type of the other operand. // The result is always of the Number primitive type. - if (leftType.flags & TypeFlags.Undefined) leftType = rightType; - if (rightType.flags & TypeFlags.Undefined) rightType = leftType; + if (leftType.flags & TypeFlags.Nullable) leftType = rightType; + if (rightType.flags & TypeFlags.Nullable) rightType = leftType; leftType = getNonNullableType(leftType); rightType = getNonNullableType(rightType); @@ -11555,8 +11589,8 @@ namespace ts { // or at least one of the operands to be of type Any or the String primitive type. // If one operand is the null or undefined value, it is treated as having the type of the other operand. - if (leftType.flags & TypeFlags.Undefined) leftType = rightType; - if (rightType.flags & TypeFlags.Undefined) rightType = leftType; + if (leftType.flags & TypeFlags.Nullable) leftType = rightType; + if (rightType.flags & TypeFlags.Nullable) rightType = leftType; leftType = getNonNullableType(leftType); rightType = getNonNullableType(rightType); @@ -11618,7 +11652,7 @@ namespace ts { case SyntaxKind.InKeyword: return checkInExpression(left, right, leftType, rightType); case SyntaxKind.AmpersandAmpersandToken: - return isNullableType(leftType) ? getNullableType(rightType) : rightType; + return addNullableKind(rightType, getNullableKind(leftType)); case SyntaxKind.BarBarToken: return getUnionType([getNonNullableType(leftType), rightType]); case SyntaxKind.EqualsToken: diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 9f709c8fa68..56611961998 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2096,7 +2096,8 @@ namespace ts { Number = 0x00000004, Boolean = 0x00000008, Void = 0x00000010, - Undefined = 0x00000020, // Undefined or null + Undefined = 0x00000020, + Null = 0x00000040, Enum = 0x00000080, // Enum type StringLiteral = 0x00000100, // String literal type TypeParameter = 0x00000200, // Type parameter @@ -2114,7 +2115,7 @@ namespace ts { /* @internal */ FreshObjectLiteral = 0x00100000, // Fresh object literal type /* @internal */ - ContainsUndefined = 0x00200000, // Type is or contains undefined type + ContainsUndefinedOrNull = 0x00200000, // Type is or contains undefined or null type /* @internal */ ContainsObjectLiteral = 0x00400000, // Type is or contains object literal type /* @internal */ @@ -2124,18 +2125,20 @@ namespace ts { ObjectLiteralPatternWithComputedProperties = 0x04000000, // Object literal type implied by binding pattern has computed properties /* @internal */ - Intrinsic = Any | String | Number | Boolean | ESSymbol | Void | Undefined, + Nullable = Undefined | Null, /* @internal */ - Primitive = String | Number | Boolean | ESSymbol | Void | Undefined | StringLiteral | Enum, + Intrinsic = Any | String | Number | Boolean | ESSymbol | Void | Undefined | Null, + /* @internal */ + Primitive = String | Number | Boolean | ESSymbol | Void | Undefined | Null | StringLiteral | Enum, StringLike = String | StringLiteral, NumberLike = Number | Enum, ObjectType = Class | Interface | Reference | Tuple | Anonymous, UnionOrIntersection = Union | Intersection, StructuredType = ObjectType | Union | Intersection, /* @internal */ - RequiresWidening = ContainsUndefined | ContainsObjectLiteral, + RequiresWidening = ContainsUndefinedOrNull | ContainsObjectLiteral, /* @internal */ - PropagatingFlags = ContainsUndefined | ContainsObjectLiteral | ContainsAnyFunctionType + PropagatingFlags = ContainsUndefinedOrNull | ContainsObjectLiteral | ContainsAnyFunctionType } export type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; @@ -2214,9 +2217,7 @@ namespace ts { resolvedProperties: SymbolTable; // Cache of resolved properties } - export interface UnionType extends UnionOrIntersectionType { - nonNullableType?: Type; // Cached non-nullable form of type - } + export interface UnionType extends UnionOrIntersectionType { } export interface IntersectionType extends UnionOrIntersectionType { } From c98c76324375a02cf9af56a68fd6ace1287c41b9 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 3 Mar 2016 21:47:11 -0800 Subject: [PATCH 144/342] Fix #5651: Get the correct meaning for expressions in extends clauses --- src/compiler/checker.ts | 2 +- .../declarationEmit_expressionInExtends.js | 49 +++++++++++++++++++ ...eclarationEmit_expressionInExtends.symbols | 32 ++++++++++++ .../declarationEmit_expressionInExtends.types | 32 ++++++++++++ .../declarationEmit_expressionInExtends.ts | 15 ++++++ 5 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends.js create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends.symbols create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends.types create mode 100644 tests/cases/compiler/declarationEmit_expressionInExtends.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a55f17f8aac..041ea6dbfd6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1642,7 +1642,7 @@ namespace ts { function isEntityNameVisible(entityName: EntityName | Expression, enclosingDeclaration: Node): SymbolVisibilityResult { // get symbol of the first identifier of the entityName let meaning: SymbolFlags; - if (entityName.parent.kind === SyntaxKind.TypeQuery) { + if (entityName.parent.kind === SyntaxKind.TypeQuery || isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { // Typeof value meaning = SymbolFlags.Value | SymbolFlags.ExportValue; } diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.js b/tests/baselines/reference/declarationEmit_expressionInExtends.js new file mode 100644 index 00000000000..061042aa34b --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends.js @@ -0,0 +1,49 @@ +//// [declarationEmit_expressionInExtends.ts] + +var x: { + new(s: any): Q; +} + +class Q { + s: string; +} + +class B extends x { +} + +var q: B; +q.s; + +//// [declarationEmit_expressionInExtends.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var x; +var Q = (function () { + function Q() { + } + return Q; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(x)); +var q; +q.s; + + +//// [declarationEmit_expressionInExtends.d.ts] +declare var x: { + new (s: any): Q; +}; +declare class Q { + s: string; +} +declare class B extends x { +} +declare var q: B; diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends.symbols new file mode 100644 index 00000000000..2120ad4ddde --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends.symbols @@ -0,0 +1,32 @@ +=== tests/cases/compiler/declarationEmit_expressionInExtends.ts === + +var x: { +>x : Symbol(x, Decl(declarationEmit_expressionInExtends.ts, 1, 3)) + + new(s: any): Q; +>T : Symbol(T, Decl(declarationEmit_expressionInExtends.ts, 2, 8)) +>s : Symbol(s, Decl(declarationEmit_expressionInExtends.ts, 2, 11)) +>Q : Symbol(Q, Decl(declarationEmit_expressionInExtends.ts, 3, 1)) +} + +class Q { +>Q : Symbol(Q, Decl(declarationEmit_expressionInExtends.ts, 3, 1)) + + s: string; +>s : Symbol(s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) +} + +class B extends x { +>B : Symbol(B, Decl(declarationEmit_expressionInExtends.ts, 7, 1)) +>x : Symbol(x, Decl(declarationEmit_expressionInExtends.ts, 1, 3)) +} + +var q: B; +>q : Symbol(q, Decl(declarationEmit_expressionInExtends.ts, 12, 3)) +>B : Symbol(B, Decl(declarationEmit_expressionInExtends.ts, 7, 1)) + +q.s; +>q.s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) +>q : Symbol(q, Decl(declarationEmit_expressionInExtends.ts, 12, 3)) +>s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) + diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.types b/tests/baselines/reference/declarationEmit_expressionInExtends.types new file mode 100644 index 00000000000..2e810fccf68 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends.types @@ -0,0 +1,32 @@ +=== tests/cases/compiler/declarationEmit_expressionInExtends.ts === + +var x: { +>x : new (s: any) => Q + + new(s: any): Q; +>T : T +>s : any +>Q : Q +} + +class Q { +>Q : Q + + s: string; +>s : string +} + +class B extends x { +>B : B +>x : Q +} + +var q: B; +>q : B +>B : B + +q.s; +>q.s : string +>q : B +>s : string + diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends.ts b/tests/cases/compiler/declarationEmit_expressionInExtends.ts new file mode 100644 index 00000000000..8544ca20d92 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_expressionInExtends.ts @@ -0,0 +1,15 @@ +// @declaration: true + +var x: { + new(s: any): Q; +} + +class Q { + s: string; +} + +class B extends x { +} + +var q: B; +q.s; \ No newline at end of file From 3bb2c57264265551fb8628e1dbd42f48c14d3adb Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 3 Mar 2016 22:35:30 -0800 Subject: [PATCH 145/342] Fix #3810: Handel expressions in extends clauses --- src/compiler/checker.ts | 10 ++ src/compiler/declarationEmitter.ts | 4 + src/compiler/types.ts | 1 + .../declarationEmit_expressionInExtends2.js | 45 ++++++++ ...clarationEmit_expressionInExtends2.symbols | 30 ++++++ ...declarationEmit_expressionInExtends2.types | 32 ++++++ ...rationEmit_expressionInExtends3.errors.txt | 52 +++++++++ .../declarationEmit_expressionInExtends3.js | 101 ++++++++++++++++++ .../declarationEmit_expressionInExtends2.ts | 13 +++ .../declarationEmit_expressionInExtends3.ts | 43 ++++++++ 10 files changed, 331 insertions(+) create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends2.js create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends2.symbols create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends2.types create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends3.js create mode 100644 tests/cases/compiler/declarationEmit_expressionInExtends2.ts create mode 100644 tests/cases/compiler/declarationEmit_expressionInExtends3.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 041ea6dbfd6..976bd6d64e9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16244,6 +16244,15 @@ namespace ts { getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags); } + function writeBaseConstructorTypeOfClass(node: ClassLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter) { + const classType = getDeclaredTypeOfSymbol(getSymbolOfNode(node)); + resolveBaseTypesOfClass(classType); + const baseType = classType.resolvedBaseTypes[0]; + if (baseType) { + getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags); + } + } + function hasGlobalName(name: string): boolean { return hasProperty(globals, name); } @@ -16276,6 +16285,7 @@ namespace ts { writeTypeOfDeclaration, writeReturnTypeOfSignatureDeclaration, writeTypeOfExpression, + writeBaseConstructorTypeOfClass, isSymbolAccessible, isEntityNameVisible, getConstantValue, diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 0b5ffca4b53..c758d658888 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -987,6 +987,10 @@ namespace ts { else if (!isImplementsList && node.expression.kind === SyntaxKind.NullKeyword) { write("null"); } + else { + writer.getSymbolAccessibilityDiagnostic = getHeritageClauseVisibilityError; + resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); + } function getHeritageClauseVisibilityError(symbolAccessibilityResult: SymbolAccessibilityResult): SymbolAccessibilityDiagnostic { let diagnosticMessage: DiagnosticMessage; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 2d53d5addad..0b0a1cbe61c 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1889,6 +1889,7 @@ namespace ts { writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; + writeBaseConstructorTypeOfClass(node: ClassLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessibilityResult; isEntityNameVisible(entityName: EntityName | Expression, enclosingDeclaration: Node): SymbolVisibilityResult; // Returns the constant value this property access resolves to, or 'undefined' for a non-constant diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.js b/tests/baselines/reference/declarationEmit_expressionInExtends2.js new file mode 100644 index 00000000000..da0478e26d0 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends2.js @@ -0,0 +1,45 @@ +//// [declarationEmit_expressionInExtends2.ts] + +class C { + x: T; + y: U; +} + +function getClass(c: T) { + return C; +} + +class MyClass extends getClass(2) { +} + +//// [declarationEmit_expressionInExtends2.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var C = (function () { + function C() { + } + return C; +}()); +function getClass(c) { + return C; +} +var MyClass = (function (_super) { + __extends(MyClass, _super); + function MyClass() { + _super.apply(this, arguments); + } + return MyClass; +}(getClass(2))); + + +//// [declarationEmit_expressionInExtends2.d.ts] +declare class C { + x: T; + y: U; +} +declare function getClass(c: T): typeof C; +declare class MyClass extends C { +} diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols new file mode 100644 index 00000000000..8cd166852ac --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols @@ -0,0 +1,30 @@ +=== tests/cases/compiler/declarationEmit_expressionInExtends2.ts === + +class C { +>C : Symbol(C, Decl(declarationEmit_expressionInExtends2.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 1, 8)) +>U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) + + x: T; +>x : Symbol(x, Decl(declarationEmit_expressionInExtends2.ts, 1, 15)) +>T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 1, 8)) + + y: U; +>y : Symbol(y, Decl(declarationEmit_expressionInExtends2.ts, 2, 9)) +>U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) +} + +function getClass(c: T) { +>getClass : Symbol(getClass, Decl(declarationEmit_expressionInExtends2.ts, 4, 1)) +>T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 6, 18)) +>c : Symbol(c, Decl(declarationEmit_expressionInExtends2.ts, 6, 21)) +>T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 6, 18)) + + return C; +>C : Symbol(C, Decl(declarationEmit_expressionInExtends2.ts, 0, 0)) +} + +class MyClass extends getClass(2) { +>MyClass : Symbol(MyClass, Decl(declarationEmit_expressionInExtends2.ts, 8, 1)) +>getClass : Symbol(getClass, Decl(declarationEmit_expressionInExtends2.ts, 4, 1)) +} diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.types b/tests/baselines/reference/declarationEmit_expressionInExtends2.types new file mode 100644 index 00000000000..77a1539267d --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends2.types @@ -0,0 +1,32 @@ +=== tests/cases/compiler/declarationEmit_expressionInExtends2.ts === + +class C { +>C : C +>T : T +>U : U + + x: T; +>x : T +>T : T + + y: U; +>y : U +>U : U +} + +function getClass(c: T) { +>getClass : (c: T) => typeof C +>T : T +>c : T +>T : T + + return C; +>C : typeof C +} + +class MyClass extends getClass(2) { +>MyClass : MyClass +>getClass(2) : C +>getClass : (c: T) => typeof C +>2 : number +} diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt b/tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt new file mode 100644 index 00000000000..2783810c568 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt @@ -0,0 +1,52 @@ +tests/cases/compiler/declarationEmit_expressionInExtends3.ts(29,30): error TS4020: Extends clause of exported class 'MyClass' has or is using private name 'LocalClass'. +tests/cases/compiler/declarationEmit_expressionInExtends3.ts(37,31): error TS4020: Extends clause of exported class 'MyClass3' has or is using private name 'LocalInterface'. + + +==== tests/cases/compiler/declarationEmit_expressionInExtends3.ts (2 errors) ==== + + export class ExportedClass { + x: T; + } + + class LocalClass { + x: T; + y: U; + } + + export interface ExportedInterface { + x: number; + } + + interface LocalInterface { + x: number; + } + + function getLocalClass(c: T) { + return LocalClass; + } + + function getExportedClass(c: T) { + return ExportedClass; + } + + + + export class MyClass extends getLocalClass(undefined) { // error LocalClass is inaccisible + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS4020: Extends clause of exported class 'MyClass' has or is using private name 'LocalClass'. + } + + + export class MyClass2 extends getExportedClass(undefined) { // OK + } + + + export class MyClass3 extends getExportedClass(undefined) { // Error LocalInterface is inaccisble + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS4020: Extends clause of exported class 'MyClass3' has or is using private name 'LocalInterface'. + } + + + export class MyClass4 extends getExportedClass(undefined) { // OK + } + \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends3.js b/tests/baselines/reference/declarationEmit_expressionInExtends3.js new file mode 100644 index 00000000000..10ef42d6838 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends3.js @@ -0,0 +1,101 @@ +//// [declarationEmit_expressionInExtends3.ts] + +export class ExportedClass { + x: T; +} + +class LocalClass { + x: T; + y: U; +} + +export interface ExportedInterface { + x: number; +} + +interface LocalInterface { + x: number; +} + +function getLocalClass(c: T) { + return LocalClass; +} + +function getExportedClass(c: T) { + return ExportedClass; +} + + + +export class MyClass extends getLocalClass(undefined) { // error LocalClass is inaccisible +} + + +export class MyClass2 extends getExportedClass(undefined) { // OK +} + + +export class MyClass3 extends getExportedClass(undefined) { // Error LocalInterface is inaccisble +} + + +export class MyClass4 extends getExportedClass(undefined) { // OK +} + + +//// [declarationEmit_expressionInExtends3.js] +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var ExportedClass = (function () { + function ExportedClass() { + } + return ExportedClass; +}()); +exports.ExportedClass = ExportedClass; +var LocalClass = (function () { + function LocalClass() { + } + return LocalClass; +}()); +function getLocalClass(c) { + return LocalClass; +} +function getExportedClass(c) { + return ExportedClass; +} +var MyClass = (function (_super) { + __extends(MyClass, _super); + function MyClass() { + _super.apply(this, arguments); + } + return MyClass; +}(getLocalClass(undefined))); +exports.MyClass = MyClass; +var MyClass2 = (function (_super) { + __extends(MyClass2, _super); + function MyClass2() { + _super.apply(this, arguments); + } + return MyClass2; +}(getExportedClass(undefined))); +exports.MyClass2 = MyClass2; +var MyClass3 = (function (_super) { + __extends(MyClass3, _super); + function MyClass3() { + _super.apply(this, arguments); + } + return MyClass3; +}(getExportedClass(undefined))); +exports.MyClass3 = MyClass3; +var MyClass4 = (function (_super) { + __extends(MyClass4, _super); + function MyClass4() { + _super.apply(this, arguments); + } + return MyClass4; +}(getExportedClass(undefined))); +exports.MyClass4 = MyClass4; diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends2.ts b/tests/cases/compiler/declarationEmit_expressionInExtends2.ts new file mode 100644 index 00000000000..0b2ccab8385 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_expressionInExtends2.ts @@ -0,0 +1,13 @@ +// @declaration: true + +class C { + x: T; + y: U; +} + +function getClass(c: T) { + return C; +} + +class MyClass extends getClass(2) { +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends3.ts b/tests/cases/compiler/declarationEmit_expressionInExtends3.ts new file mode 100644 index 00000000000..348d0d188f7 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_expressionInExtends3.ts @@ -0,0 +1,43 @@ +// @declaration: true + +export class ExportedClass { + x: T; +} + +class LocalClass { + x: T; + y: U; +} + +export interface ExportedInterface { + x: number; +} + +interface LocalInterface { + x: number; +} + +function getLocalClass(c: T) { + return LocalClass; +} + +function getExportedClass(c: T) { + return ExportedClass; +} + + + +export class MyClass extends getLocalClass(undefined) { // error LocalClass is inaccisible +} + + +export class MyClass2 extends getExportedClass(undefined) { // OK +} + + +export class MyClass3 extends getExportedClass(undefined) { // Error LocalInterface is inaccisble +} + + +export class MyClass4 extends getExportedClass(undefined) { // OK +} From 15f07e6231f19df7d69248859253c5a0ad437acf Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 3 Mar 2016 23:01:46 -0800 Subject: [PATCH 146/342] Fix #4506: Remove assert to allow for invalid patterns already flagged erlier by the checker --- src/compiler/checker.ts | 2 +- .../declarationEmit_invalidExport.errors.txt | 19 +++++++++++++++++++ .../declarationEmit_invalidExport.js | 14 ++++++++++++++ .../compiler/declarationEmit_invalidExport.ts | 7 +++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/declarationEmit_invalidExport.errors.txt create mode 100644 tests/baselines/reference/declarationEmit_invalidExport.js create mode 100644 tests/cases/compiler/declarationEmit_invalidExport.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 976bd6d64e9..628d5eb6e47 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2429,7 +2429,7 @@ namespace ts { return false; default: - Debug.fail("isDeclarationVisible unknown: SyntaxKind: " + node.kind); + return false; } } } diff --git a/tests/baselines/reference/declarationEmit_invalidExport.errors.txt b/tests/baselines/reference/declarationEmit_invalidExport.errors.txt new file mode 100644 index 00000000000..19d650d6d6f --- /dev/null +++ b/tests/baselines/reference/declarationEmit_invalidExport.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/declarationEmit_invalidExport.ts(3,3): error TS7027: Unreachable code detected. +tests/cases/compiler/declarationEmit_invalidExport.ts(5,30): error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. +tests/cases/compiler/declarationEmit_invalidExport.ts(6,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/compiler/declarationEmit_invalidExport.ts (3 errors) ==== + + if (false) { + export var myClass = 0; + ~~~~~~ +!!! error TS7027: Unreachable code detected. + } + export type MyClass = typeof myClass; + ~~~~~~~ +!!! error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. + } + ~ +!!! error TS1128: Declaration or statement expected. + \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_invalidExport.js b/tests/baselines/reference/declarationEmit_invalidExport.js new file mode 100644 index 00000000000..61682ca5642 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_invalidExport.js @@ -0,0 +1,14 @@ +//// [declarationEmit_invalidExport.ts] + +if (false) { + export var myClass = 0; +} +export type MyClass = typeof myClass; +} + + +//// [declarationEmit_invalidExport.js] +"use strict"; +if (false) { + exports.myClass = 0; +} diff --git a/tests/cases/compiler/declarationEmit_invalidExport.ts b/tests/cases/compiler/declarationEmit_invalidExport.ts new file mode 100644 index 00000000000..8b0826dbf96 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_invalidExport.ts @@ -0,0 +1,7 @@ +// @declaration: true + +if (false) { + export var myClass = 0; +} +export type MyClass = typeof myClass; +} From c623e1f8c91950a0996273cec8d59781279023b2 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 10:42:23 -0800 Subject: [PATCH 147/342] No widening of 'null' and 'undefined' types in --strictNullChecks mode --- src/compiler/checker.ts | 47 ++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 70f1a31e186..1e693867baf 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -107,14 +107,15 @@ namespace ts { const unknownSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "unknown"); const resolvingSymbol = createSymbol(SymbolFlags.Transient, "__resolving__"); + const nullableWideningFlags = strictNullChecks ? 0 : TypeFlags.ContainsUndefinedOrNull; const anyType = createIntrinsicType(TypeFlags.Any, "any"); const stringType = createIntrinsicType(TypeFlags.String, "string"); const numberType = createIntrinsicType(TypeFlags.Number, "number"); const booleanType = createIntrinsicType(TypeFlags.Boolean, "boolean"); const esSymbolType = createIntrinsicType(TypeFlags.ESSymbol, "symbol"); const voidType = createIntrinsicType(TypeFlags.Void, "void"); - const undefinedType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefinedOrNull, "undefined"); - const nullType = createIntrinsicType(TypeFlags.Null | TypeFlags.ContainsUndefinedOrNull, "null"); + const undefinedType = createIntrinsicType(TypeFlags.Undefined | nullableWideningFlags, "undefined"); + const nullType = createIntrinsicType(TypeFlags.Null | nullableWideningFlags, "null"); const emptyArrayElementType = createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsUndefinedOrNull, "undefined"); const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); @@ -4719,10 +4720,21 @@ namespace ts { return links.resolvedType; } - function addTypeToSet(typeSet: Type[], type: Type, typeSetKind: TypeFlags) { + interface TypeSet extends Array { + containsAny?: boolean; + containsUndefined?: boolean; + containsNull?: boolean; + } + + function addTypeToSet(typeSet: TypeSet, type: Type, typeSetKind: TypeFlags) { if (type.flags & typeSetKind) { addTypesToSet(typeSet, (type).types, typeSetKind); } + else if (type.flags & (TypeFlags.Any | TypeFlags.Undefined | TypeFlags.Null)) { + if (type.flags & TypeFlags.Any) typeSet.containsAny = true; + if (type.flags & TypeFlags.Undefined) typeSet.containsUndefined = true; + if (type.flags & TypeFlags.Null) typeSet.containsNull = true; + } else if (!contains(typeSet, type)) { typeSet.push(type); } @@ -4730,7 +4742,7 @@ namespace ts { // Add the given types to the given type set. Order is preserved, duplicates are removed, // and nested types of the given kind are flattened into the set. - function addTypesToSet(typeSet: Type[], types: Type[], typeSetKind: TypeFlags) { + function addTypesToSet(typeSet: TypeSet, types: Type[], typeSetKind: TypeFlags) { for (const type of types) { addTypeToSet(typeSet, type, typeSetKind); } @@ -4785,21 +4797,22 @@ namespace ts { if (types.length === 0) { return emptyUnionType; } - const typeSet: Type[] = []; + const typeSet = [] as TypeSet; addTypesToSet(typeSet, types, TypeFlags.Union); - if (containsTypeAny(typeSet)) { + if (typeSet.containsAny) { return anyType; } - if (noSubtypeReduction) { - if (!strictNullChecks) { - removeAllButLast(typeSet, undefinedType); - removeAllButLast(typeSet, nullType); - } + if (strictNullChecks) { + if (typeSet.containsNull) typeSet.push(nullType); + if (typeSet.containsUndefined) typeSet.push(undefinedType); } - else { + if (!noSubtypeReduction) { removeSubtypes(typeSet); } - if (typeSet.length === 1) { + if (typeSet.length === 0) { + return typeSet.containsNull ? nullType : undefinedType; + } + else if (typeSet.length === 1) { return typeSet[0]; } const id = getTypeListId(typeSet); @@ -4829,11 +4842,15 @@ namespace ts { if (types.length === 0) { return emptyObjectType; } - const typeSet: Type[] = []; + const typeSet = [] as TypeSet; addTypesToSet(typeSet, types, TypeFlags.Intersection); - if (containsTypeAny(typeSet)) { + if (typeSet.containsAny) { return anyType; } + if (strictNullChecks) { + if (typeSet.containsNull) typeSet.push(nullType); + if (typeSet.containsUndefined) typeSet.push(undefinedType); + } if (typeSet.length === 1) { return typeSet[0]; } From 1302418776efba8d57bfe771e95597c9b2a3f123 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 10:43:10 -0800 Subject: [PATCH 148/342] Accepting new baselines --- tests/baselines/reference/arrayLiterals2ES5.types | 2 +- .../reference/destructuringVariableDeclaration1ES5.types | 4 ++-- .../reference/destructuringVariableDeclaration1ES6.types | 4 ++-- .../baselines/reference/logicalAndOperatorWithEveryType.types | 2 +- .../baselines/reference/logicalOrOperatorWithEveryType.types | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/baselines/reference/arrayLiterals2ES5.types b/tests/baselines/reference/arrayLiterals2ES5.types index cbfb620fb00..a9cf31611c2 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.types +++ b/tests/baselines/reference/arrayLiterals2ES5.types @@ -130,7 +130,7 @@ var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; var temp3 = [undefined, null, undefined]; >temp3 : any[] ->[undefined, null, undefined] : undefined[] +>[undefined, null, undefined] : null[] >undefined : undefined >null : null >undefined : undefined diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types index aab01926a5a..f8188147a79 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types @@ -168,7 +168,7 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >g : any >g1 : any[] ->[undefined, null] : undefined[] +>[undefined, null] : null[] >undefined : undefined >null : null >g : { g1: any[]; } @@ -184,7 +184,7 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any >h1 : number[] ->[undefined, null] : undefined[] +>[undefined, null] : null[] >undefined : undefined >null : null >h : { h1: number[]; } diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types index 7e98817c052..7b4fe5409db 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types @@ -168,7 +168,7 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >g : any >g1 : any[] ->[undefined, null] : undefined[] +>[undefined, null] : null[] >undefined : undefined >null : null >g : { g1: any[]; } @@ -184,7 +184,7 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any >h1 : number[] ->[undefined, null] : undefined[] +>[undefined, null] : null[] >undefined : undefined >null : null >h : { h1: number[]; } diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.types b/tests/baselines/reference/logicalAndOperatorWithEveryType.types index bd913e94da5..b2628eed921 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.types @@ -623,7 +623,7 @@ var rj8 = a8 && undefined; var rj9 = null && undefined; >rj9 : any ->null && undefined : undefined +>null && undefined : null >null : null >undefined : undefined diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 609af4ecc94..4540e35aaf4 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -572,7 +572,7 @@ var rj9 = null || null; // null || null is any var rj10 = undefined || null; // undefined || null is any >rj10 : any ->undefined || null : undefined +>undefined || null : null >undefined : undefined >null : null From d6fcd1af1ba424eb163a0da153b4c296de825f7c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 13:19:58 -0800 Subject: [PATCH 149/342] Consider for-in and for-of variables to be definitely assigned --- src/compiler/checker.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1e693867baf..491e1fe0ee1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7525,6 +7525,10 @@ namespace ts { if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration || (declaration).initializer) { return; } + const parentParentKind = declaration.parent.parent.kind; + if (parentParentKind === SyntaxKind.ForOfStatement || parentParentKind === SyntaxKind.ForInStatement) { + return; + } const declarationContainer = getContainingFunction(declaration) || getSourceFileOfNode(declaration); const referenceContainer = getContainingFunction(reference) || getSourceFileOfNode(reference); if (declarationContainer !== referenceContainer) { From 15640492c482fd2ebabeb42ca0730e2ff3a8d79e Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Fri, 4 Mar 2016 14:21:31 -0800 Subject: [PATCH 150/342] Code review comments --- src/compiler/checker.ts | 6 +-- ...rationEmit_expressionInExtends4.errors.txt | 35 ++++++++++++ .../declarationEmit_expressionInExtends4.js | 53 +++++++++++++++++++ .../declarationEmit_expressionInExtends4.ts | 18 +++++++ 4 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends4.errors.txt create mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends4.js create mode 100644 tests/cases/compiler/declarationEmit_expressionInExtends4.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 628d5eb6e47..dcf37d86595 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16247,10 +16247,8 @@ namespace ts { function writeBaseConstructorTypeOfClass(node: ClassLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter) { const classType = getDeclaredTypeOfSymbol(getSymbolOfNode(node)); resolveBaseTypesOfClass(classType); - const baseType = classType.resolvedBaseTypes[0]; - if (baseType) { - getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags); - } + const baseType = classType.resolvedBaseTypes.length ? classType.resolvedBaseTypes[0] : unknownType; + getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags); } function hasGlobalName(name: string): boolean { diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends4.errors.txt b/tests/baselines/reference/declarationEmit_expressionInExtends4.errors.txt new file mode 100644 index 00000000000..df3a6533260 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends4.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/declarationEmit_expressionInExtends4.ts(2,10): error TS4060: Return type of exported function has or is using private name 'D'. +tests/cases/compiler/declarationEmit_expressionInExtends4.ts(6,17): error TS2315: Type 'D' is not generic. +tests/cases/compiler/declarationEmit_expressionInExtends4.ts(10,18): error TS2304: Cannot find name 'SomeUndefinedFunction'. +tests/cases/compiler/declarationEmit_expressionInExtends4.ts(15,18): error TS2304: Cannot find name 'SomeUndefinedFunction'. +tests/cases/compiler/declarationEmit_expressionInExtends4.ts(15,18): error TS4020: Extends clause of exported class 'C3' has or is using private name 'SomeUndefinedFunction'. + + +==== tests/cases/compiler/declarationEmit_expressionInExtends4.ts (5 errors) ==== + + function getSomething() { + ~~~~~~~~~~~~ +!!! error TS4060: Return type of exported function has or is using private name 'D'. + return class D { } + } + + class C extends getSomething() { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2315: Type 'D' is not generic. + + } + + class C2 extends SomeUndefinedFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'SomeUndefinedFunction'. + + } + + + class C3 extends SomeUndefinedFunction { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'SomeUndefinedFunction'. + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS4020: Extends clause of exported class 'C3' has or is using private name 'SomeUndefinedFunction'. + + } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends4.js b/tests/baselines/reference/declarationEmit_expressionInExtends4.js new file mode 100644 index 00000000000..39ee7ce1e69 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_expressionInExtends4.js @@ -0,0 +1,53 @@ +//// [declarationEmit_expressionInExtends4.ts] + +function getSomething() { + return class D { } +} + +class C extends getSomething() { + +} + +class C2 extends SomeUndefinedFunction() { + +} + + +class C3 extends SomeUndefinedFunction { + +} + +//// [declarationEmit_expressionInExtends4.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +function getSomething() { + return (function () { + function D() { + } + return D; + }()); +} +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + return C; +}(getSomething())); +var C2 = (function (_super) { + __extends(C2, _super); + function C2() { + _super.apply(this, arguments); + } + return C2; +}(SomeUndefinedFunction())); +var C3 = (function (_super) { + __extends(C3, _super); + function C3() { + _super.apply(this, arguments); + } + return C3; +}(SomeUndefinedFunction)); diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends4.ts b/tests/cases/compiler/declarationEmit_expressionInExtends4.ts new file mode 100644 index 00000000000..6b3044f227f --- /dev/null +++ b/tests/cases/compiler/declarationEmit_expressionInExtends4.ts @@ -0,0 +1,18 @@ +// @declaration: true + +function getSomething() { + return class D { } +} + +class C extends getSomething() { + +} + +class C2 extends SomeUndefinedFunction() { + +} + + +class C3 extends SomeUndefinedFunction { + +} \ No newline at end of file From 15b240548f11eae650e736a34750373d301009c9 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 15:01:11 -0800 Subject: [PATCH 151/342] Extract and lift nullability over best common supertype --- src/compiler/checker.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 491e1fe0ee1..ee9240f58e3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6286,14 +6286,22 @@ namespace ts { } function isSupertypeOfEach(candidate: Type, types: Type[]): boolean { - for (const type of types) { - if (candidate !== type && !isTypeSubtypeOf(type, candidate)) return false; + for (const t of types) { + if (candidate !== t && !isTypeSubtypeOf(t, candidate)) return false; } return true; } function getCommonSupertype(types: Type[]): Type { - return forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); + if (!strictNullChecks) { + return forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); + } + const primaryTypes = filter(types, t => !(t.flags & TypeFlags.Nullable)); + if (!primaryTypes.length) { + return getUnionType(types); + } + const supertype = forEach(primaryTypes, t => isSupertypeOfEach(t, primaryTypes) ? t : undefined); + return supertype && addNullableKind(supertype, reduceLeft(types, (flags, t) => flags | t.flags, 0) & TypeFlags.Nullable); } function reportNoCommonSupertypeError(types: Type[], errorLocation: Node, errorMessageChainHead: DiagnosticMessageChain): void { From 49172207bf86429b846737bdadfeaba2acf4c585 Mon Sep 17 00:00:00 2001 From: Matt McCutchen Date: Fri, 4 Mar 2016 18:45:42 -0500 Subject: [PATCH 152/342] Expose ts.isExternalModule as public API. Fixes #7359 --- src/compiler/parser.ts | 4 ++++ src/compiler/utilities.ts | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 0a31c1bdebb..ada8e53ffb7 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -407,6 +407,10 @@ namespace ts { return result; } + export function isExternalModule(file: SourceFile): boolean { + return file.externalModuleIndicator !== undefined; + } + // Produces a new SourceFile for the 'newText' provided. The 'textChangeRange' parameter // indicates what changed between the 'text' that this SourceFile has and the 'newText'. // The SourceFile will be created with the compiler attempting to reuse as many nodes from diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 9c598da9069..3916d0022c8 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -407,10 +407,6 @@ namespace ts { return createTextSpanFromBounds(pos, errorNode.end); } - export function isExternalModule(file: SourceFile): boolean { - return file.externalModuleIndicator !== undefined; - } - export function isExternalOrCommonJsModule(file: SourceFile): boolean { return (file.externalModuleIndicator || file.commonJsModuleIndicator) !== undefined; } From 25a72d60852ea01f41e6869a848d97836dd22be1 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 15:51:22 -0800 Subject: [PATCH 153/342] Removing unused functions --- src/compiler/checker.ts | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ee9240f58e3..666ed64b176 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4767,25 +4767,6 @@ namespace ts { } } - function containsTypeAny(types: Type[]): boolean { - for (const type of types) { - if (isTypeAny(type)) { - return true; - } - } - return false; - } - - function removeAllButLast(types: Type[], typeToRemove: Type) { - let i = types.length; - while (i > 0 && types.length > 1) { - i--; - if (types[i] === typeToRemove) { - types.splice(i, 1); - } - } - } - // We reduce the constituent type set to only include types that aren't subtypes of other types, unless // the noSubtypeReduction flag is specified, in which case we perform a simple deduplication based on // object identity. Subtype reduction is possible only when union types are known not to circularly From 64f572747cef63f96382d99090e2ed822f4d9267 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 17:26:56 -0800 Subject: [PATCH 154/342] Introduce comparable (a.k.a. possibly assignable) relation --- src/compiler/checker.ts | 56 ++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 666ed64b176..15a57ed8931 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -229,6 +229,7 @@ namespace ts { const subtypeRelation: Map = {}; const assignableRelation: Map = {}; + const comparableRelation: Map = {}; const identityRelation: Map = {}; // This is for caching the result of getSymbolDisplayBuilder. Do not access directly. @@ -5267,6 +5268,10 @@ namespace ts { return checkTypeAssignableTo(source, target, /*errorNode*/ undefined); } + function isTypeComparableTo(source: Type, target: Type): boolean { + return checkTypeComparableTo(source, target, /*errorNode*/ undefined); + } + function checkTypeSubtypeOf(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { return checkTypeRelatedTo(source, target, subtypeRelation, errorNode, headMessage, containingMessageChain); } @@ -5275,6 +5280,10 @@ namespace ts { return checkTypeRelatedTo(source, target, assignableRelation, errorNode, headMessage, containingMessageChain); } + function checkTypeComparableTo(source: Type, target: Type, errorNode: Node, headMessage?: DiagnosticMessage, containingMessageChain?: DiagnosticMessageChain): boolean { + return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); + } + function isSignatureAssignableTo(source: Signature, target: Signature, ignoreReturnTypes: boolean): boolean { @@ -5432,7 +5441,7 @@ namespace ts { * Checks if 'source' is related to 'target' (e.g.: is a assignable to). * @param source The left-hand-side of the relation. * @param target The right-hand-side of the relation. - * @param relation The relation considered. One of 'identityRelation', 'assignableRelation', or 'subTypeRelation'. + * @param relation The relation considered. One of 'identityRelation', 'subtypeRelation', 'assignableRelation', or 'comparableRelation'. * Used as both to determine which checks are performed and as a cache of previously computed results. * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used. * @param headMessage If the error chain should be prepended by a head message, then headMessage will be used. @@ -5510,7 +5519,7 @@ namespace ts { } } if (source.flags & TypeFlags.StringLiteral && target === stringType) return Ternary.True; - if (relation === assignableRelation) { + if (relation === assignableRelation || relation === comparableRelation) { if (isTypeAny(source)) return Ternary.True; if (source === numberType && target.flags & TypeFlags.Enum) return Ternary.True; } @@ -5538,8 +5547,15 @@ namespace ts { // Note that the "each" checks must precede the "some" checks to produce the correct results if (source.flags & TypeFlags.Union) { - if (result = eachTypeRelatedToType(source, target, reportErrors)) { - return result; + if (relation === comparableRelation) { + if (result = someTypeRelatedToType(source, target, reportErrors)) { + return result; + } + } + else { + if (result = eachTypeRelatedToType(source, target, reportErrors)) { + return result; + } } } else if (target.flags & TypeFlags.Intersection) { @@ -5634,7 +5650,8 @@ namespace ts { function isKnownProperty(type: Type, name: string): boolean { if (type.flags & TypeFlags.ObjectType) { const resolved = resolveStructuredTypeMembers(type); - if (relation === assignableRelation && (type === globalObjectType || resolved.properties.length === 0) || + if ((relation === assignableRelation || relation === comparableRelation) && + (type === globalObjectType || resolved.properties.length === 0) || resolved.stringIndexInfo || resolved.numberIndexInfo || getPropertyOfType(type, name)) { return true; } @@ -10774,12 +10791,8 @@ namespace ts { const targetType = getTypeFromTypeNode(node.type); if (produceDiagnostics && targetType !== unknownType) { const widenedType = getWidenedType(exprType); - - // Permit 'number[] | "foo"' to be asserted to 'string'. - const bothAreStringLike = maybeTypeOfKind(targetType, TypeFlags.StringLike) && - maybeTypeOfKind(widenedType, TypeFlags.StringLike); - if (!bothAreStringLike && !(isTypeAssignableTo(targetType, widenedType))) { - checkTypeAssignableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + if (!isTypeComparableTo(targetType, widenedType)) { + checkTypeComparableTo(exprType, targetType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); } } return targetType; @@ -11649,11 +11662,7 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - // Permit 'number[] | "foo"' to be asserted to 'string'. - if (maybeTypeOfKind(leftType, TypeFlags.StringLike) && maybeTypeOfKind(rightType, TypeFlags.StringLike)) { - return booleanType; - } - if (!isTypeAssignableTo(leftType, rightType) && !isTypeAssignableTo(rightType, leftType)) { + if (!isTypeComparableTo(leftType, rightType) && !isTypeComparableTo(rightType, leftType)) { reportOperatorError(); } return booleanType; @@ -14180,17 +14189,12 @@ namespace ts { if (produceDiagnostics && clause.kind === SyntaxKind.CaseClause) { const caseClause = clause; // TypeScript 1.0 spec (April 2014):5.9 - // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. + // In a 'switch' statement, each 'case' expression must be of a type that is comparable + // to or from the type of the 'switch' expression. const caseType = checkExpression(caseClause.expression); - - const expressionTypeIsAssignableToCaseType = - // Permit 'number[] | "foo"' to be asserted to 'string'. - (expressionTypeIsStringLike && maybeTypeOfKind(caseType, TypeFlags.StringLike)) || - isTypeAssignableTo(expressionType, caseType); - - if (!expressionTypeIsAssignableToCaseType) { - // 'expressionType is not assignable to caseType', try the reversed check and report errors if it fails - checkTypeAssignableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); + if (!isTypeComparableTo(expressionType, caseType)) { + // expressionType is not comparable to caseType, try the reversed check and report errors if it fails + checkTypeComparableTo(caseType, expressionType, caseClause.expression, /*headMessage*/ undefined); } } forEach(clause.statements, checkSourceElement); From 436e70ea8f27993ece5ea625168a9304218dad9a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 17:27:42 -0800 Subject: [PATCH 155/342] Accepting new baselines --- .../reference/castingTuple.errors.txt | 23 +------------------ ...eralTypesWithVariousOperators02.errors.txt | 13 +++++++++-- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 62a36c9c156..128ee5b5bb4 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,7 +1,3 @@ -tests/cases/conformance/types/tuple/castingTuple.ts(13,23): error TS2352: Neither type '[number, string]' nor type '[number, string, boolean]' is assignable to the other. - Property '2' is missing in type '[number, string]'. -tests/cases/conformance/types/tuple/castingTuple.ts(16,21): error TS2352: Neither type '[C, D]' nor type '[C, D, A]' is assignable to the other. - Property '2' is missing in type '[C, D]'. tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2352: Neither type '[number, string]' nor type '[number, number]' is assignable to the other. Types of property '1' are incompatible. Type 'string' is not assignable to type 'number'. @@ -10,15 +6,10 @@ tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2352: Neithe Type 'C' is not assignable to type 'A'. Property 'a' is missing in type 'C'. tests/cases/conformance/types/tuple/castingTuple.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. -tests/cases/conformance/types/tuple/castingTuple.ts(30,14): error TS2352: Neither type '[number, string]' nor type 'number[]' is assignable to the other. - Types of property 'pop' are incompatible. - Type '() => number | string' is not assignable to type '() => number'. - Type 'number | string' is not assignable to type 'number'. - Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot find name 't4'. -==== tests/cases/conformance/types/tuple/castingTuple.ts (7 errors) ==== +==== tests/cases/conformance/types/tuple/castingTuple.ts (4 errors) ==== interface I { } class A { a = 10; } class C implements I { c }; @@ -32,15 +23,9 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot var numStrTuple: [number, string] = [5, "foo"]; var emptyObjTuple = <[{}, {}]>numStrTuple; var numStrBoolTuple = <[number, string, boolean]>numStrTuple; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[number, string]' nor type '[number, string, boolean]' is assignable to the other. -!!! error TS2352: Property '2' is missing in type '[number, string]'. var classCDTuple: [C, D] = [new C(), new D()]; var interfaceIITuple = <[I, I]>classCDTuple; var classCDATuple = <[C, D, A]>classCDTuple; - ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[C, D]' nor type '[C, D, A]' is assignable to the other. -!!! error TS2352: Property '2' is missing in type '[C, D]'. var eleFromCDA1 = classCDATuple[2]; // A var eleFromCDA2 = classCDATuple[5]; // C | D | A var t10: [E1, E2] = [E1.one, E2.one]; @@ -66,12 +51,6 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2352: Neither type '[number, string]' nor type 'number[]' is assignable to the other. -!!! error TS2352: Types of property 'pop' are incompatible. -!!! error TS2352: Type '() => number | string' is not assignable to type '() => number'. -!!! error TS2352: Type 'number | string' is not assignable to type 'number'. -!!! error TS2352: Type 'string' is not assignable to type 'number'. t4[2] = 10; ~~ !!! error TS2304: Cannot find name 't4'. diff --git a/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt b/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt index 69dd6c2f6a9..92afe67df0c 100644 --- a/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt +++ b/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt @@ -7,9 +7,12 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperato tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(13,11): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(14,9): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(15,9): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(16,9): error TS2365: Operator '<' cannot be applied to types '"ABC"' and '"XYZ"'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(17,9): error TS2365: Operator '===' cannot be applied to types '"ABC"' and '"XYZ"'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(18,9): error TS2365: Operator '!=' cannot be applied to types '"ABC"' and '"XYZ"'. -==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts (9 errors) ==== +==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts (12 errors) ==== let abc: "ABC" = "ABC"; let xyz: "XYZ" = "XYZ"; @@ -44,5 +47,11 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperato ~~~~~~~~~~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. let j = abc < xyz; + ~~~~~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '"ABC"' and '"XYZ"'. let k = abc === xyz; - let l = abc != xyz; \ No newline at end of file + ~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"ABC"' and '"XYZ"'. + let l = abc != xyz; + ~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"ABC"' and '"XYZ"'. \ No newline at end of file From a0790fba7df3ee2109282a56d2635bfd3a09c35c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 17:39:56 -0800 Subject: [PATCH 156/342] Add only 'undefined' to optional parameter types --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 15a57ed8931..9384145164e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2698,7 +2698,7 @@ namespace ts { // Use type from type annotation if one is present if (declaration.type) { const type = getTypeFromTypeNode(declaration.type); - return declaration.questionToken ? getNullableType(type) : type; + return strictNullChecks && declaration.questionToken ? addNullableKind(type, TypeFlags.Undefined) : type; } if (declaration.kind === SyntaxKind.Parameter) { @@ -2713,7 +2713,7 @@ namespace ts { // Use contextual parameter type if one is available const type = getContextuallyTypedParameterType(declaration); if (type) { - return declaration.questionToken ? getNullableType(type) : type; + return strictNullChecks && declaration.questionToken ? addNullableKind(type, TypeFlags.Undefined) : type; } } From eed4093be500b50d659bcd8efd97f588c3df13b9 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 09:56:01 -0800 Subject: [PATCH 157/342] Fix bugs in reduceLeft and reduceRight --- src/compiler/core.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 702ded96a3f..5e4aaf89aa1 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -242,11 +242,9 @@ namespace ts { const count = array.length; if (count > 0) { let pos = 0; - let result = arguments.length <= 2 ? array[pos] : initial; - pos++; + let result = arguments.length <= 2 ? array[pos++] : initial; while (pos < count) { - result = f(result, array[pos]); - pos++; + result = f(result, array[pos++]); } return result; } @@ -260,11 +258,9 @@ namespace ts { if (array) { let pos = array.length - 1; if (pos >= 0) { - let result = arguments.length <= 2 ? array[pos] : initial; - pos--; + let result = arguments.length <= 2 ? array[pos--] : initial; while (pos >= 0) { - result = f(result, array[pos]); - pos--; + result = f(result, array[pos--]); } return result; } From 2762772afd6ad6d5bc8981e833bb15db815da069 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 09:58:47 -0800 Subject: [PATCH 158/342] Include 'undefined' in return type for implicit or expressionless returns --- src/compiler/checker.ts | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9384145164e..e269dc380ca 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6290,6 +6290,14 @@ namespace ts { return true; } + function getCombinedFlagsOfTypes(types: Type[]) { + let flags: TypeFlags = 0; + for (const t of types) { + flags |= t.flags; + } + return flags; + } + function getCommonSupertype(types: Type[]): Type { if (!strictNullChecks) { return forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); @@ -6299,7 +6307,7 @@ namespace ts { return getUnionType(types); } const supertype = forEach(primaryTypes, t => isSupertypeOfEach(t, primaryTypes) ? t : undefined); - return supertype && addNullableKind(supertype, reduceLeft(types, (flags, t) => flags | t.flags, 0) & TypeFlags.Nullable); + return supertype && addNullableKind(supertype, getCombinedFlagsOfTypes(types) & TypeFlags.Nullable); } function reportNoCommonSupertypeError(types: Type[], errorLocation: Node, errorMessageChainHead: DiagnosticMessageChain): void { @@ -10931,7 +10939,8 @@ namespace ts { } } else { - types = checkAndAggregateReturnExpressionTypes(func.body, contextualMapper, isAsync); + const hasImplicitReturn = !!(func.flags & NodeFlags.HasImplicitReturn); + types = checkAndAggregateReturnExpressionTypes(func.body, contextualMapper, isAsync, hasImplicitReturn); if (types.length === 0) { if (isAsync) { // For an async function, the return type will not be void, but rather a Promise for void. @@ -11011,9 +11020,9 @@ namespace ts { return aggregatedTypes; } - function checkAndAggregateReturnExpressionTypes(body: Block, contextualMapper?: TypeMapper, isAsync?: boolean): Type[] { + function checkAndAggregateReturnExpressionTypes(body: Block, contextualMapper: TypeMapper, isAsync: boolean, hasImplicitReturn: boolean): Type[] { const aggregatedTypes: Type[] = []; - + let hasOmittedExpressions = false; forEachReturnStatement(body, returnStatement => { const expr = returnStatement.expression; if (expr) { @@ -11025,13 +11034,19 @@ namespace ts { // the native Promise type by the caller. type = checkAwaitedType(type, body.parent, Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member); } - if (!contains(aggregatedTypes, type)) { aggregatedTypes.push(type); } } + else { + hasOmittedExpressions = true; + } }); - + if (strictNullChecks && aggregatedTypes.length && (hasOmittedExpressions || hasImplicitReturn)) { + if (!contains(aggregatedTypes, undefinedType)) { + aggregatedTypes.push(undefinedType); + } + } return aggregatedTypes; } From 097f4564bb06a7a73b71b95cba18f1e6dce54d44 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 10:07:28 -0800 Subject: [PATCH 159/342] Remove unused variable --- src/compiler/checker.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e269dc380ca..5cfdc6bc104 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14185,7 +14185,6 @@ namespace ts { let hasDuplicateDefaultClause = false; const expressionType = checkExpression(node.expression); - const expressionTypeIsStringLike = maybeTypeOfKind(expressionType, TypeFlags.StringLike); forEach(node.caseBlock.clauses, clause => { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause if (clause.kind === SyntaxKind.DefaultClause && !hasDuplicateDefaultClause) { From 689e28d3aca1b4ac91cd419a23d03b5650ab6a10 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 11:14:57 -0800 Subject: [PATCH 160/342] Keep linter happy with fix in reduceLeft/reduceRight --- src/compiler/core.ts | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 5e4aaf89aa1..362d0834cd8 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -242,9 +242,17 @@ namespace ts { const count = array.length; if (count > 0) { let pos = 0; - let result = arguments.length <= 2 ? array[pos++] : initial; + let result: T | U; + if (arguments.length <= 2) { + result = array[pos]; + pos++; + } + else { + result = initial; + } while (pos < count) { - result = f(result, array[pos++]); + result = f(result, array[pos]); + pos++; } return result; } @@ -258,9 +266,17 @@ namespace ts { if (array) { let pos = array.length - 1; if (pos >= 0) { - let result = arguments.length <= 2 ? array[pos--] : initial; + let result: T | U; + if (arguments.length <= 2) { + result = array[pos]; + pos--; + } + else { + result = initial; + } while (pos >= 0) { - result = f(result, array[pos--]); + result = f(result, array[pos]); + pos--; } return result; } From 8db7af035d2406bed79cd29d3d7257fa8479f374 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 11:16:31 -0800 Subject: [PATCH 161/342] Proper handling of 'null' and 'undefined' in equals and not equals guards --- src/compiler/checker.ts | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5cfdc6bc104..d90c8a740f4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6388,6 +6388,11 @@ namespace ts { return flags & TypeFlags.Nullable; } + function getNullableTypeOfKind(kind: TypeFlags) { + return kind & TypeFlags.Null ? kind & TypeFlags.Undefined ? + getUnionType([nullType, undefinedType]) : nullType : undefinedType; + } + function isNullableType(type: Type) { return getNullableKind(type) === TypeFlags.Nullable; } @@ -7216,12 +7221,11 @@ namespace ts { switch (expr.operatorToken.kind) { case SyntaxKind.EqualsEqualsToken: case SyntaxKind.ExclamationEqualsToken: + case SyntaxKind.EqualsEqualsEqualsToken: + case SyntaxKind.ExclamationEqualsEqualsToken: if (isNullOrUndefinedLiteral(expr.right)) { return narrowTypeByNullCheck(type, expr, assumeTrue); } - // Fall through - case SyntaxKind.EqualsEqualsEqualsToken: - case SyntaxKind.ExclamationEqualsEqualsToken: if (expr.left.kind === SyntaxKind.TypeOfExpression && expr.right.kind === SyntaxKind.StringLiteral) { return narrowTypeByTypeof(type, expr, assumeTrue); } @@ -7237,14 +7241,22 @@ namespace ts { } function narrowTypeByNullCheck(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { - // We have '==' or '!=' operator with 'null' or 'undefined' on the right - if (expr.operatorToken.kind === SyntaxKind.ExclamationEqualsToken) { + // We have '==', '!=', '===', or '!==' operator with 'null' or 'undefined' on the right + const operator = expr.operatorToken.kind; + if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { assumeTrue = !assumeTrue; } - if (!strictNullChecks || assumeTrue || !isMatchingReference(expr.left, reference)) { + if (!strictNullChecks || !isMatchingReference(expr.left, reference)) { return type; } - return getNonNullableType(type); + const doubleEquals = operator === SyntaxKind.EqualsEqualsToken || operator === SyntaxKind.ExclamationEqualsToken; + const exprNullableKind = doubleEquals ? TypeFlags.Nullable : + expr.right.kind === SyntaxKind.NullKeyword ? TypeFlags.Null : TypeFlags.Undefined; + if (assumeTrue) { + const nullableKind = getNullableKind(type) & exprNullableKind; + return nullableKind ? getNullableTypeOfKind(nullableKind) : type; + } + return removeNullableKind(type, exprNullableKind); } function narrowTypeByTypeof(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { From d0e4b4ae35215b2e288c96cc17d0d0e1b902898a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 15:23:00 -0800 Subject: [PATCH 162/342] Treat 'return' as 'return undefined' for type checking purposes --- src/compiler/checker.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d90c8a740f4..6d09cbffce8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14135,12 +14135,12 @@ namespace ts { } } - if (node.expression) { + if (strictNullChecks || node.expression) { const func = getContainingFunction(node); if (func) { const signature = getSignatureFromDeclaration(func); const returnType = getReturnTypeOfSignature(signature); - const exprType = checkExpressionCached(node.expression); + const exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (func.asteriskToken) { // A generator does not need its return expressions checked against its return type. @@ -14151,26 +14151,28 @@ namespace ts { } if (func.kind === SyntaxKind.SetAccessor) { - error(node.expression, Diagnostics.Setters_cannot_return_a_value); + if (node.expression) { + error(node.expression, Diagnostics.Setters_cannot_return_a_value); + } } else if (func.kind === SyntaxKind.Constructor) { - if (!checkTypeAssignableTo(exprType, returnType, node.expression)) { + if (node.expression && !checkTypeAssignableTo(exprType, returnType, node.expression)) { error(node.expression, Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } } else if (func.type || isGetAccessorWithAnnotatedSetAccessor(func)) { if (isAsyncFunctionLike(func)) { const promisedType = getPromisedType(returnType); - const awaitedType = checkAwaitedType(exprType, node.expression, Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member); + const awaitedType = checkAwaitedType(exprType, node.expression || node, Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member); if (promisedType) { // If the function has a return type, but promisedType is // undefined, an error will be reported in checkAsyncFunctionReturnType // so we don't need to report one here. - checkTypeAssignableTo(awaitedType, promisedType, node.expression); + checkTypeAssignableTo(awaitedType, promisedType, node.expression || node); } } else { - checkTypeAssignableTo(exprType, returnType, node.expression); + checkTypeAssignableTo(exprType, returnType, node.expression || node); } } } From 129a4f190808ee3bda05fa76e32d1d92d8f667aa Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 16:16:19 -0800 Subject: [PATCH 163/342] Check return type includes 'undefined' in function with implicit return --- src/compiler/checker.ts | 3 +++ src/compiler/diagnosticMessages.json | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6d09cbffce8..f15af886c36 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11095,6 +11095,9 @@ namespace ts { // NOTE: having returnType !== undefined is a precondition for entering this branch so func.type will always be present error(func.type, Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value); } + else if (returnType && strictNullChecks && !isTypeAssignableTo(undefinedType, returnType)) { + error(func.type, Diagnostics.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined); + } else if (compilerOptions.noImplicitReturns) { if (!returnType) { // If return type annotation is omitted check if function has any explicit return statements. diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 0b70ab98ce7..bd8701d9cea 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1091,6 +1091,10 @@ "category": "Error", "code": 2365 }, + "Function lacks ending return statement and return type does not include 'undefined'.": { + "category": "Error", + "code": 2366 + }, "Type parameter name cannot be '{0}'": { "category": "Error", "code": 2368 From 50d874e09d88a2f6948d246b25be7b5f2eea5810 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 5 Mar 2016 16:55:54 -0800 Subject: [PATCH 164/342] Improve type relationship error reporting for nullable types --- src/compiler/checker.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f15af886c36..853ca8d07be 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5701,7 +5701,19 @@ namespace ts { function typeRelatedToSomeType(source: Type, target: UnionOrIntersectionType, reportErrors: boolean): Ternary { const targetTypes = target.types; - for (let i = 0, len = targetTypes.length; i < len; i++) { + let len = targetTypes.length; + // The null and undefined types are guaranteed to be at the end of the constituent type list. In order + // to produce the best possible errors we first check the nullable types, such that the last type we + // check and report errors from is a non-nullable type if one is present. + while (len >= 2 && targetTypes[len - 1].flags & TypeFlags.Nullable) { + const related = isRelatedTo(source, targetTypes[len - 1], /*reportErrors*/ false); + if (related) { + return related; + } + len--; + } + // Now check the non-nullable types and report errors on the last one. + for (let i = 0; i < len; i++) { const related = isRelatedTo(source, targetTypes[i], reportErrors && i === len - 1); if (related) { return related; @@ -5725,7 +5737,19 @@ namespace ts { function someTypeRelatedToType(source: UnionOrIntersectionType, target: Type, reportErrors: boolean): Ternary { const sourceTypes = source.types; - for (let i = 0, len = sourceTypes.length; i < len; i++) { + let len = sourceTypes.length; + // The null and undefined types are guaranteed to be at the end of the constituent type list. In order + // to produce the best possible errors we first check the nullable types, such that the last type we + // check and report errors from is a non-nullable type if one is present. + while (len >= 2 && sourceTypes[len - 1].flags & TypeFlags.Nullable) { + const related = isRelatedTo(sourceTypes[len - 1], target, /*reportErrors*/ false); + if (related) { + return related; + } + len--; + } + // Now check the non-nullable types and report errors on the last one. + for (let i = 0; i < len; i++) { const related = isRelatedTo(sourceTypes[i], target, reportErrors && i === len - 1); if (related) { return related; From 0a25bb58a4e2cdbe20cb0b38cef5f58920c8264c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 6 Mar 2016 13:59:09 -0800 Subject: [PATCH 165/342] Make 'undefined' assignable to 'void' --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 853ca8d07be..9d05bc60c27 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5507,7 +5507,7 @@ namespace ts { if (isTypeAny(target)) return Ternary.True; if (source.flags & TypeFlags.Undefined) { - if (!strictNullChecks || target.flags & TypeFlags.Undefined || source === emptyArrayElementType) return Ternary.True; + if (!strictNullChecks || target.flags & (TypeFlags.Undefined | TypeFlags.Void) || source === emptyArrayElementType) return Ternary.True; } if (source.flags & TypeFlags.Null) { if (!strictNullChecks || target.flags & TypeFlags.Null) return Ternary.True; From 187eaaee7f37ffffb92fa398d280abb527be6fa2 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 7 Mar 2016 13:20:07 -0800 Subject: [PATCH 166/342] Fix issue with narrowing exported variables --- src/compiler/checker.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9d05bc60c27..f18239d5e74 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7165,12 +7165,11 @@ namespace ts { if (!leftmostIdentifier) { return type; } - const leftmostSymbol = getResolvedSymbol(leftmostIdentifier); - if (!(leftmostSymbol.flags & SymbolFlags.Variable)) { + const declaration = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(leftmostIdentifier)).valueDeclaration; + if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.Parameter && declaration.kind !== SyntaxKind.BindingElement) { return type; } - const declaration = getDeclarationOfKind(leftmostSymbol, SyntaxKind.VariableDeclaration); - const top = declaration && getDeclarationContainer(declaration); + const top = getDeclarationContainer(declaration); const originalType = type; const nodeStack: { node: Node, child: Node }[] = []; let node: Node = reference; From fbda0bdd94498d47cb4f5078565f2b6d1447e9c9 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 8 Mar 2016 11:46:47 -0800 Subject: [PATCH 167/342] Adding another check for undefined --- src/compiler/checker.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f18239d5e74..e2c57ffeaa1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7165,7 +7165,11 @@ namespace ts { if (!leftmostIdentifier) { return type; } - const declaration = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(leftmostIdentifier)).valueDeclaration; + const leftmostSymbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(leftmostIdentifier)); + if (!leftmostSymbol) { + return type; + } + const declaration = leftmostSymbol.valueDeclaration; if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.Parameter && declaration.kind !== SyntaxKind.BindingElement) { return type; } From 868e53df2578c18fe62a6b3924e457442e7732e5 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 8 Mar 2016 11:47:18 -0800 Subject: [PATCH 168/342] Accepting new baselines --- .../typeGuardsInExternalModule.types | 8 ++--- .../reference/typeGuardsInModule.types | 30 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/baselines/reference/typeGuardsInExternalModule.types b/tests/baselines/reference/typeGuardsInExternalModule.types index e20063719f5..940e7db831a 100644 --- a/tests/baselines/reference/typeGuardsInExternalModule.types +++ b/tests/baselines/reference/typeGuardsInExternalModule.types @@ -44,13 +44,13 @@ if (typeof var2 === "string") { // export makes the var property and not variable strOrNum = var2; // string | number ->strOrNum = var2 : string | number +>strOrNum = var2 : string >strOrNum : string | number ->var2 : string | number +>var2 : string } else { strOrNum = var2; // number | string ->strOrNum = var2 : string | number +>strOrNum = var2 : number >strOrNum : string | number ->var2 : string | number +>var2 : number } diff --git a/tests/baselines/reference/typeGuardsInModule.types b/tests/baselines/reference/typeGuardsInModule.types index 6b6c552f0cc..7d3753037ad 100644 --- a/tests/baselines/reference/typeGuardsInModule.types +++ b/tests/baselines/reference/typeGuardsInModule.types @@ -64,15 +64,15 @@ module m1 { >"string" : string strOrNum = var3; // string | number ->strOrNum = var3 : string | number +>strOrNum = var3 : string >strOrNum : string | number ->var3 : string | number +>var3 : string } else { strOrNum = var3; // string | number ->strOrNum = var3 : string | number +>strOrNum = var3 : number >strOrNum : string | number ->var3 : string | number +>var3 : number } } // local module @@ -116,14 +116,14 @@ module m2 { // exported variable from outer the module strOrNum = typeof var3 === "string" && var3; // string | number ->strOrNum = typeof var3 === "string" && var3 : string | number +>strOrNum = typeof var3 === "string" && var3 : string >strOrNum : string | number ->typeof var3 === "string" && var3 : string | number +>typeof var3 === "string" && var3 : string >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number >"string" : string ->var3 : string | number +>var3 : string // variables in module declaration var var4: string | number; @@ -160,15 +160,15 @@ module m2 { >"string" : string strOrNum = var5; // string | number ->strOrNum = var5 : string | number +>strOrNum = var5 : string >strOrNum : string | number ->var5 : string | number +>var5 : string } else { strOrNum = var5; // string | number ->strOrNum = var5 : string | number +>strOrNum = var5 : number >strOrNum : string | number ->var5 : string | number +>var5 : number } } } @@ -225,15 +225,15 @@ module m3.m4 { >"string" : string strOrNum = var3; // string | number ->strOrNum = var3 : string | number +>strOrNum = var3 : string >strOrNum : string | number ->var3 : string | number +>var3 : string } else { strOrNum = var3; // string | number ->strOrNum = var3 : string | number +>strOrNum = var3 : number >strOrNum : string | number ->var3 : string | number +>var3 : number } } From 482acccadaa754c96e09059dff68c50619e5f8aa Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 8 Mar 2016 13:05:00 -0800 Subject: [PATCH 169/342] Union this-types of unioned call signatures And and tests and baselines --- src/compiler/checker.ts | 26 +++++++++----- .../reference/unionThisTypeInFunctions.js | 18 ++++++++++ .../unionThisTypeInFunctions.symbols | 33 +++++++++++++++++ .../reference/unionThisTypeInFunctions.types | 35 +++++++++++++++++++ .../thisType/unionThisTypeInFunctions.ts | 12 +++++++ 5 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 tests/baselines/reference/unionThisTypeInFunctions.js create mode 100644 tests/baselines/reference/unionThisTypeInFunctions.symbols create mode 100644 tests/baselines/reference/unionThisTypeInFunctions.types create mode 100644 tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d1b6dc5435e..b5337082c0f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3610,9 +3610,9 @@ namespace ts { setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexInfo, arrayType.numberIndexInfo); } - function findMatchingSignature(signatureList: Signature[], signature: Signature, partialMatch: boolean, ignoreReturnTypes: boolean): Signature { + function findMatchingSignature(signatureList: Signature[], signature: Signature, partialMatch: boolean, ignoreThisTypes: boolean, ignoreReturnTypes: boolean): Signature { for (const s of signatureList) { - if (compareSignaturesIdentical(s, signature, partialMatch, ignoreReturnTypes, compareTypesIdentical)) { + if (compareSignaturesIdentical(s, signature, partialMatch, ignoreThisTypes, ignoreReturnTypes, compareTypesIdentical)) { return s; } } @@ -3626,7 +3626,7 @@ namespace ts { return undefined; } for (let i = 1; i < signatureLists.length; i++) { - if (!findMatchingSignature(signatureLists[i], signature, /*partialMatch*/ false, /*ignoreReturnTypes*/ false)) { + if (!findMatchingSignature(signatureLists[i], signature, /*partialMatch*/ false, /*ignoreThisTypes*/ false, /*ignoreReturnTypes*/ false)) { return undefined; } } @@ -3635,7 +3635,7 @@ namespace ts { let result: Signature[] = undefined; for (let i = 0; i < signatureLists.length; i++) { // Allow matching non-generic signatures to have excess parameters and different return types - const match = i === listIndex ? signature : findMatchingSignature(signatureLists[i], signature, /*partialMatch*/ true, /*ignoreReturnTypes*/ true); + const match = i === listIndex ? signature : findMatchingSignature(signatureLists[i], signature, /*partialMatch*/ true, /*ignoreThisTypes*/ true, /*ignoreReturnTypes*/ true); if (!match) { return undefined; } @@ -3656,13 +3656,16 @@ namespace ts { for (let i = 0; i < signatureLists.length; i++) { for (const signature of signatureLists[i]) { // Only process signatures with parameter lists that aren't already in the result list - if (!result || !findMatchingSignature(result, signature, /*partialMatch*/ false, /*ignoreReturnTypes*/ true)) { + if (!result || !findMatchingSignature(result, signature, /*partialMatch*/ false, /*ignoreThisTypes*/ true, /*ignoreReturnTypes*/ true)) { const unionSignatures = findMatchingSignatures(signatureLists, signature, i); if (unionSignatures) { let s = signature; // Union the result types when more than one signature matches if (unionSignatures.length > 1) { s = cloneSignature(signature); + if (forEach(unionSignatures, sig => sig.thisType)) { + s.thisType = getUnionType(map(unionSignatures, sig => sig.thisType || anyType)); + } // Clear resolved return type we possibly got from cloneSignature s.resolvedReturnType = undefined; s.unionSignatures = unionSignatures; @@ -6002,7 +6005,7 @@ namespace ts { } let result = Ternary.True; for (let i = 0, len = sourceSignatures.length; i < len; i++) { - const related = compareSignaturesIdentical(sourceSignatures[i], targetSignatures[i], /*partialMatch*/ false, /*ignoreReturnTypes*/ false, isRelatedTo); + const related = compareSignaturesIdentical(sourceSignatures[i], targetSignatures[i], /*partialMatch*/ false, /*ignoreThisTypes*/ false, /*ignoreReturnTypes*/ false, isRelatedTo); if (!related) { return Ternary.False; } @@ -6203,7 +6206,7 @@ namespace ts { /** * See signatureRelatedTo, compareSignaturesIdentical */ - function compareSignaturesIdentical(source: Signature, target: Signature, partialMatch: boolean, ignoreReturnTypes: boolean, compareTypes: (s: Type, t: Type) => Ternary): Ternary { + function compareSignaturesIdentical(source: Signature, target: Signature, partialMatch: boolean, ignoreThisTypes: boolean, ignoreReturnTypes: boolean, compareTypes: (s: Type, t: Type) => Ternary): Ternary { // TODO (drosen): De-duplicate code between related functions. if (source === target) { return Ternary.True; @@ -6224,6 +6227,13 @@ namespace ts { source = getErasedSignature(source); target = getErasedSignature(target); let result = Ternary.True; + if (!ignoreThisTypes && source.thisType && target.thisType) { + const related = compareTypes(source.thisType, target.thisType); + if (!related) { + return Ternary.False; + } + result &= related; + } const targetLen = target.parameters.length; for (let i = 0; i < targetLen; i++) { const s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]); @@ -8137,7 +8147,7 @@ namespace ts { // This signature will contribute to contextual union signature signatureList = [signature]; } - else if (!compareSignaturesIdentical(signatureList[0], signature, /*partialMatch*/ false, /*ignoreReturnTypes*/ true, compareTypesIdentical)) { + else if (!compareSignaturesIdentical(signatureList[0], signature, /*partialMatch*/ false, /*ignoreThisTypes*/ true, /*ignoreReturnTypes*/ true, compareTypesIdentical)) { // Signatures aren't identical, do not use return undefined; } diff --git a/tests/baselines/reference/unionThisTypeInFunctions.js b/tests/baselines/reference/unionThisTypeInFunctions.js new file mode 100644 index 00000000000..31ff266087b --- /dev/null +++ b/tests/baselines/reference/unionThisTypeInFunctions.js @@ -0,0 +1,18 @@ +//// [unionThisTypeInFunctions.ts] +interface Real { + method(n: number): void; + data: string; +} +interface Fake { + method(n: number): void; + data: number; +} +function test(r: Real | Fake) { + r.method(12); +} + + +//// [unionThisTypeInFunctions.js] +function test(r) { + r.method(12); +} diff --git a/tests/baselines/reference/unionThisTypeInFunctions.symbols b/tests/baselines/reference/unionThisTypeInFunctions.symbols new file mode 100644 index 00000000000..8b5f2af01e0 --- /dev/null +++ b/tests/baselines/reference/unionThisTypeInFunctions.symbols @@ -0,0 +1,33 @@ +=== tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts === +interface Real { +>Real : Symbol(Real, Decl(unionThisTypeInFunctions.ts, 0, 0)) + + method(n: number): void; +>method : Symbol(method, Decl(unionThisTypeInFunctions.ts, 0, 16)) +>n : Symbol(n, Decl(unionThisTypeInFunctions.ts, 1, 11)) + + data: string; +>data : Symbol(data, Decl(unionThisTypeInFunctions.ts, 1, 28)) +} +interface Fake { +>Fake : Symbol(Fake, Decl(unionThisTypeInFunctions.ts, 3, 1)) + + method(n: number): void; +>method : Symbol(method, Decl(unionThisTypeInFunctions.ts, 4, 16)) +>n : Symbol(n, Decl(unionThisTypeInFunctions.ts, 5, 11)) + + data: number; +>data : Symbol(data, Decl(unionThisTypeInFunctions.ts, 5, 28)) +} +function test(r: Real | Fake) { +>test : Symbol(test, Decl(unionThisTypeInFunctions.ts, 7, 1)) +>r : Symbol(r, Decl(unionThisTypeInFunctions.ts, 8, 14)) +>Real : Symbol(Real, Decl(unionThisTypeInFunctions.ts, 0, 0)) +>Fake : Symbol(Fake, Decl(unionThisTypeInFunctions.ts, 3, 1)) + + r.method(12); +>r.method : Symbol(method, Decl(unionThisTypeInFunctions.ts, 0, 16), Decl(unionThisTypeInFunctions.ts, 4, 16)) +>r : Symbol(r, Decl(unionThisTypeInFunctions.ts, 8, 14)) +>method : Symbol(method, Decl(unionThisTypeInFunctions.ts, 0, 16), Decl(unionThisTypeInFunctions.ts, 4, 16)) +} + diff --git a/tests/baselines/reference/unionThisTypeInFunctions.types b/tests/baselines/reference/unionThisTypeInFunctions.types new file mode 100644 index 00000000000..f2c4f7ee4ec --- /dev/null +++ b/tests/baselines/reference/unionThisTypeInFunctions.types @@ -0,0 +1,35 @@ +=== tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts === +interface Real { +>Real : Real + + method(n: number): void; +>method : (this: this, n: number) => void +>n : number + + data: string; +>data : string +} +interface Fake { +>Fake : Fake + + method(n: number): void; +>method : (this: this, n: number) => void +>n : number + + data: number; +>data : number +} +function test(r: Real | Fake) { +>test : (this: void, r: Real | Fake) => void +>r : Real | Fake +>Real : Real +>Fake : Fake + + r.method(12); +>r.method(12) : void +>r.method : ((this: Real, n: number) => void) | ((this: Fake, n: number) => void) +>r : Real | Fake +>method : ((this: Real, n: number) => void) | ((this: Fake, n: number) => void) +>12 : number +} + diff --git a/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts new file mode 100644 index 00000000000..a140c3fba95 --- /dev/null +++ b/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts @@ -0,0 +1,12 @@ +// @strictThis: true +interface Real { + method(n: number): void; + data: string; +} +interface Fake { + method(n: number): void; + data: number; +} +function test(r: Real | Fake) { + r.method(12); +} From 7acf58ba525480ac5e3c96953f1b5d1b307da9df Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Tue, 8 Mar 2016 17:16:19 -0800 Subject: [PATCH 170/342] Handel module augmentation with export= var + uninstantiated module --- src/compiler/binder.ts | 7 +- src/compiler/checker.ts | 6 +- ...ationCollidingNamesInAugmentation1.symbols | 57 +++++++++++++++ ...ntationCollidingNamesInAugmentation1.types | 69 +++++++++++++++++++ .../reference/moduleAugmentationGlobal1.types | 2 +- .../reference/moduleAugmentationGlobal2.types | 2 +- .../reference/moduleAugmentationGlobal3.types | 2 +- .../moduleAugmentationInAmbientModule5.types | 2 +- .../module_augmentUninstantiatedModule.js | 12 ++++ ...module_augmentUninstantiatedModule.symbols | 15 ++++ .../module_augmentUninstantiatedModule.types | 15 ++++ .../module_augmentUninstantiatedModule2.js | 6 ++ ...odule_augmentUninstantiatedModule2.symbols | 6 ++ .../module_augmentUninstantiatedModule2.types | 6 ++ .../module_augmentUninstantiatedModule.ts | 9 +++ .../module_augmentUninstantiatedModule2.ts | 2 + 16 files changed, 210 insertions(+), 8 deletions(-) create mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols create mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule.js create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule.symbols create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule.types create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule2.js create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule2.symbols create mode 100644 tests/baselines/reference/module_augmentUninstantiatedModule2.types create mode 100644 tests/cases/compiler/module_augmentUninstantiatedModule.ts create mode 100644 tests/cases/compiler/module_augmentUninstantiatedModule2.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 504de084fb9..437b1a3e40e 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -900,7 +900,12 @@ namespace ts { if (node.flags & NodeFlags.Export) { errorOnFirstToken(node, Diagnostics.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible); } - declareSymbolAndAddToSymbolTable(node, SymbolFlags.ValueModule, SymbolFlags.ValueModuleExcludes); + if (isExternalModuleAugmentation(node)) { + declareSymbolAndAddToSymbolTable(node, SymbolFlags.NamespaceModule, SymbolFlags.NamespaceModuleExcludes); + } + else { + declareSymbolAndAddToSymbolTable(node, SymbolFlags.ValueModule, SymbolFlags.ValueModuleExcludes); + } } else { const state = getModuleInstanceState(node); diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7aba7ccc1ff..14fec7bb976 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -378,7 +378,7 @@ namespace ts { function mergeModuleAugmentation(moduleName: LiteralExpression): void { const moduleAugmentation = moduleName.parent; - if (moduleAugmentation.symbol.valueDeclaration !== moduleAugmentation) { + if (moduleAugmentation.symbol.declarations[0] !== moduleAugmentation) { // this is a combined symbol for multiple augmentations within the same file. // its symbol already has accumulated information for all declarations // so we need to add it just once - do the work only for first declaration @@ -4498,7 +4498,7 @@ namespace ts { // Get type from reference to class or interface function getTypeFromClassOrInterfaceReference(node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference, symbol: Symbol): Type { - const type = getDeclaredTypeOfSymbol(symbol); + const type = getDeclaredTypeOfSymbol(getMergedSymbol(symbol)); const typeParameters = type.localTypeParameters; if (typeParameters) { if (!node.typeArguments || node.typeArguments.length !== typeParameters.length) { @@ -14936,7 +14936,7 @@ namespace ts { } else { // symbol should not originate in augmentation - reportError = isExternalModuleAugmentation(symbol.parent.valueDeclaration); + reportError = isExternalModuleAugmentation(symbol.parent.declarations[0]); } } if (reportError) { diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols new file mode 100644 index 00000000000..ec933695900 --- /dev/null +++ b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols @@ -0,0 +1,57 @@ +=== tests/cases/compiler/map1.ts === + +import { Observable } from "./observable" +>Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) + +(Observable.prototype).map = function() { } +>Observable.prototype : Symbol(Observable.prototype) +>Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) +>prototype : Symbol(Observable.prototype) + +declare module "./observable" { + interface I {x0} +>I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) +>x0 : Symbol(x0, Decl(map1.ts, 6, 17)) +} + +=== tests/cases/compiler/map2.ts === +import { Observable } from "./observable" +>Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) + +(Observable.prototype).map = function() { } +>Observable.prototype : Symbol(Observable.prototype) +>Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) +>prototype : Symbol(Observable.prototype) + +declare module "./observable" { + interface I {x1} +>I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) +>x1 : Symbol(x1, Decl(map2.ts, 5, 17)) +} + + +=== tests/cases/compiler/observable.ts === +export declare class Observable { +>Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) +>T : Symbol(T, Decl(observable.ts, 0, 32)) + + filter(pred: (e:T) => boolean): Observable; +>filter : Symbol(filter, Decl(observable.ts, 0, 36)) +>pred : Symbol(pred, Decl(observable.ts, 1, 11)) +>e : Symbol(e, Decl(observable.ts, 1, 18)) +>T : Symbol(T, Decl(observable.ts, 0, 32)) +>Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) +>T : Symbol(T, Decl(observable.ts, 0, 32)) +} + +=== tests/cases/compiler/main.ts === +import { Observable } from "./observable" +>Observable : Symbol(Observable, Decl(main.ts, 0, 8)) + +import "./map1"; +import "./map2"; + +let x: Observable; +>x : Symbol(x, Decl(main.ts, 4, 3)) +>Observable : Symbol(Observable, Decl(main.ts, 0, 8)) + diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types new file mode 100644 index 00000000000..e87560c6a3d --- /dev/null +++ b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types @@ -0,0 +1,69 @@ +=== tests/cases/compiler/map1.ts === + +import { Observable } from "./observable" +>Observable : typeof Observable + +(Observable.prototype).map = function() { } +>(Observable.prototype).map = function() { } : () => void +>(Observable.prototype).map : any +>(Observable.prototype) : any +>Observable.prototype : any +>Observable.prototype : Observable +>Observable : typeof Observable +>prototype : Observable +>map : any +>function() { } : () => void + +declare module "./observable" { + interface I {x0} +>I : I +>x0 : any +} + +=== tests/cases/compiler/map2.ts === +import { Observable } from "./observable" +>Observable : typeof Observable + +(Observable.prototype).map = function() { } +>(Observable.prototype).map = function() { } : () => void +>(Observable.prototype).map : any +>(Observable.prototype) : any +>Observable.prototype : any +>Observable.prototype : Observable +>Observable : typeof Observable +>prototype : Observable +>map : any +>function() { } : () => void + +declare module "./observable" { + interface I {x1} +>I : I +>x1 : any +} + + +=== tests/cases/compiler/observable.ts === +export declare class Observable { +>Observable : Observable +>T : T + + filter(pred: (e:T) => boolean): Observable; +>filter : (pred: (e: T) => boolean) => Observable +>pred : (e: T) => boolean +>e : T +>T : T +>Observable : Observable +>T : T +} + +=== tests/cases/compiler/main.ts === +import { Observable } from "./observable" +>Observable : typeof Observable + +import "./map1"; +import "./map2"; + +let x: Observable; +>x : Observable +>Observable : Observable + diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.types b/tests/baselines/reference/moduleAugmentationGlobal1.types index c1742edd7c0..9963cbe1162 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.types +++ b/tests/baselines/reference/moduleAugmentationGlobal1.types @@ -10,7 +10,7 @@ import {A} from "./f1"; // change the shape of Array declare global { ->global : typeof +>global : any interface Array { >Array : T[] diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.types b/tests/baselines/reference/moduleAugmentationGlobal2.types index 36ef480d8b2..96252569da6 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.types +++ b/tests/baselines/reference/moduleAugmentationGlobal2.types @@ -10,7 +10,7 @@ import {A} from "./f1"; >A : typeof A declare global { ->global : typeof +>global : any interface Array { >Array : T[] diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.types b/tests/baselines/reference/moduleAugmentationGlobal3.types index 58d7f30faab..0e8e731aec1 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.types +++ b/tests/baselines/reference/moduleAugmentationGlobal3.types @@ -10,7 +10,7 @@ import {A} from "./f1"; >A : typeof A declare global { ->global : typeof +>global : any interface Array { >Array : T[] diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types index d04cdca4893..998452be450 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types @@ -29,7 +29,7 @@ declare module "array" { >A : typeof A global { ->global : typeof +>global : any interface Array { >Array : T[] diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule.js b/tests/baselines/reference/module_augmentUninstantiatedModule.js new file mode 100644 index 00000000000..d3c231fda4e --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule.js @@ -0,0 +1,12 @@ +//// [module_augmentUninstantiatedModule.ts] +declare module "foo" { + namespace M {} + var M; + export = M; +} + +declare module "bar" { + module "foo" {} +} + +//// [module_augmentUninstantiatedModule.js] diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule.symbols b/tests/baselines/reference/module_augmentUninstantiatedModule.symbols new file mode 100644 index 00000000000..d405f9549ea --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule.symbols @@ -0,0 +1,15 @@ +=== tests/cases/compiler/module_augmentUninstantiatedModule.ts === +declare module "foo" { + namespace M {} +>M : Symbol(, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) + + var M; +>M : Symbol(, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) + + export = M; +>M : Symbol(M, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6)) +} + +declare module "bar" { + module "foo" {} +} diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule.types b/tests/baselines/reference/module_augmentUninstantiatedModule.types new file mode 100644 index 00000000000..0c27cc3acf9 --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule.types @@ -0,0 +1,15 @@ +=== tests/cases/compiler/module_augmentUninstantiatedModule.ts === +declare module "foo" { + namespace M {} +>M : any + + var M; +>M : any + + export = M; +>M : any +} + +declare module "bar" { + module "foo" {} +} diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule2.js b/tests/baselines/reference/module_augmentUninstantiatedModule2.js new file mode 100644 index 00000000000..2e7b4d917db --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule2.js @@ -0,0 +1,6 @@ +//// [module_augmentUninstantiatedModule2.ts] +declare var ng: ng.IAngularStatic; declare module ng { export interface IModule { name: string; } export interface IAngularStatic { module: (s: string) => IModule; } } export = ng; + +//// [module_augmentUninstantiatedModule2.js] +"use strict"; +module.exports = ng; diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule2.symbols b/tests/baselines/reference/module_augmentUninstantiatedModule2.symbols new file mode 100644 index 00000000000..42e27aa9eae --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule2.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/module_augmentUninstantiatedModule2.ts === +declare var ng: ng.IAngularStatic; declare module ng { export interface IModule { name: string; } export interface IAngularStatic { module: (s: string) => IModule; } } export = ng; +>ng : Symbol(ng, Decl(module_augmentUninstantiatedModule2.ts, 0, 11), Decl(module_augmentUninstantiatedModule2.ts, 0, 34)) +>ng : Symbol(ng, Decl(module_augmentUninstantiatedModule2.ts, 0, 11), Decl(module_augmentUninstantiatedModule2.ts, 0, 34)) +>IAngularStatic : Symbol(ng.IAngularStatic, Decl(module_augmentUninstantiatedModule2.ts, 5, 4)) + diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule2.types b/tests/baselines/reference/module_augmentUninstantiatedModule2.types new file mode 100644 index 00000000000..2875ace3c1b --- /dev/null +++ b/tests/baselines/reference/module_augmentUninstantiatedModule2.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/module_augmentUninstantiatedModule2.ts === +declare var ng: ng.IAngularStatic; declare module ng { export interface IModule { name: string; } export interface IAngularStatic { module: (s: string) => IModule; } } export = ng; +>ng : ng.IAngularStatic +>ng : any +>IAngularStatic : ng.IAngularStatic + diff --git a/tests/cases/compiler/module_augmentUninstantiatedModule.ts b/tests/cases/compiler/module_augmentUninstantiatedModule.ts new file mode 100644 index 00000000000..4d71c6c1389 --- /dev/null +++ b/tests/cases/compiler/module_augmentUninstantiatedModule.ts @@ -0,0 +1,9 @@ +declare module "foo" { + namespace M {} + var M; + export = M; +} + +declare module "bar" { + module "foo" {} +} \ No newline at end of file diff --git a/tests/cases/compiler/module_augmentUninstantiatedModule2.ts b/tests/cases/compiler/module_augmentUninstantiatedModule2.ts new file mode 100644 index 00000000000..101e26bf85b --- /dev/null +++ b/tests/cases/compiler/module_augmentUninstantiatedModule2.ts @@ -0,0 +1,2 @@ +// @module: commonjs // @moduleResolution: node // @fileName: app.ts import ng = require("angular"); import "./moduleAugmentation"; var x: number = ng.getNumber(); // @filename: moduleAugmentation.ts import * as ng from "angular" declare module "angular" { export interface IAngularStatic { getNumber: () => number; } } // @filename: node_modules/angular/index.d.ts +declare var ng: ng.IAngularStatic; declare module ng { export interface IModule { name: string; } export interface IAngularStatic { module: (s: string) => IModule; } } export = ng; \ No newline at end of file From d742ca50f4b6199a6c14ffc78bdef261f43a73aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Segersva=CC=88rd?= Date: Wed, 9 Mar 2016 09:41:14 +0100 Subject: [PATCH 171/342] Fix shorthand properties for non-es6 module formats --- src/compiler/emitter.ts | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index aaee1e1ef99..67f9765d821 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -296,11 +296,11 @@ namespace ts { * If loop contains block scoped binding captured in some function then loop body is converted to a function. * Lexical bindings declared in loop initializer will be passed into the loop body function as parameters, * however if this binding is modified inside the body - this new value should be propagated back to the original binding. - * This is done by declaring new variable (out parameter holder) outside of the loop for every binding that is reassigned inside the body. + * This is done by declaring new variable (out parameter holder) outside of the loop for every binding that is reassigned inside the body. * On every iteration this variable is initialized with value of corresponding binding. * At every point where control flow leaves the loop either explicitly (break/continue) or implicitly (at the end of loop body) * we copy the value inside the loop to the out parameter holder. - * + * * for (let x;;) { * let a = 1; * let b = () => a; @@ -308,9 +308,9 @@ namespace ts { * if (...) break; * ... * } - * + * * will be converted to - * + * * var out_x; * var loop = function(x) { * var a = 1; @@ -326,7 +326,7 @@ namespace ts { * x = out_x; * if (state === "break") break; * } - * + * * NOTE: values to out parameters are not copies if loop is abrupted with 'return' - in this case this will end the entire enclosing function * so nobody can observe this new value. */ @@ -379,6 +379,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge const compilerOptions = host.getCompilerOptions(); const languageVersion = getEmitScriptTarget(compilerOptions); const modulekind = getEmitModuleKind(compilerOptions); + const hasIndirectAccessToImportedIdentifiers = modulekind !== ModuleKind.ES6 && modulekind !== ModuleKind.System; const sourceMapDataList: SourceMapData[] = compilerOptions.sourceMap || compilerOptions.inlineSourceMap ? [] : undefined; const emitterDiagnostics = createDiagnosticCollection(); let emitSkipped = false; @@ -1575,7 +1576,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (container) { if (container.kind === SyntaxKind.SourceFile) { // Identifier references module export - if (modulekind !== ModuleKind.ES6 && modulekind !== ModuleKind.System) { + if (hasIndirectAccessToImportedIdentifiers) { write("exports."); } } @@ -2138,6 +2139,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge return container && container.kind !== SyntaxKind.SourceFile; } + // Return true if identifier resolves to an imported identifier + function isImportedReference(node: Identifier) { + const declaration = resolver.getReferencedImportDeclaration(node); + return declaration && (declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.ImportSpecifier); + } + function emitShorthandPropertyAssignment(node: ShorthandPropertyAssignment) { // The name property of a short-hand property assignment is considered an expression position, so here // we manually emit the identifier to avoid rewriting. @@ -2151,7 +2158,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // let obj = { y }; // } // Here we need to emit obj = { y : m.y } regardless of the output target. - if (modulekind !== ModuleKind.ES6 || isNamespaceExportReference(node.name)) { + // The same rules apply for imported identifiers when targeting module formats with indirect access to + // the imported identifiers. For example, when targeting CommonJS: + // + // import {foo} from './foo'; + // export const baz = { foo }; + // + // Must be transformed into: + // + // const foo_1 = require('./foo'); + // exports.baz = { foo: foo_1.foo }; + // + if (languageVersion < ScriptTarget.ES6 || (hasIndirectAccessToImportedIdentifiers && isImportedReference(node.name)) || isNamespaceExportReference(node.name) ) { // Emit identifier as an identifier write(": "); emit(node.name); @@ -3073,7 +3091,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } writeLine(); - // end of loop body -> copy out parameter + // end of loop body -> copy out parameter copyLoopOutParameters(convertedLoopState, CopyDirection.ToOutParameter, /*emitAsStatements*/true); decreaseIndent(); @@ -3572,7 +3590,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } else { convertedLoopState.nonLocalJumps |= Jump.Continue; - // note: return value is emitted only to simplify debugging, call to converted loop body does not do any dispatching on it. + // note: return value is emitted only to simplify debugging, call to converted loop body does not do any dispatching on it. write(`"continue";`); } } @@ -7267,7 +7285,7 @@ const _super = (function (geti, seti) { } // text should be quoted string - // for deduplication purposes in key remove leading and trailing quotes so 'a' and "a" will be considered the same + // for deduplication purposes in key remove leading and trailing quotes so 'a' and "a" will be considered the same const key = text.substr(1, text.length - 2); if (hasProperty(groupIndices, key)) { From ccd5352eb88e1a5ebe6b7f5f8d00606b144bad8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Segersva=CC=88rd?= Date: Wed, 9 Mar 2016 12:13:27 +0100 Subject: [PATCH 172/342] System doesn't have direct identifier access in TS's generated code. --- src/compiler/emitter.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 67f9765d821..14f0e5bdf94 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -379,7 +379,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge const compilerOptions = host.getCompilerOptions(); const languageVersion = getEmitScriptTarget(compilerOptions); const modulekind = getEmitModuleKind(compilerOptions); - const hasIndirectAccessToImportedIdentifiers = modulekind !== ModuleKind.ES6 && modulekind !== ModuleKind.System; const sourceMapDataList: SourceMapData[] = compilerOptions.sourceMap || compilerOptions.inlineSourceMap ? [] : undefined; const emitterDiagnostics = createDiagnosticCollection(); let emitSkipped = false; @@ -1576,7 +1575,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (container) { if (container.kind === SyntaxKind.SourceFile) { // Identifier references module export - if (hasIndirectAccessToImportedIdentifiers) { + if (modulekind !== ModuleKind.ES6 && modulekind !== ModuleKind.System) { write("exports."); } } @@ -2169,7 +2168,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // const foo_1 = require('./foo'); // exports.baz = { foo: foo_1.foo }; // - if (languageVersion < ScriptTarget.ES6 || (hasIndirectAccessToImportedIdentifiers && isImportedReference(node.name)) || isNamespaceExportReference(node.name) ) { + if (languageVersion < ScriptTarget.ES6 || (modulekind !== ModuleKind.ES6 && isImportedReference(node.name)) || isNamespaceExportReference(node.name) ) { // Emit identifier as an identifier write(": "); emit(node.name); From bf97250306bda86519b0a689028b74310bd1f7b0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 9 Mar 2016 09:14:55 -0800 Subject: [PATCH 173/342] Skip unnecessary instatiation of anonymous types --- src/compiler/checker.ts | 99 ++++++++++++++++++++++++++++++----------- src/compiler/types.ts | 3 ++ 2 files changed, 76 insertions(+), 26 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7aba7ccc1ff..864e693f3cc 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5045,42 +5045,29 @@ namespace ts { return t => t === source1 ? target1 : t === source2 ? target2 : t; } - function createTypeMapper(sources: Type[], targets: Type[]): TypeMapper { - switch (sources.length) { - case 1: return createUnaryTypeMapper(sources[0], targets[0]); - case 2: return createBinaryTypeMapper(sources[0], targets[0], sources[1], targets[1]); - } + function createArrayTypeMapper(sources: Type[], targets: Type[]): TypeMapper { return t => { for (let i = 0; i < sources.length; i++) { if (t === sources[i]) { - return targets[i]; + return targets ? targets[i] : anyType; } } return t; }; } - function createUnaryTypeEraser(source: Type): TypeMapper { - return t => t === source ? anyType : t; - } - - function createBinaryTypeEraser(source1: Type, source2: Type): TypeMapper { - return t => t === source1 || t === source2 ? anyType : t; + function createTypeMapper(sources: Type[], targets: Type[]): TypeMapper { + const count = sources.length; + const mapper: TypeMapper = + count == 1 ? createUnaryTypeMapper(sources[0], targets ? targets[0] : anyType) : + count == 2 ? createBinaryTypeMapper(sources[0], targets ? targets[0] : anyType, sources[1], targets ? targets[1] : anyType) : + createArrayTypeMapper(sources, targets); + mapper.mappedTypes = sources; + return mapper; } function createTypeEraser(sources: Type[]): TypeMapper { - switch (sources.length) { - case 1: return createUnaryTypeEraser(sources[0]); - case 2: return createBinaryTypeEraser(sources[0], sources[1]); - } - return t => { - for (const source of sources) { - if (t === source) { - return anyType; - } - } - return t; - }; + return createTypeMapper(sources, undefined); } function getInferenceMapper(context: InferenceContext): TypeMapper { @@ -5095,6 +5082,7 @@ namespace ts { } return t; }; + mapper.mappedTypes = context.typeParameters; mapper.context = context; context.mapper = mapper; } @@ -5106,7 +5094,9 @@ namespace ts { } function combineTypeMappers(mapper1: TypeMapper, mapper2: TypeMapper): TypeMapper { - return t => instantiateType(mapper1(t), mapper2); + const mapper: TypeMapper = t => instantiateType(mapper1(t), mapper2); + mapper.mappedTypes = mapper1.mappedTypes; + return mapper; } function cloneTypeParameter(typeParameter: TypeParameter): TypeParameter { @@ -5201,13 +5191,70 @@ namespace ts { return result; } + function isSymbolInScopeOfMappedTypeParameter(symbol: Symbol, mapper: TypeMapper) { + const mappedTypes = mapper.mappedTypes; + // Starting with the parent of the symbol's declaration, check if the mapper maps any of + // the type parameters introduced by enclosing declarations. We just pick the first + // declaration since multiple declarations will all have the same parent anyway. + let node = symbol.declarations[0].parent; + while (node) { + switch (node.kind) { + case SyntaxKind.FunctionType: + case SyntaxKind.ConstructorType: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.Constructor: + case SyntaxKind.CallSignature: + case SyntaxKind.ConstructSignature: + case SyntaxKind.IndexSignature: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.ClassExpression: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + const declaration = node; + if (declaration.typeParameters) { + for (const d of declaration.typeParameters) { + if (contains(mappedTypes, getDeclaredTypeOfTypeParameter(d.symbol))) { + return true; + } + } + } + if (isClassLike(node) || node.kind === SyntaxKind.InterfaceDeclaration) { + const thisType = getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; + if (thisType && contains(mappedTypes, thisType)) { + return true; + } + } + break; + case SyntaxKind.ModuleDeclaration: + case SyntaxKind.SourceFile: + return false; + } + node = node.parent; + } + return false; + } + function instantiateType(type: Type, mapper: TypeMapper): Type { if (type && mapper !== identityMapper) { if (type.flags & TypeFlags.TypeParameter) { return mapper(type); } if (type.flags & TypeFlags.Anonymous) { - return type.symbol && type.symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral) ? + // If the anonymous type originates in a declaration of a function, method, class, or + // interface, in an object type literal, or in an object literal expression, we may need + // to instantiate the type because it might reference a type parameter. We skip instantiation + // if none of the type parameters that are in scope in the type's declaration are mapped by + // the given mapper, however we can only do that analysis if the type isn't itself an + // instantiation. + return type.symbol && + type.symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral) && + (type.flags & TypeFlags.Instantiated || isSymbolInScopeOfMappedTypeParameter(type.symbol, mapper)) ? instantiateAnonymousType(type, mapper) : type; } if (type.flags & TypeFlags.Reference) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 10cae6e6ee3..282a658aa36 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1208,6 +1208,8 @@ namespace ts { block: Block; } + export type DeclarationWithTypeParameters = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration; + export interface ClassLikeDeclaration extends Declaration { name?: Identifier; typeParameters?: NodeArray; @@ -2286,6 +2288,7 @@ namespace ts { /* @internal */ export interface TypeMapper { (t: TypeParameter): Type; + mappedTypes?: Type[]; // Types mapped by this mapper instantiations?: Type[]; // Cache of instantiations created using this type mapper. context?: InferenceContext; // The inference context this mapper was created from. // Only inference mappers have this set (in createInferenceMapper). From 5dbf252dc5f6924ad19d8a4d88097d16f4861011 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 26 Feb 2016 14:41:49 -0800 Subject: [PATCH 174/342] Fix duplicate errors in JSDoc function types with anon parameters Fixes #6993 --- src/compiler/binder.ts | 1 + tests/cases/fourslash/jsDocFunctionSignatures4.ts | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/cases/fourslash/jsDocFunctionSignatures4.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 437b1a3e40e..9363a8796ee 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -753,6 +753,7 @@ namespace ts { case SyntaxKind.GetAccessor: case SyntaxKind.SetAccessor: case SyntaxKind.FunctionType: + case SyntaxKind.JSDocFunctionType: case SyntaxKind.ConstructorType: case SyntaxKind.FunctionExpression: case SyntaxKind.ArrowFunction: diff --git a/tests/cases/fourslash/jsDocFunctionSignatures4.ts b/tests/cases/fourslash/jsDocFunctionSignatures4.ts new file mode 100644 index 00000000000..e2b443d8d40 --- /dev/null +++ b/tests/cases/fourslash/jsDocFunctionSignatures4.ts @@ -0,0 +1,11 @@ +/// + +// @allowNonTsExtensions: true +// @Filename: Foo.js + +//// /** @param {function ({OwnerID:string,AwayID:string}):void} x +//// * @param {function (string):void} y */ +//// function fn(x, y) { } + +verify.numberOfErrorsInCurrentFile(0); + From 2e23010437379e141af195999160162aa5b7e4c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Segersva=CC=88rd?= Date: Wed, 9 Mar 2016 18:43:21 +0100 Subject: [PATCH 175/342] Add three tests --- .../shorthand-property-es5-es6.errors.txt | 13 +++++++++++++ .../reference/shorthand-property-es5-es6.js | 14 ++++++++++++++ .../shorthand-property-es6-amd.errors.txt | 11 +++++++++++ .../reference/shorthand-property-es6-amd.js | 16 ++++++++++++++++ .../shorthand-property-es6-es6.errors.txt | 11 +++++++++++ .../reference/shorthand-property-es6-es6.js | 14 ++++++++++++++ .../cases/compiler/shorthand-property-es5-es6.ts | 8 ++++++++ .../cases/compiler/shorthand-property-es6-amd.ts | 8 ++++++++ .../cases/compiler/shorthand-property-es6-es6.ts | 8 ++++++++ 9 files changed, 103 insertions(+) create mode 100644 tests/baselines/reference/shorthand-property-es5-es6.errors.txt create mode 100644 tests/baselines/reference/shorthand-property-es5-es6.js create mode 100644 tests/baselines/reference/shorthand-property-es6-amd.errors.txt create mode 100644 tests/baselines/reference/shorthand-property-es6-amd.js create mode 100644 tests/baselines/reference/shorthand-property-es6-es6.errors.txt create mode 100644 tests/baselines/reference/shorthand-property-es6-es6.js create mode 100644 tests/cases/compiler/shorthand-property-es5-es6.ts create mode 100644 tests/cases/compiler/shorthand-property-es6-amd.ts create mode 100644 tests/cases/compiler/shorthand-property-es6-es6.ts diff --git a/tests/baselines/reference/shorthand-property-es5-es6.errors.txt b/tests/baselines/reference/shorthand-property-es5-es6.errors.txt new file mode 100644 index 00000000000..f491dfbaabe --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es5-es6.errors.txt @@ -0,0 +1,13 @@ +error TS1204: Cannot compile modules into 'es2015' when targeting 'ES5' or lower. +tests/cases/compiler/test.ts(2,19): error TS2307: Cannot find module './foo'. + + +!!! error TS1204: Cannot compile modules into 'es2015' when targeting 'ES5' or lower. +==== tests/cases/compiler/test.ts (1 errors) ==== + + import {foo} from './foo'; + ~~~~~~~ +!!! error TS2307: Cannot find module './foo'. + const baz = 42; + const bar = { foo, baz }; + \ No newline at end of file diff --git a/tests/baselines/reference/shorthand-property-es5-es6.js b/tests/baselines/reference/shorthand-property-es5-es6.js new file mode 100644 index 00000000000..cbca92adb0c --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es5-es6.js @@ -0,0 +1,14 @@ +//// [test.ts] + +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; + + +//// [test.js] +import { foo } from './foo'; +var baz = 42; +var bar = { foo: foo, baz: baz }; + + +//// [test.d.ts] diff --git a/tests/baselines/reference/shorthand-property-es6-amd.errors.txt b/tests/baselines/reference/shorthand-property-es6-amd.errors.txt new file mode 100644 index 00000000000..e54f73a4e61 --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es6-amd.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/test.ts(2,19): error TS2307: Cannot find module './foo'. + + +==== tests/cases/compiler/test.ts (1 errors) ==== + + import {foo} from './foo'; + ~~~~~~~ +!!! error TS2307: Cannot find module './foo'. + const baz = 42; + const bar = { foo, baz }; + \ No newline at end of file diff --git a/tests/baselines/reference/shorthand-property-es6-amd.js b/tests/baselines/reference/shorthand-property-es6-amd.js new file mode 100644 index 00000000000..3cecc18b661 --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es6-amd.js @@ -0,0 +1,16 @@ +//// [test.ts] + +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; + + +//// [test.js] +define(["require", "exports", './foo'], function (require, exports, foo_1) { + "use strict"; + const baz = 42; + const bar = { foo: foo_1.foo, baz }; +}); + + +//// [test.d.ts] diff --git a/tests/baselines/reference/shorthand-property-es6-es6.errors.txt b/tests/baselines/reference/shorthand-property-es6-es6.errors.txt new file mode 100644 index 00000000000..e54f73a4e61 --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es6-es6.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/test.ts(2,19): error TS2307: Cannot find module './foo'. + + +==== tests/cases/compiler/test.ts (1 errors) ==== + + import {foo} from './foo'; + ~~~~~~~ +!!! error TS2307: Cannot find module './foo'. + const baz = 42; + const bar = { foo, baz }; + \ No newline at end of file diff --git a/tests/baselines/reference/shorthand-property-es6-es6.js b/tests/baselines/reference/shorthand-property-es6-es6.js new file mode 100644 index 00000000000..eff67c879cc --- /dev/null +++ b/tests/baselines/reference/shorthand-property-es6-es6.js @@ -0,0 +1,14 @@ +//// [test.ts] + +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; + + +//// [test.js] +import { foo } from './foo'; +const baz = 42; +const bar = { foo, baz }; + + +//// [test.d.ts] diff --git a/tests/cases/compiler/shorthand-property-es5-es6.ts b/tests/cases/compiler/shorthand-property-es5-es6.ts new file mode 100644 index 00000000000..8c8ae4368a0 --- /dev/null +++ b/tests/cases/compiler/shorthand-property-es5-es6.ts @@ -0,0 +1,8 @@ +// @target: ES5 +// @module: ES6 +// @declaration: true + +// @filename: test.ts +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; diff --git a/tests/cases/compiler/shorthand-property-es6-amd.ts b/tests/cases/compiler/shorthand-property-es6-amd.ts new file mode 100644 index 00000000000..0f2a62ad86c --- /dev/null +++ b/tests/cases/compiler/shorthand-property-es6-amd.ts @@ -0,0 +1,8 @@ +// @target: ES6 +// @module: amd +// @declaration: true + +// @filename: test.ts +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; diff --git a/tests/cases/compiler/shorthand-property-es6-es6.ts b/tests/cases/compiler/shorthand-property-es6-es6.ts new file mode 100644 index 00000000000..f904e4f8dcf --- /dev/null +++ b/tests/cases/compiler/shorthand-property-es6-es6.ts @@ -0,0 +1,8 @@ +// @target: ES6 +// @module: ES6 +// @declaration: true + +// @filename: test.ts +import {foo} from './foo'; +const baz = 42; +const bar = { foo, baz }; From 44aa7388eaf234abff335fa8606c0fd032ca5601 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 2 Mar 2016 10:52:16 -0800 Subject: [PATCH 176/342] UMD support --- src/compiler/binder.ts | 11 ++++ src/compiler/checker.ts | 28 +++++++++ src/compiler/diagnosticMessages.json | 12 ++++ src/compiler/parser.ts | 38 ++++++++++-- src/compiler/program.ts | 24 +++++--- src/compiler/types.ts | 10 ++++ src/compiler/utilities.ts | 1 + src/harness/compilerRunner.ts | 2 +- src/harness/harness.ts | 3 +- .../baselines/reference/umd-errors.errors.txt | 60 +++++++++++++++++++ tests/baselines/reference/umd-errors.js | 36 +++++++++++ tests/baselines/reference/umd-errors.symbols | 8 +++ tests/baselines/reference/umd-errors.types | 9 +++ tests/baselines/reference/umd1.js | 21 +++++++ tests/baselines/reference/umd1.symbols | 33 ++++++++++ tests/baselines/reference/umd1.types | 35 +++++++++++ tests/baselines/reference/umd2.errors.txt | 19 ++++++ tests/baselines/reference/umd2.js | 18 ++++++ tests/baselines/reference/umd3.js | 22 +++++++ tests/baselines/reference/umd3.symbols | 35 +++++++++++ tests/baselines/reference/umd3.types | 37 ++++++++++++ tests/baselines/reference/umd4.js | 22 +++++++ tests/baselines/reference/umd4.symbols | 35 +++++++++++ tests/baselines/reference/umd4.types | 37 ++++++++++++ tests/baselines/reference/umd5.errors.txt | 20 +++++++ tests/baselines/reference/umd5.js | 26 ++++++++ .../conformance/externalModules/umd-errors.ts | 31 ++++++++++ .../cases/conformance/externalModules/umd1.ts | 14 +++++ .../cases/conformance/externalModules/umd2.ts | 12 ++++ .../cases/conformance/externalModules/umd3.ts | 14 +++++ .../cases/conformance/externalModules/umd4.ts | 14 +++++ .../cases/conformance/externalModules/umd5.ts | 16 +++++ 32 files changed, 687 insertions(+), 16 deletions(-) create mode 100644 tests/baselines/reference/umd-errors.errors.txt create mode 100644 tests/baselines/reference/umd-errors.js create mode 100644 tests/baselines/reference/umd-errors.symbols create mode 100644 tests/baselines/reference/umd-errors.types create mode 100644 tests/baselines/reference/umd1.js create mode 100644 tests/baselines/reference/umd1.symbols create mode 100644 tests/baselines/reference/umd1.types create mode 100644 tests/baselines/reference/umd2.errors.txt create mode 100644 tests/baselines/reference/umd2.js create mode 100644 tests/baselines/reference/umd3.js create mode 100644 tests/baselines/reference/umd3.symbols create mode 100644 tests/baselines/reference/umd3.types create mode 100644 tests/baselines/reference/umd4.js create mode 100644 tests/baselines/reference/umd4.symbols create mode 100644 tests/baselines/reference/umd4.types create mode 100644 tests/baselines/reference/umd5.errors.txt create mode 100644 tests/baselines/reference/umd5.js create mode 100644 tests/cases/conformance/externalModules/umd-errors.ts create mode 100644 tests/cases/conformance/externalModules/umd1.ts create mode 100644 tests/cases/conformance/externalModules/umd2.ts create mode 100644 tests/cases/conformance/externalModules/umd3.ts create mode 100644 tests/cases/conformance/externalModules/umd4.ts create mode 100644 tests/cases/conformance/externalModules/umd5.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 9363a8796ee..0a2cb25bd3f 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1355,6 +1355,8 @@ namespace ts { case SyntaxKind.ImportSpecifier: case SyntaxKind.ExportSpecifier: return declareSymbolAndAddToSymbolTable(node, SymbolFlags.Alias, SymbolFlags.AliasExcludes); + case SyntaxKind.GlobalModuleExportDeclaration: + return bindGlobalModuleExportDeclaration(node); case SyntaxKind.ImportClause: return bindImportClause(node); case SyntaxKind.ExportDeclaration: @@ -1404,6 +1406,15 @@ namespace ts { } } + function bindGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration) { + if (!file.externalModuleIndicator) { + file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_module_files)); + return; + } + file.symbol.globalExports = file.symbol.globalExports || {}; + declareSymbol(file.symbol.globalExports, file.symbol, node, SymbolFlags.Alias, SymbolFlags.AliasExcludes); + } + function bindExportDeclaration(node: ExportDeclaration) { if (!container.symbol || !container.symbol.exports) { // Export * in some sort of block construct diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 14fec7bb976..fde042eaaba 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -981,6 +981,10 @@ namespace ts { return getExternalModuleMember(node.parent.parent.parent, node); } + function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol { + return node.parent.symbol; + } + function getTargetOfExportSpecifier(node: ExportSpecifier): Symbol { return (node.parent.parent).moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : @@ -1005,6 +1009,8 @@ namespace ts { return getTargetOfExportSpecifier(node); case SyntaxKind.ExportAssignment: return getTargetOfExportAssignment(node); + case SyntaxKind.GlobalModuleExportDeclaration: + return getTargetOfGlobalModuleExportDeclaration(node); } } @@ -15220,6 +15226,23 @@ namespace ts { } } + function checkGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration) { + if (node.modifiers && node.modifiers.length) { + error(node, Diagnostics.Modifiers_cannot_appear_here); + } + + if (node.parent.kind !== SyntaxKind.SourceFile) { + error(node, Diagnostics.Global_module_exports_may_only_appear_at_top_level); + } + else { + const parent = node.parent as SourceFile; + // Note: the binder handles the case where the declaration isn't in an external module + if (parent.externalModuleIndicator && !parent.isDeclarationFile) { + error(node, Diagnostics.Global_module_exports_may_only_appear_in_declaration_files); + } + } + + } function checkSourceElement(node: Node): void { if (!node) { @@ -15337,6 +15360,8 @@ namespace ts { return checkExportDeclaration(node); case SyntaxKind.ExportAssignment: return checkExportAssignment(node); + case SyntaxKind.GlobalModuleExportDeclaration: + return checkGlobalModuleExportDeclaration(node); case SyntaxKind.EmptyStatement: checkGrammarStatementInAmbientContext(node); return; @@ -16331,6 +16356,9 @@ namespace ts { if (file.moduleAugmentations.length) { (augmentations || (augmentations = [])).push(file.moduleAugmentations); } + if (file.wasReferenced && file.symbol && file.symbol.globalExports) { + mergeSymbolTable(globals, file.symbol.globalExports); + } }); if (augmentations) { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 4ffbca3bb50..15a3a4e5ef4 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -831,6 +831,18 @@ "category": "Error", "code": 1313 }, + "Global module exports may only appear in module files.": { + "category": "Error", + "code": 1314 + }, + "Global module exports may only appear in declaration files.": { + "category": "Error", + "code": 1315 + }, + "Global module exports may only appear at top level.": { + "category": "Error", + "code": 1316 + }, "Duplicate identifier '{0}'.": { "category": "Error", "code": 2300 diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 5487d1a47c3..4489185d0ea 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -301,6 +301,9 @@ namespace ts { case SyntaxKind.ImportClause: return visitNode(cbNode, (node).name) || visitNode(cbNode, (node).namedBindings); + case SyntaxKind.GlobalModuleExportDeclaration: + return visitNode(cbNode, (node).name); + case SyntaxKind.NamespaceImport: return visitNode(cbNode, (node).name); case SyntaxKind.NamedImports: @@ -1125,7 +1128,7 @@ namespace ts { if (token === SyntaxKind.DefaultKeyword) { return lookAhead(nextTokenIsClassOrFunction); } - return token !== SyntaxKind.AsteriskToken && token !== SyntaxKind.OpenBraceToken && canFollowModifier(); + return token !== SyntaxKind.AsteriskToken && token !== SyntaxKind.AsKeyword && token !== SyntaxKind.OpenBraceToken && canFollowModifier(); } if (token === SyntaxKind.DefaultKeyword) { return nextTokenIsClassOrFunction(); @@ -4400,7 +4403,8 @@ namespace ts { continue; case SyntaxKind.GlobalKeyword: - return nextToken() === SyntaxKind.OpenBraceToken; + nextToken(); + return token === SyntaxKind.OpenBraceToken || token === SyntaxKind.Identifier || token === SyntaxKind.ExportKeyword; case SyntaxKind.ImportKeyword: nextToken(); @@ -4409,7 +4413,8 @@ namespace ts { case SyntaxKind.ExportKeyword: nextToken(); if (token === SyntaxKind.EqualsToken || token === SyntaxKind.AsteriskToken || - token === SyntaxKind.OpenBraceToken || token === SyntaxKind.DefaultKeyword) { + token === SyntaxKind.OpenBraceToken || token === SyntaxKind.DefaultKeyword || + token === SyntaxKind.AsKeyword) { return true; } continue; @@ -4586,6 +4591,7 @@ namespace ts { case SyntaxKind.EnumKeyword: return parseEnumDeclaration(fullStart, decorators, modifiers); case SyntaxKind.GlobalKeyword: + return parseModuleDeclaration(fullStart, decorators, modifiers); case SyntaxKind.ModuleKeyword: case SyntaxKind.NamespaceKeyword: return parseModuleDeclaration(fullStart, decorators, modifiers); @@ -4593,9 +4599,15 @@ namespace ts { return parseImportDeclarationOrImportEqualsDeclaration(fullStart, decorators, modifiers); case SyntaxKind.ExportKeyword: nextToken(); - return token === SyntaxKind.DefaultKeyword || token === SyntaxKind.EqualsToken ? - parseExportAssignment(fullStart, decorators, modifiers) : - parseExportDeclaration(fullStart, decorators, modifiers); + switch (token) { + case SyntaxKind.DefaultKeyword: + case SyntaxKind.EqualsToken: + return parseExportAssignment(fullStart, decorators, modifiers); + case SyntaxKind.AsKeyword: + return parseGlobalModuleExportDeclaration(fullStart, decorators, modifiers); + default: + return parseExportDeclaration(fullStart, decorators, modifiers); + } default: if (decorators || modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration @@ -5264,6 +5276,20 @@ namespace ts { return nextToken() === SyntaxKind.SlashToken; } + function parseGlobalModuleExportDeclaration(fullStart: number, decorators: NodeArray, modifiers: ModifiersArray): GlobalModuleExportDeclaration { + const exportDeclaration = createNode(SyntaxKind.GlobalModuleExportDeclaration, fullStart); + exportDeclaration.decorators = decorators; + exportDeclaration.modifiers = modifiers; + parseExpected(SyntaxKind.AsKeyword); + parseExpected(SyntaxKind.NamespaceKeyword); + + exportDeclaration.name = parseIdentifier(); + + parseExpected(SyntaxKind.SemicolonToken); + + return finishNode(exportDeclaration); + } + function parseImportDeclarationOrImportEqualsDeclaration(fullStart: number, decorators: NodeArray, modifiers: ModifiersArray): ImportEqualsDeclaration | ImportDeclaration { parseExpected(SyntaxKind.ImportKeyword); const afterImportPos = scanner.getStartPos(); diff --git a/src/compiler/program.ts b/src/compiler/program.ts index b051c0f5bcc..e4b16fdf5f6 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1282,7 +1282,7 @@ namespace ts { } function processRootFile(fileName: string, isDefaultLib: boolean) { - processSourceFile(normalizePath(fileName), isDefaultLib); + processSourceFile(normalizePath(fileName), isDefaultLib, /*isReference*/ true); } function fileReferenceIsEqualTo(a: FileReference, b: FileReference): boolean { @@ -1376,7 +1376,10 @@ namespace ts { } } - function processSourceFile(fileName: string, isDefaultLib: boolean, refFile?: SourceFile, refPos?: number, refEnd?: number) { + /** + * 'isReference' indicates whether the file was brought in via a reference directive (rather than an import declaration) + */ + function processSourceFile(fileName: string, isDefaultLib: boolean, isReference: boolean, refFile?: SourceFile, refPos?: number, refEnd?: number) { let diagnosticArgument: string[]; let diagnostic: DiagnosticMessage; if (hasExtension(fileName)) { @@ -1384,7 +1387,7 @@ namespace ts { diagnostic = Diagnostics.File_0_has_unsupported_extension_The_only_supported_extensions_are_1; diagnosticArgument = [fileName, "'" + supportedExtensions.join("', '") + "'"]; } - else if (!findSourceFile(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd)) { + else if (!findSourceFile(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, isReference, refFile, refPos, refEnd)) { diagnostic = Diagnostics.File_0_not_found; diagnosticArgument = [fileName]; } @@ -1394,13 +1397,13 @@ namespace ts { } } else { - const nonTsFile: SourceFile = options.allowNonTsExtensions && findSourceFile(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd); + const nonTsFile: SourceFile = options.allowNonTsExtensions && findSourceFile(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, isReference, refFile, refPos, refEnd); if (!nonTsFile) { if (options.allowNonTsExtensions) { diagnostic = Diagnostics.File_0_not_found; diagnosticArgument = [fileName]; } - else if (!forEach(supportedExtensions, extension => findSourceFile(fileName + extension, toPath(fileName + extension, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd))) { + else if (!forEach(supportedExtensions, extension => findSourceFile(fileName + extension, toPath(fileName + extension, currentDirectory, getCanonicalFileName), isDefaultLib, isReference, refFile, refPos, refEnd))) { diagnostic = Diagnostics.File_0_not_found; fileName += ".ts"; diagnosticArgument = [fileName]; @@ -1429,7 +1432,7 @@ namespace ts { } // Get source file from normalized fileName - function findSourceFile(fileName: string, path: Path, isDefaultLib: boolean, refFile?: SourceFile, refPos?: number, refEnd?: number): SourceFile { + function findSourceFile(fileName: string, path: Path, isDefaultLib: boolean, isReference: boolean, refFile?: SourceFile, refPos?: number, refEnd?: number): SourceFile { if (filesByName.contains(path)) { const file = filesByName.get(path); // try to check if we've already seen this file but with a different casing in path @@ -1438,6 +1441,10 @@ namespace ts { reportFileNamesDifferOnlyInCasingError(fileName, file.fileName, refFile, refPos, refEnd); } + if (file) { + file.wasReferenced = file.wasReferenced || isReference; + } + return file; } @@ -1454,6 +1461,7 @@ namespace ts { filesByName.set(path, file); if (file) { + file.wasReferenced = file.wasReferenced || isReference; file.path = path; if (host.useCaseSensitiveFileNames()) { @@ -1491,7 +1499,7 @@ namespace ts { function processReferencedFiles(file: SourceFile, basePath: string) { forEach(file.referencedFiles, ref => { const referencedFileName = resolveTripleslashReference(ref.fileName, file.fileName); - processSourceFile(referencedFileName, /*isDefaultLib*/ false, file, ref.pos, ref.end); + processSourceFile(referencedFileName, /*isDefaultLib*/ false, /*isReference*/ true, file, ref.pos, ref.end); }); } @@ -1517,7 +1525,7 @@ namespace ts { i < file.imports.length; if (shouldAddFile) { - const importedFile = findSourceFile(resolution.resolvedFileName, toPath(resolution.resolvedFileName, currentDirectory, getCanonicalFileName), /*isDefaultLib*/ false, file, skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); + const importedFile = findSourceFile(resolution.resolvedFileName, toPath(resolution.resolvedFileName, currentDirectory, getCanonicalFileName), /*isDefaultLib*/ false, /*isReference*/ false, file, skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); if (importedFile && resolution.isExternalLibraryImport) { // Since currently irrespective of allowJs, we only look for supportedTypeScript extension external module files, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 10cae6e6ee3..9d461d8f9fa 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -274,6 +274,7 @@ namespace ts { ModuleDeclaration, ModuleBlock, CaseBlock, + GlobalModuleExportDeclaration, ImportEqualsDeclaration, ImportDeclaration, ImportClause, @@ -1324,6 +1325,12 @@ namespace ts { name: Identifier; } + // @kind(SyntaxKind.GlobalModuleImport) + export interface GlobalModuleExportDeclaration extends DeclarationStatement { + name: Identifier; + moduleReference: LiteralLikeNode; + } + // @kind(SyntaxKind.ExportDeclaration) export interface ExportDeclaration extends DeclarationStatement { exportClause?: NamedExports; @@ -1537,6 +1544,8 @@ namespace ts { /* @internal */ externalModuleIndicator: Node; // The first node that causes this file to be a CommonJS module /* @internal */ commonJsModuleIndicator: Node; + // True if the file was a root file in a compilation or a /// reference targets + /* @internal */ wasReferenced?: boolean; /* @internal */ identifiers: Map; /* @internal */ nodeCount: number; @@ -1995,6 +2004,7 @@ namespace ts { members?: SymbolTable; // Class, interface or literal instance members exports?: SymbolTable; // Module exports + globalExports?: SymbolTable; // Conditional global UMD exports /* @internal */ id?: number; // Unique id (used to look up SymbolLinks) /* @internal */ mergeId?: number; // Merge id (used to look up merged symbol) /* @internal */ parent?: Symbol; // Parent symbol diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 3916d0022c8..b70c770ef62 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1471,6 +1471,7 @@ namespace ts { // export default ... export function isAliasSymbolDeclaration(node: Node): boolean { return node.kind === SyntaxKind.ImportEqualsDeclaration || + node.kind === SyntaxKind.GlobalModuleExportDeclaration || node.kind === SyntaxKind.ImportClause && !!(node).name || node.kind === SyntaxKind.NamespaceImport || node.kind === SyntaxKind.ImportSpecifier || diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index 473840d69cc..3362cb1d375 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -88,7 +88,7 @@ class CompilerBaselineRunner extends RunnerBase { toBeCompiled = []; otherFiles = []; - if (/require\(/.test(lastUnit.content) || /reference\spath/.test(lastUnit.content)) { + if (testCaseContent.settings["noImplicitReferences"] || /require\(/.test(lastUnit.content) || /reference\spath/.test(lastUnit.content)) { toBeCompiled.push({ unitName: this.makeUnitName(lastUnit.name, rootDir), content: lastUnit.content }); units.forEach(unit => { if (unit.name !== lastUnit.name) { diff --git a/src/harness/harness.ts b/src/harness/harness.ts index df64cf61277..4020bcd821b 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -896,7 +896,8 @@ namespace Harness { { name: "fileName", type: "string" }, { name: "libFiles", type: "string" }, { name: "noErrorTruncation", type: "boolean" }, - { name: "suppressOutputPathCheck", type: "boolean" } + { name: "suppressOutputPathCheck", type: "boolean" }, + { name: "noImplicitReferences", type: "boolean" } ]; let optionsIndex: ts.Map; diff --git a/tests/baselines/reference/umd-errors.errors.txt b/tests/baselines/reference/umd-errors.errors.txt new file mode 100644 index 00000000000..e2af49f5d53 --- /dev/null +++ b/tests/baselines/reference/umd-errors.errors.txt @@ -0,0 +1,60 @@ +tests/cases/conformance/externalModules/err1.d.ts(3,1): error TS1314: Global module exports may only appear in module files. +tests/cases/conformance/externalModules/err2.d.ts(3,2): error TS1314: Global module exports may only appear in module files. +tests/cases/conformance/externalModules/err2.d.ts(3,2): error TS1316: Global module exports may only appear at top level. +tests/cases/conformance/externalModules/err3.d.ts(3,1): error TS1184: Modifiers cannot appear here. +tests/cases/conformance/externalModules/err3.d.ts(4,1): error TS1184: Modifiers cannot appear here. +tests/cases/conformance/externalModules/err3.d.ts(5,1): error TS1184: Modifiers cannot appear here. +tests/cases/conformance/externalModules/err3.d.ts(6,7): error TS1134: Variable declaration expected. +tests/cases/conformance/externalModules/err4.d.ts(3,2): error TS1316: Global module exports may only appear at top level. +tests/cases/conformance/externalModules/err5.ts(3,1): error TS1315: Global module exports may only appear in declaration files. + + +==== tests/cases/conformance/externalModules/err1.d.ts (1 errors) ==== + + // Illegal, can't be in script file + export as namespace Foo; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1314: Global module exports may only appear in module files. + +==== tests/cases/conformance/externalModules/err2.d.ts (2 errors) ==== + // Illegal, can't be in external ambient module + declare module "Foo" { + export as namespace Bar; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1314: Global module exports may only appear in module files. + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1316: Global module exports may only appear at top level. + } + +==== tests/cases/conformance/externalModules/err3.d.ts (4 errors) ==== + // Illegal, can't have modifiers + export var p; + static export as namespace oo1; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + declare export as namespace oo2; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + public export as namespace oo3; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + const export as namespace oo4; + ~~~~~~ +!!! error TS1134: Variable declaration expected. + +==== tests/cases/conformance/externalModules/err4.d.ts (1 errors) ==== + // Illegal, must be at top-level + export namespace B { + export as namespace C1; + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1316: Global module exports may only appear at top level. + } + +==== tests/cases/conformance/externalModules/err5.ts (1 errors) ==== + // Illegal, may not appear in implementation files + export var v; + export as namespace C2; + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1315: Global module exports may only appear in declaration files. + + \ No newline at end of file diff --git a/tests/baselines/reference/umd-errors.js b/tests/baselines/reference/umd-errors.js new file mode 100644 index 00000000000..7423c81f9ed --- /dev/null +++ b/tests/baselines/reference/umd-errors.js @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/externalModules/umd-errors.ts] //// + +//// [err1.d.ts] + +// Illegal, can't be in script file +export as namespace Foo; + +//// [err2.d.ts] +// Illegal, can't be in external ambient module +declare module "Foo" { + export as namespace Bar; +} + +//// [err3.d.ts] +// Illegal, can't have modifiers +export var p; +static export as namespace oo1; +declare export as namespace oo2; +public export as namespace oo3; +const export as namespace oo4; + +//// [err4.d.ts] +// Illegal, must be at top-level +export namespace B { + export as namespace C1; +} + +//// [err5.ts] +// Illegal, may not appear in implementation files +export var v; +export as namespace C2; + + + +//// [err5.js] +"use strict"; diff --git a/tests/baselines/reference/umd-errors.symbols b/tests/baselines/reference/umd-errors.symbols new file mode 100644 index 00000000000..043e92ad9db --- /dev/null +++ b/tests/baselines/reference/umd-errors.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/externalModules/err5.d.ts === +// Illegal, may not appear in implementation files +export var v; +>v : Symbol(v, Decl(err5.d.ts, 1, 10)) + +export as namespace C; + + diff --git a/tests/baselines/reference/umd-errors.types b/tests/baselines/reference/umd-errors.types new file mode 100644 index 00000000000..9138dd49a44 --- /dev/null +++ b/tests/baselines/reference/umd-errors.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/externalModules/err5.d.ts === +// Illegal, may not appear in implementation files +export var v; +>v : any + +export as namespace C; +>C : any + + diff --git a/tests/baselines/reference/umd1.js b/tests/baselines/reference/umd1.js new file mode 100644 index 00000000000..9b059da4887 --- /dev/null +++ b/tests/baselines/reference/umd1.js @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/externalModules/umd1.ts] //// + +//// [foo.d.ts] + +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +//// [a.ts] +/// +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; + + +//// [a.js] +/// +exports.Foo.fn(); +var x; +var y = x.n; diff --git a/tests/baselines/reference/umd1.symbols b/tests/baselines/reference/umd1.symbols new file mode 100644 index 00000000000..cccc777e3e3 --- /dev/null +++ b/tests/baselines/reference/umd1.symbols @@ -0,0 +1,33 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +Foo.fn(); +>Foo.fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 21)) +>Foo : Symbol(Foo, Decl(foo.d.ts, 3, 38)) +>fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 21)) + +let x: Foo.Thing; +>x : Symbol(x, Decl(a.ts, 2, 3)) +>Foo : Symbol(Foo, Decl(foo.d.ts, 3, 38)) +>Thing : Symbol(Foo.Thing, Decl(foo.d.ts, 2, 27)) + +let y: number = x.n; +>y : Symbol(y, Decl(a.ts, 3, 3)) +>x.n : Symbol(Foo.Thing.n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(a.ts, 2, 3)) +>n : Symbol(Foo.Thing.n, Decl(foo.d.ts, 3, 24)) + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export function fn(): void; +>fn : Symbol(fn, Decl(foo.d.ts, 1, 21)) + +export interface Thing { n: typeof x } +>Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) +>n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd1.types b/tests/baselines/reference/umd1.types new file mode 100644 index 00000000000..1767f3b5a89 --- /dev/null +++ b/tests/baselines/reference/umd1.types @@ -0,0 +1,35 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +Foo.fn(); +>Foo.fn() : void +>Foo.fn : () => void +>Foo : typeof Foo +>fn : () => void + +let x: Foo.Thing; +>x : Foo.Thing +>Foo : any +>Thing : Foo.Thing + +let y: number = x.n; +>y : number +>x.n : number +>x : Foo.Thing +>n : number + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : number + +export function fn(): void; +>fn : () => void + +export interface Thing { n: typeof x } +>Thing : Thing +>n : number +>x : number + +export as namespace Foo; +>Foo : any + diff --git a/tests/baselines/reference/umd2.errors.txt b/tests/baselines/reference/umd2.errors.txt new file mode 100644 index 00000000000..76a4d33f65a --- /dev/null +++ b/tests/baselines/reference/umd2.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/externalModules/a.ts(1,1): error TS2304: Cannot find name 'Foo'. +tests/cases/conformance/externalModules/a.ts(2,8): error TS2503: Cannot find namespace 'Foo'. + + +==== tests/cases/conformance/externalModules/a.ts (2 errors) ==== + Foo.fn(); + ~~~ +!!! error TS2304: Cannot find name 'Foo'. + let x: Foo.Thing; + ~~~ +!!! error TS2503: Cannot find namespace 'Foo'. + let y: number = x.n; + +==== tests/cases/conformance/externalModules/foo.d.ts (0 errors) ==== + + export var x: number; + export function fn(): void; + export as namespace Foo; + \ No newline at end of file diff --git a/tests/baselines/reference/umd2.js b/tests/baselines/reference/umd2.js new file mode 100644 index 00000000000..2737856dcfd --- /dev/null +++ b/tests/baselines/reference/umd2.js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/externalModules/umd2.ts] //// + +//// [foo.d.ts] + +export var x: number; +export function fn(): void; +export as namespace Foo; + +//// [a.ts] +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; + + +//// [a.js] +Foo.fn(); +var x; +var y = x.n; diff --git a/tests/baselines/reference/umd3.js b/tests/baselines/reference/umd3.js new file mode 100644 index 00000000000..5e869148beb --- /dev/null +++ b/tests/baselines/reference/umd3.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/externalModules/umd3.ts] //// + +//// [foo.d.ts] + +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +//// [a.ts] +import * as Foo from './foo'; +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; + + +//// [a.js] +"use strict"; +var Foo = require('./foo'); +Foo.fn(); +var x; +var y = x.n; diff --git a/tests/baselines/reference/umd3.symbols b/tests/baselines/reference/umd3.symbols new file mode 100644 index 00000000000..82db9e0b29a --- /dev/null +++ b/tests/baselines/reference/umd3.symbols @@ -0,0 +1,35 @@ +=== tests/cases/conformance/externalModules/a.ts === +import * as Foo from './foo'; +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) + +Foo.fn(); +>Foo.fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 21)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) +>fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 21)) + +let x: Foo.Thing; +>x : Symbol(x, Decl(a.ts, 2, 3)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) +>Thing : Symbol(Foo.Thing, Decl(foo.d.ts, 2, 27)) + +let y: number = x.n; +>y : Symbol(y, Decl(a.ts, 3, 3)) +>x.n : Symbol(Foo.Thing.n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(a.ts, 2, 3)) +>n : Symbol(Foo.Thing.n, Decl(foo.d.ts, 3, 24)) + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export function fn(): void; +>fn : Symbol(fn, Decl(foo.d.ts, 1, 21)) + +export interface Thing { n: typeof x } +>Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) +>n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd3.types b/tests/baselines/reference/umd3.types new file mode 100644 index 00000000000..85ee6bafe5e --- /dev/null +++ b/tests/baselines/reference/umd3.types @@ -0,0 +1,37 @@ +=== tests/cases/conformance/externalModules/a.ts === +import * as Foo from './foo'; +>Foo : typeof Foo + +Foo.fn(); +>Foo.fn() : void +>Foo.fn : () => void +>Foo : typeof Foo +>fn : () => void + +let x: Foo.Thing; +>x : Foo.Thing +>Foo : any +>Thing : Foo.Thing + +let y: number = x.n; +>y : number +>x.n : number +>x : Foo.Thing +>n : number + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : number + +export function fn(): void; +>fn : () => void + +export interface Thing { n: typeof x } +>Thing : Thing +>n : number +>x : number + +export as namespace Foo; +>Foo : any + diff --git a/tests/baselines/reference/umd4.js b/tests/baselines/reference/umd4.js new file mode 100644 index 00000000000..b7a7d1da0e2 --- /dev/null +++ b/tests/baselines/reference/umd4.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/externalModules/umd4.ts] //// + +//// [foo.d.ts] + +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +//// [a.ts] +import * as Bar from './foo'; +Bar.fn(); +let x: Bar.Thing; +let y: number = x.n; + + +//// [a.js] +"use strict"; +var Bar = require('./foo'); +Bar.fn(); +var x; +var y = x.n; diff --git a/tests/baselines/reference/umd4.symbols b/tests/baselines/reference/umd4.symbols new file mode 100644 index 00000000000..8ad987a1272 --- /dev/null +++ b/tests/baselines/reference/umd4.symbols @@ -0,0 +1,35 @@ +=== tests/cases/conformance/externalModules/a.ts === +import * as Bar from './foo'; +>Bar : Symbol(Bar, Decl(a.ts, 0, 6)) + +Bar.fn(); +>Bar.fn : Symbol(Bar.fn, Decl(foo.d.ts, 1, 21)) +>Bar : Symbol(Bar, Decl(a.ts, 0, 6)) +>fn : Symbol(Bar.fn, Decl(foo.d.ts, 1, 21)) + +let x: Bar.Thing; +>x : Symbol(x, Decl(a.ts, 2, 3)) +>Bar : Symbol(Bar, Decl(a.ts, 0, 6)) +>Thing : Symbol(Bar.Thing, Decl(foo.d.ts, 2, 27)) + +let y: number = x.n; +>y : Symbol(y, Decl(a.ts, 3, 3)) +>x.n : Symbol(Bar.Thing.n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(a.ts, 2, 3)) +>n : Symbol(Bar.Thing.n, Decl(foo.d.ts, 3, 24)) + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export function fn(): void; +>fn : Symbol(fn, Decl(foo.d.ts, 1, 21)) + +export interface Thing { n: typeof x } +>Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) +>n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>x : Symbol(x, Decl(foo.d.ts, 1, 10)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd4.types b/tests/baselines/reference/umd4.types new file mode 100644 index 00000000000..579599f5661 --- /dev/null +++ b/tests/baselines/reference/umd4.types @@ -0,0 +1,37 @@ +=== tests/cases/conformance/externalModules/a.ts === +import * as Bar from './foo'; +>Bar : typeof Bar + +Bar.fn(); +>Bar.fn() : void +>Bar.fn : () => void +>Bar : typeof Bar +>fn : () => void + +let x: Bar.Thing; +>x : Bar.Thing +>Bar : any +>Thing : Bar.Thing + +let y: number = x.n; +>y : number +>x.n : number +>x : Bar.Thing +>n : number + +=== tests/cases/conformance/externalModules/foo.d.ts === + +export var x: number; +>x : number + +export function fn(): void; +>fn : () => void + +export interface Thing { n: typeof x } +>Thing : Thing +>n : number +>x : number + +export as namespace Foo; +>Foo : any + diff --git a/tests/baselines/reference/umd5.errors.txt b/tests/baselines/reference/umd5.errors.txt new file mode 100644 index 00000000000..19529ce195a --- /dev/null +++ b/tests/baselines/reference/umd5.errors.txt @@ -0,0 +1,20 @@ +tests/cases/conformance/externalModules/a.ts(6,9): error TS2304: Cannot find name 'Foo'. + + +==== tests/cases/conformance/externalModules/a.ts (1 errors) ==== + import * as Bar from './foo'; + Bar.fn(); + let x: Bar.Thing; + let y: number = x.n; + // should error + let z = Foo; + ~~~ +!!! error TS2304: Cannot find name 'Foo'. + +==== tests/cases/conformance/externalModules/foo.d.ts (0 errors) ==== + + export var x: number; + export function fn(): void; + export interface Thing { n: typeof x } + export as namespace Foo; + \ No newline at end of file diff --git a/tests/baselines/reference/umd5.js b/tests/baselines/reference/umd5.js new file mode 100644 index 00000000000..d054daf93fd --- /dev/null +++ b/tests/baselines/reference/umd5.js @@ -0,0 +1,26 @@ +//// [tests/cases/conformance/externalModules/umd5.ts] //// + +//// [foo.d.ts] + +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +//// [a.ts] +import * as Bar from './foo'; +Bar.fn(); +let x: Bar.Thing; +let y: number = x.n; +// should error +let z = Foo; + + +//// [a.js] +"use strict"; +var Bar = require('./foo'); +Bar.fn(); +var x; +var y = x.n; +// should error +var z = Foo; diff --git a/tests/cases/conformance/externalModules/umd-errors.ts b/tests/cases/conformance/externalModules/umd-errors.ts new file mode 100644 index 00000000000..95e6cb7c7a4 --- /dev/null +++ b/tests/cases/conformance/externalModules/umd-errors.ts @@ -0,0 +1,31 @@ +// @module: commonjs + +// @filename: err1.d.ts +// Illegal, can't be in script file +export as namespace Foo; + +// @filename: err2.d.ts +// Illegal, can't be in external ambient module +declare module "Foo" { + export as namespace Bar; +} + +// @filename: err3.d.ts +// Illegal, can't have modifiers +export var p; +static export as namespace oo1; +declare export as namespace oo2; +public export as namespace oo3; +const export as namespace oo4; + +// @filename: err4.d.ts +// Illegal, must be at top-level +export namespace B { + export as namespace C1; +} + +// @filename: err5.ts +// Illegal, may not appear in implementation files +export var v; +export as namespace C2; + diff --git a/tests/cases/conformance/externalModules/umd1.ts b/tests/cases/conformance/externalModules/umd1.ts new file mode 100644 index 00000000000..5ceb7fa59ba --- /dev/null +++ b/tests/cases/conformance/externalModules/umd1.ts @@ -0,0 +1,14 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +// @filename: a.ts +/// +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; diff --git a/tests/cases/conformance/externalModules/umd2.ts b/tests/cases/conformance/externalModules/umd2.ts new file mode 100644 index 00000000000..2fb98491ebf --- /dev/null +++ b/tests/cases/conformance/externalModules/umd2.ts @@ -0,0 +1,12 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +export var x: number; +export function fn(): void; +export as namespace Foo; + +// @filename: a.ts +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; diff --git a/tests/cases/conformance/externalModules/umd3.ts b/tests/cases/conformance/externalModules/umd3.ts new file mode 100644 index 00000000000..dad0dfc644d --- /dev/null +++ b/tests/cases/conformance/externalModules/umd3.ts @@ -0,0 +1,14 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +// @filename: a.ts +import * as Foo from './foo'; +Foo.fn(); +let x: Foo.Thing; +let y: number = x.n; diff --git a/tests/cases/conformance/externalModules/umd4.ts b/tests/cases/conformance/externalModules/umd4.ts new file mode 100644 index 00000000000..e927d21f1cc --- /dev/null +++ b/tests/cases/conformance/externalModules/umd4.ts @@ -0,0 +1,14 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +// @filename: a.ts +import * as Bar from './foo'; +Bar.fn(); +let x: Bar.Thing; +let y: number = x.n; diff --git a/tests/cases/conformance/externalModules/umd5.ts b/tests/cases/conformance/externalModules/umd5.ts new file mode 100644 index 00000000000..b6d949c2d0a --- /dev/null +++ b/tests/cases/conformance/externalModules/umd5.ts @@ -0,0 +1,16 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +export var x: number; +export function fn(): void; +export interface Thing { n: typeof x } +export as namespace Foo; + +// @filename: a.ts +import * as Bar from './foo'; +Bar.fn(); +let x: Bar.Thing; +let y: number = x.n; +// should error +let z = Foo; From e9f4bef3ac36fc032a365ad481439eb907edf377 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 2 Mar 2016 10:53:41 -0800 Subject: [PATCH 177/342] Address CR feedback --- src/compiler/parser.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 4489185d0ea..4f8d2469110 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4591,7 +4591,6 @@ namespace ts { case SyntaxKind.EnumKeyword: return parseEnumDeclaration(fullStart, decorators, modifiers); case SyntaxKind.GlobalKeyword: - return parseModuleDeclaration(fullStart, decorators, modifiers); case SyntaxKind.ModuleKeyword: case SyntaxKind.NamespaceKeyword: return parseModuleDeclaration(fullStart, decorators, modifiers); From 887adb0146bed4505af1719c525a37f136192b54 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 3 Mar 2016 13:12:26 -0800 Subject: [PATCH 178/342] Move checks from checker to binder --- src/compiler/binder.ts | 22 +++++++++++++++++-- src/compiler/checker.ts | 20 ----------------- .../baselines/reference/umd-errors.errors.txt | 5 +---- tests/baselines/reference/umd-errors.symbols | 8 ------- tests/baselines/reference/umd-errors.types | 9 -------- 5 files changed, 21 insertions(+), 43 deletions(-) delete mode 100644 tests/baselines/reference/umd-errors.symbols delete mode 100644 tests/baselines/reference/umd-errors.types diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 0a2cb25bd3f..7777b30bdd1 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1407,10 +1407,28 @@ namespace ts { } function bindGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration) { - if (!file.externalModuleIndicator) { - file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_module_files)); + if (node.modifiers && node.modifiers.length) { + file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Modifiers_cannot_appear_here)); + } + + if (node.parent.kind !== SyntaxKind.SourceFile) { + file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } + else { + const parent = node.parent as SourceFile; + + if (!isExternalModule(node.parent)) { + file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_module_files)); + return; + } + + if (!parent.isDeclarationFile) { + file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_declaration_files)); + return; + } + } + file.symbol.globalExports = file.symbol.globalExports || {}; declareSymbol(file.symbol.globalExports, file.symbol, node, SymbolFlags.Alias, SymbolFlags.AliasExcludes); } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index fde042eaaba..746b3236cf3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15226,24 +15226,6 @@ namespace ts { } } - function checkGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration) { - if (node.modifiers && node.modifiers.length) { - error(node, Diagnostics.Modifiers_cannot_appear_here); - } - - if (node.parent.kind !== SyntaxKind.SourceFile) { - error(node, Diagnostics.Global_module_exports_may_only_appear_at_top_level); - } - else { - const parent = node.parent as SourceFile; - // Note: the binder handles the case where the declaration isn't in an external module - if (parent.externalModuleIndicator && !parent.isDeclarationFile) { - error(node, Diagnostics.Global_module_exports_may_only_appear_in_declaration_files); - } - } - - } - function checkSourceElement(node: Node): void { if (!node) { return; @@ -15360,8 +15342,6 @@ namespace ts { return checkExportDeclaration(node); case SyntaxKind.ExportAssignment: return checkExportAssignment(node); - case SyntaxKind.GlobalModuleExportDeclaration: - return checkGlobalModuleExportDeclaration(node); case SyntaxKind.EmptyStatement: checkGrammarStatementInAmbientContext(node); return; diff --git a/tests/baselines/reference/umd-errors.errors.txt b/tests/baselines/reference/umd-errors.errors.txt index e2af49f5d53..a9575665277 100644 --- a/tests/baselines/reference/umd-errors.errors.txt +++ b/tests/baselines/reference/umd-errors.errors.txt @@ -1,5 +1,4 @@ tests/cases/conformance/externalModules/err1.d.ts(3,1): error TS1314: Global module exports may only appear in module files. -tests/cases/conformance/externalModules/err2.d.ts(3,2): error TS1314: Global module exports may only appear in module files. tests/cases/conformance/externalModules/err2.d.ts(3,2): error TS1316: Global module exports may only appear at top level. tests/cases/conformance/externalModules/err3.d.ts(3,1): error TS1184: Modifiers cannot appear here. tests/cases/conformance/externalModules/err3.d.ts(4,1): error TS1184: Modifiers cannot appear here. @@ -16,13 +15,11 @@ tests/cases/conformance/externalModules/err5.ts(3,1): error TS1315: Global modul ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1314: Global module exports may only appear in module files. -==== tests/cases/conformance/externalModules/err2.d.ts (2 errors) ==== +==== tests/cases/conformance/externalModules/err2.d.ts (1 errors) ==== // Illegal, can't be in external ambient module declare module "Foo" { export as namespace Bar; ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1314: Global module exports may only appear in module files. - ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1316: Global module exports may only appear at top level. } diff --git a/tests/baselines/reference/umd-errors.symbols b/tests/baselines/reference/umd-errors.symbols deleted file mode 100644 index 043e92ad9db..00000000000 --- a/tests/baselines/reference/umd-errors.symbols +++ /dev/null @@ -1,8 +0,0 @@ -=== tests/cases/conformance/externalModules/err5.d.ts === -// Illegal, may not appear in implementation files -export var v; ->v : Symbol(v, Decl(err5.d.ts, 1, 10)) - -export as namespace C; - - diff --git a/tests/baselines/reference/umd-errors.types b/tests/baselines/reference/umd-errors.types deleted file mode 100644 index 9138dd49a44..00000000000 --- a/tests/baselines/reference/umd-errors.types +++ /dev/null @@ -1,9 +0,0 @@ -=== tests/cases/conformance/externalModules/err5.d.ts === -// Illegal, may not appear in implementation files -export var v; ->v : any - -export as namespace C; ->C : any - - From 34cf10542c996eab58ac8769286b7eb90373dd02 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 3 Mar 2016 14:58:17 -0800 Subject: [PATCH 179/342] Lint --- src/compiler/binder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 7777b30bdd1..2cc48c02947 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1417,7 +1417,7 @@ namespace ts { } else { const parent = node.parent as SourceFile; - + if (!isExternalModule(node.parent)) { file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_module_files)); return; From 132d75c26721f7b11d137c2a3c3139faaa09d94f Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Mon, 7 Mar 2016 12:30:57 -0800 Subject: [PATCH 180/342] Support UMD when targeted module uses `export = ` --- src/compiler/checker.ts | 8 ++++++- tests/baselines/reference/umd6.js | 18 +++++++++++++++ tests/baselines/reference/umd6.symbols | 19 +++++++++++++++ tests/baselines/reference/umd6.types | 23 +++++++++++++++++++ .../cases/conformance/externalModules/umd6.ts | 13 +++++++++++ 5 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/umd6.js create mode 100644 tests/baselines/reference/umd6.symbols create mode 100644 tests/baselines/reference/umd6.types create mode 100644 tests/cases/conformance/externalModules/umd6.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 746b3236cf3..6bf47ba4b98 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -982,7 +982,13 @@ namespace ts { } function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol { - return node.parent.symbol; + const moduleSymbol = node.parent.symbol; + if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { + return moduleSymbol.exports["export="].exportSymbol; + } + else { + return moduleSymbol; + } } function getTargetOfExportSpecifier(node: ExportSpecifier): Symbol { diff --git a/tests/baselines/reference/umd6.js b/tests/baselines/reference/umd6.js new file mode 100644 index 00000000000..d4d84fd0384 --- /dev/null +++ b/tests/baselines/reference/umd6.js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/externalModules/umd6.ts] //// + +//// [foo.d.ts] + +declare namespace Thing { + export function fn(): number; +} +export = Thing; +export as namespace Foo; + +//// [a.ts] +/// +let y: number = Foo.fn(); + + +//// [a.js] +/// +var y = exports.Foo.fn(); diff --git a/tests/baselines/reference/umd6.symbols b/tests/baselines/reference/umd6.symbols new file mode 100644 index 00000000000..3b417e005d6 --- /dev/null +++ b/tests/baselines/reference/umd6.symbols @@ -0,0 +1,19 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: number = Foo.fn(); +>y : Symbol(y, Decl(a.ts, 1, 3)) +>Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare namespace Thing { +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + + export function fn(): number; +>fn : Symbol(fn, Decl(foo.d.ts, 1, 25)) +} +export = Thing; +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types new file mode 100644 index 00000000000..dc0f45846c2 --- /dev/null +++ b/tests/baselines/reference/umd6.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: number = Foo.fn(); +>y : number +>Foo.fn() : any +>Foo.fn : any +>Foo : any +>fn : any + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare namespace Thing { +>Thing : typeof Thing + + export function fn(): number; +>fn : () => number +} +export = Thing; +>Thing : typeof Thing + +export as namespace Foo; +>Foo : any + diff --git a/tests/cases/conformance/externalModules/umd6.ts b/tests/cases/conformance/externalModules/umd6.ts new file mode 100644 index 00000000000..2f9e49072cf --- /dev/null +++ b/tests/cases/conformance/externalModules/umd6.ts @@ -0,0 +1,13 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +declare namespace Thing { + export function fn(): number; +} +export = Thing; +export as namespace Foo; + +// @filename: a.ts +/// +let y: number = Foo.fn(); From 3d948be4c603dd87749f4dd4dc722a3c286bf44f Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 8 Mar 2016 13:41:50 -0800 Subject: [PATCH 181/342] Support module augmentation --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6bf47ba4b98..e1173a55aaa 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -984,10 +984,10 @@ namespace ts { function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol { const moduleSymbol = node.parent.symbol; if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { - return moduleSymbol.exports["export="].exportSymbol; + return getMergedSymbol(moduleSymbol.exports["export="].exportSymbol); } else { - return moduleSymbol; + return getMergedSymbol(moduleSymbol); } } From 2875326735c810a3e8b43c9c52e3bcb603d33efc Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 8 Mar 2016 14:56:40 -0800 Subject: [PATCH 182/342] Use existing function to resolve export= declarations --- src/compiler/checker.ts | 8 +------- tests/baselines/reference/umd6.symbols | 2 ++ tests/baselines/reference/umd6.types | 8 ++++---- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e1173a55aaa..9ba35313e48 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -982,13 +982,7 @@ namespace ts { } function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol { - const moduleSymbol = node.parent.symbol; - if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { - return getMergedSymbol(moduleSymbol.exports["export="].exportSymbol); - } - else { - return getMergedSymbol(moduleSymbol); - } + return resolveExternalModuleSymbol(node.parent.symbol); } function getTargetOfExportSpecifier(node: ExportSpecifier): Symbol { diff --git a/tests/baselines/reference/umd6.symbols b/tests/baselines/reference/umd6.symbols index 3b417e005d6..d08507f1ea2 100644 --- a/tests/baselines/reference/umd6.symbols +++ b/tests/baselines/reference/umd6.symbols @@ -2,7 +2,9 @@ /// let y: number = Foo.fn(); >y : Symbol(y, Decl(a.ts, 1, 3)) +>Foo.fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25)) >Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) +>fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25)) === tests/cases/conformance/externalModules/foo.d.ts === diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types index dc0f45846c2..7318a43057a 100644 --- a/tests/baselines/reference/umd6.types +++ b/tests/baselines/reference/umd6.types @@ -2,10 +2,10 @@ /// let y: number = Foo.fn(); >y : number ->Foo.fn() : any ->Foo.fn : any ->Foo : any ->fn : any +>Foo.fn() : number +>Foo.fn : () => number +>Foo : typeof Foo +>fn : () => number === tests/cases/conformance/externalModules/foo.d.ts === From 1d181360cc7bffe47d0bede97ee5ea28f5531d3f Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 9 Mar 2016 11:03:40 -0800 Subject: [PATCH 183/342] Adding tests --- .../reference/bluebirdStaticThis.errors.txt | 164 ++++ .../baselines/reference/bluebirdStaticThis.js | 157 ++++ ...nonymousTypeNotReferencingTypeParameter.js | 290 +++++++ ...ousTypeNotReferencingTypeParameter.symbols | 664 +++++++++++++++ ...ymousTypeNotReferencingTypeParameter.types | 784 ++++++++++++++++++ tests/cases/compiler/bluebirdStaticThis.ts | 141 ++++ ...nonymousTypeNotReferencingTypeParameter.ts | 138 +++ 7 files changed, 2338 insertions(+) create mode 100644 tests/baselines/reference/bluebirdStaticThis.errors.txt create mode 100644 tests/baselines/reference/bluebirdStaticThis.js create mode 100644 tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js create mode 100644 tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols create mode 100644 tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types create mode 100644 tests/cases/compiler/bluebirdStaticThis.ts create mode 100644 tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts diff --git a/tests/baselines/reference/bluebirdStaticThis.errors.txt b/tests/baselines/reference/bluebirdStaticThis.errors.txt new file mode 100644 index 00000000000..6e78a90db4b --- /dev/null +++ b/tests/baselines/reference/bluebirdStaticThis.errors.txt @@ -0,0 +1,164 @@ +tests/cases/compiler/bluebirdStaticThis.ts(5,15): error TS2420: Class 'Promise' incorrectly implements interface 'Thenable'. + Property 'then' is missing in type 'Promise'. +tests/cases/compiler/bluebirdStaticThis.ts(22,51): error TS2305: Module 'Promise' has no exported member 'Resolver'. +tests/cases/compiler/bluebirdStaticThis.ts(57,109): error TS2305: Module 'Promise' has no exported member 'Inspection'. +tests/cases/compiler/bluebirdStaticThis.ts(58,91): error TS2305: Module 'Promise' has no exported member 'Inspection'. +tests/cases/compiler/bluebirdStaticThis.ts(59,91): error TS2305: Module 'Promise' has no exported member 'Inspection'. +tests/cases/compiler/bluebirdStaticThis.ts(60,73): error TS2305: Module 'Promise' has no exported member 'Inspection'. + + +==== tests/cases/compiler/bluebirdStaticThis.ts (6 errors) ==== + // This version is reduced from the full d.ts by removing almost all the tests + // and all the comments. + // Then it adds explicit `this` arguments to the static members. + // Tests by: Bart van der Schoor + declare class Promise implements Promise.Thenable { + ~~~~~~~ +!!! error TS2420: Class 'Promise' incorrectly implements interface 'Thenable'. +!!! error TS2420: Property 'then' is missing in type 'Promise'. + constructor(callback: (resolve: (thenableOrResult: R | Promise.Thenable) => void, reject: (error: any) => void) => void); + static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static method(dit: typeof Promise, fn: Function): Function; + + static resolve(dit: typeof Promise): Promise; + static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; + static resolve(dit: typeof Promise, value: R): Promise; + + static reject(dit: typeof Promise, reason: any): Promise; + static reject(dit: typeof Promise, reason: any): Promise; + + static defer(dit: typeof Promise): Promise.Resolver; + ~~~~~~~~ +!!! error TS2305: Module 'Promise' has no exported member 'Resolver'. + + static cast(dit: typeof Promise, value: Promise.Thenable): Promise; + static cast(dit: typeof Promise, value: R): Promise; + + static bind(dit: typeof Promise, thisArg: any): Promise; + + static is(dit: typeof Promise, value: any): boolean; + + static longStackTraces(dit: typeof Promise): void; + + static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; + static delay(dit: typeof Promise, value: R, ms: number): Promise; + static delay(dit: typeof Promise, ms: number): Promise; + + static promisify(dit: typeof Promise, nodeFunction: Function, receiver?: any): Function; + + static promisifyAll(dit: typeof Promise, target: Object): Object; + + static coroutine(dit: typeof Promise, generatorFunction: Function): Function; + + static spawn(dit: typeof Promise, generatorFunction: Function): Promise; + + static noConflict(dit: typeof Promise): typeof Promise; + + static onPossiblyUnhandledRejection(dit: typeof Promise, handler: (reason: any) => any): void; + + static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static all(dit: typeof Promise, values: Promise.Thenable): Promise; + static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static all(dit: typeof Promise, values: R[]): Promise; + + static props(dit: typeof Promise, object: Promise): Promise; + static props(dit: typeof Promise, object: Object): Promise; + + static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; + ~~~~~~~~~~ +!!! error TS2305: Module 'Promise' has no exported member 'Inspection'. + static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; + ~~~~~~~~~~ +!!! error TS2305: Module 'Promise' has no exported member 'Inspection'. + static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; + ~~~~~~~~~~ +!!! error TS2305: Module 'Promise' has no exported member 'Inspection'. + static settle(dit: typeof Promise, values: R[]): Promise[]>; + ~~~~~~~~~~ +!!! error TS2305: Module 'Promise' has no exported member 'Inspection'. + + static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static any(dit: typeof Promise, values: Promise.Thenable): Promise; + static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static any(dit: typeof Promise, values: R[]): Promise; + + static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static race(dit: typeof Promise, values: Promise.Thenable): Promise; + static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static race(dit: typeof Promise, values: R[]): Promise; + + static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; + static some(dit: typeof Promise, values: R[], count: number): Promise; + + static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; + static join(dit: typeof Promise, ...values: R[]): Promise; + + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + } + + declare module Promise { + export interface Thenable { + then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; + then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; + } + + } + + declare module 'bluebird' { + export = Promise; + } + interface Foo { + a: number; + b: string; + } + var x: any; + var arr: any[]; + var foo: Foo; + var fooProm: Promise; + + fooProm = Promise.try(Promise, () => { + return foo; + }); + fooProm = Promise.try(Promise, () => { + return foo; + }, arr); + fooProm = Promise.try(Promise, () => { + return foo; + }, arr, x); \ No newline at end of file diff --git a/tests/baselines/reference/bluebirdStaticThis.js b/tests/baselines/reference/bluebirdStaticThis.js new file mode 100644 index 00000000000..301f32319a7 --- /dev/null +++ b/tests/baselines/reference/bluebirdStaticThis.js @@ -0,0 +1,157 @@ +//// [bluebirdStaticThis.ts] +// This version is reduced from the full d.ts by removing almost all the tests +// and all the comments. +// Then it adds explicit `this` arguments to the static members. +// Tests by: Bart van der Schoor +declare class Promise implements Promise.Thenable { + constructor(callback: (resolve: (thenableOrResult: R | Promise.Thenable) => void, reject: (error: any) => void) => void); + static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static method(dit: typeof Promise, fn: Function): Function; + + static resolve(dit: typeof Promise): Promise; + static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; + static resolve(dit: typeof Promise, value: R): Promise; + + static reject(dit: typeof Promise, reason: any): Promise; + static reject(dit: typeof Promise, reason: any): Promise; + + static defer(dit: typeof Promise): Promise.Resolver; + + static cast(dit: typeof Promise, value: Promise.Thenable): Promise; + static cast(dit: typeof Promise, value: R): Promise; + + static bind(dit: typeof Promise, thisArg: any): Promise; + + static is(dit: typeof Promise, value: any): boolean; + + static longStackTraces(dit: typeof Promise): void; + + static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; + static delay(dit: typeof Promise, value: R, ms: number): Promise; + static delay(dit: typeof Promise, ms: number): Promise; + + static promisify(dit: typeof Promise, nodeFunction: Function, receiver?: any): Function; + + static promisifyAll(dit: typeof Promise, target: Object): Object; + + static coroutine(dit: typeof Promise, generatorFunction: Function): Function; + + static spawn(dit: typeof Promise, generatorFunction: Function): Promise; + + static noConflict(dit: typeof Promise): typeof Promise; + + static onPossiblyUnhandledRejection(dit: typeof Promise, handler: (reason: any) => any): void; + + static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static all(dit: typeof Promise, values: Promise.Thenable): Promise; + static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static all(dit: typeof Promise, values: R[]): Promise; + + static props(dit: typeof Promise, object: Promise): Promise; + static props(dit: typeof Promise, object: Object): Promise; + + static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; + static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; + static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; + static settle(dit: typeof Promise, values: R[]): Promise[]>; + + static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static any(dit: typeof Promise, values: Promise.Thenable): Promise; + static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static any(dit: typeof Promise, values: R[]): Promise; + + static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static race(dit: typeof Promise, values: Promise.Thenable): Promise; + static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static race(dit: typeof Promise, values: R[]): Promise; + + static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; + static some(dit: typeof Promise, values: R[], count: number): Promise; + + static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; + static join(dit: typeof Promise, ...values: R[]): Promise; + + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; +} + +declare module Promise { + export interface Thenable { + then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; + then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; + } + +} + +declare module 'bluebird' { + export = Promise; +} +interface Foo { + a: number; + b: string; +} +var x: any; +var arr: any[]; +var foo: Foo; +var fooProm: Promise; + +fooProm = Promise.try(Promise, () => { + return foo; +}); +fooProm = Promise.try(Promise, () => { + return foo; +}, arr); +fooProm = Promise.try(Promise, () => { + return foo; +}, arr, x); + +//// [bluebirdStaticThis.js] +var x; +var arr; +var foo; +var fooProm; +fooProm = Promise.try(Promise, function () { + return foo; +}); +fooProm = Promise.try(Promise, function () { + return foo; +}, arr); +fooProm = Promise.try(Promise, function () { + return foo; +}, arr, x); diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js new file mode 100644 index 00000000000..690f4dab2d1 --- /dev/null +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js @@ -0,0 +1,290 @@ +//// [staticAnonymousTypeNotReferencingTypeParameter.ts] +function outer(x: T) { + class Inner { + static y: T = x; + } + return Inner; +} +let y: number = outer(5).y; + +class ListWrapper2 { + static clone(dit: typeof ListWrapper2, array: T[]): T[] { return array.slice(0); } + static reversed(dit: typeof ListWrapper2, array: T[]): T[] { + var a = ListWrapper2.clone(dit, array); + return a; + } +} +namespace tessst { + /** + * Iterates through 'array' by index and performs the callback on each element of array until the callback + * returns a truthy value, then returns that value. + * If no such value is found, the callback is applied to each element of array and undefined is returned. + */ + export function funkyFor(array: T[], callback: (element: T, index: number) => U): U { + if (array) { + for (let i = 0, len = array.length; i < len; i++) { + const result = callback(array[i], i); + if (result) { + return result; + } + } + } + return undefined; + } +} +interface Scanner { + scanRange(start: number, length: number, callback: () => T): T; +} +class ListWrapper { + // JS has no way to express a statically fixed size list, but dart does so we + // keep both methods. + static createFixedSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } + static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } + static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } + static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { + for (var i = 0; i < array.length; i++) { + fn(array[i], i); + } + } + static first(dit: typeof ListWrapper, array: T[]): T { + if (!array) return null; + return array[0]; + } + static last(dit: typeof ListWrapper, array: T[]): T { + if (!array || array.length == 0) return null; + return array[array.length - 1]; + } + static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { + return array.indexOf(value, startIndex); + } + static contains(dit: typeof ListWrapper, list: T[], el: T): boolean { return list.indexOf(el) !== -1; } + static reversed(dit: typeof ListWrapper, array: T[]): T[] { + var a = ListWrapper.clone(dit, array); + let scanner: Scanner; + scanner.scanRange(3, 5, () => { }); + return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; + } + static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } + static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } + static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { + var res = list[index]; + list.splice(index, 1); + return res; + } + static removeAll(dit: typeof ListWrapper, list: T[], items: T[]) { + for (var i = 0; i < items.length; ++i) { + var index = list.indexOf(items[i]); + list.splice(index, 1); + } + } + static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { + var index = list.indexOf(el); + if (index > -1) { + list.splice(index, 1); + return true; + } + return false; + } + static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } + static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } + static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { + list.fill(value, start, end === null ? list.length : end); + } + static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { + if (a.length != b.length) return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) return false; + } + return true; + } + static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { + return l.slice(from, to === null ? undefined : to); + } + static splice(dit: typeof ListWrapper, l: T[], from: number, length: number): T[] { return l.splice(from, length); } + static sort(dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) { + if (isPresent(compareFn)) { + l.sort(compareFn); + } else { + l.sort(); + } + } + static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } + static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } + + static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { + if (list.length == 0) { + return null; + } + var solution: T = null; + var maxValue = -Infinity; + for (var index = 0; index < list.length; index++) { + var candidate = list[index]; + if (isBlank(candidate)) { + continue; + } + var candidateValue = predicate(candidate); + if (candidateValue > maxValue) { + solution = candidate; + maxValue = candidateValue; + } + } + return solution; + } +} +let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); +declare function isBlank(x: any): boolean; +declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; +interface Array { + fill(value: any, start: number, end: number): void; +} + +//// [staticAnonymousTypeNotReferencingTypeParameter.js] +function outer(x) { + var Inner = (function () { + function Inner() { + } + Inner.y = x; + return Inner; + }()); + return Inner; +} +var y = outer(5).y; +var ListWrapper2 = (function () { + function ListWrapper2() { + } + ListWrapper2.clone = function (dit, array) { return array.slice(0); }; + ListWrapper2.reversed = function (dit, array) { + var a = ListWrapper2.clone(dit, array); + return a; + }; + return ListWrapper2; +}()); +var tessst; +(function (tessst) { + /** + * Iterates through 'array' by index and performs the callback on each element of array until the callback + * returns a truthy value, then returns that value. + * If no such value is found, the callback is applied to each element of array and undefined is returned. + */ + function funkyFor(array, callback) { + if (array) { + for (var i = 0, len = array.length; i < len; i++) { + var result = callback(array[i], i); + if (result) { + return result; + } + } + } + return undefined; + } + tessst.funkyFor = funkyFor; +})(tessst || (tessst = {})); +var ListWrapper = (function () { + function ListWrapper() { + } + // JS has no way to express a statically fixed size list, but dart does so we + // keep both methods. + ListWrapper.createFixedSize = function (dit, size) { return new Array(size); }; + ListWrapper.createGrowableSize = function (dit, size) { return new Array(size); }; + ListWrapper.clone = function (dit, array) { return array.slice(0); }; + ListWrapper.forEachWithIndex = function (dit, array, fn) { + for (var i = 0; i < array.length; i++) { + fn(array[i], i); + } + }; + ListWrapper.first = function (dit, array) { + if (!array) + return null; + return array[0]; + }; + ListWrapper.last = function (dit, array) { + if (!array || array.length == 0) + return null; + return array[array.length - 1]; + }; + ListWrapper.indexOf = function (dit, array, value, startIndex) { + if (startIndex === void 0) { startIndex = 0; } + return array.indexOf(value, startIndex); + }; + ListWrapper.contains = function (dit, list, el) { return list.indexOf(el) !== -1; }; + ListWrapper.reversed = function (dit, array) { + var a = ListWrapper.clone(dit, array); + var scanner; + scanner.scanRange(3, 5, function () { }); + return tessst.funkyFor(array, function (t) { return t.toString(); }) ? a.reverse() : a; + }; + ListWrapper.concat = function (dit, a, b) { return a.concat(b); }; + ListWrapper.insert = function (dit, list, index, value) { list.splice(index, 0, value); }; + ListWrapper.removeAt = function (dit, list, index) { + var res = list[index]; + list.splice(index, 1); + return res; + }; + ListWrapper.removeAll = function (dit, list, items) { + for (var i = 0; i < items.length; ++i) { + var index = list.indexOf(items[i]); + list.splice(index, 1); + } + }; + ListWrapper.remove = function (dit, list, el) { + var index = list.indexOf(el); + if (index > -1) { + list.splice(index, 1); + return true; + } + return false; + }; + ListWrapper.clear = function (dit, list) { list.length = 0; }; + ListWrapper.isEmpty = function (dit, list) { return list.length == 0; }; + ListWrapper.fill = function (dit, list, value, start, end) { + if (start === void 0) { start = 0; } + if (end === void 0) { end = null; } + list.fill(value, start, end === null ? list.length : end); + }; + ListWrapper.equals = function (dit, a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; + }; + ListWrapper.slice = function (dit, l, from, to) { + if (from === void 0) { from = 0; } + if (to === void 0) { to = null; } + return l.slice(from, to === null ? undefined : to); + }; + ListWrapper.splice = function (dit, l, from, length) { return l.splice(from, length); }; + ListWrapper.sort = function (dit, l, compareFn) { + if (isPresent(compareFn)) { + l.sort(compareFn); + } + else { + l.sort(); + } + }; + ListWrapper.toString = function (dit, l) { return l.toString(); }; + ListWrapper.toJSON = function (dit, l) { return JSON.stringify(l); }; + ListWrapper.maximum = function (dit, list, predicate) { + if (list.length == 0) { + return null; + } + var solution = null; + var maxValue = -Infinity; + for (var index = 0; index < list.length; index++) { + var candidate = list[index]; + if (isBlank(candidate)) { + continue; + } + var candidateValue = predicate(candidate); + if (candidateValue > maxValue) { + solution = candidate; + maxValue = candidateValue; + } + } + return solution; + }; + return ListWrapper; +}()); +var cloned = ListWrapper.clone(ListWrapper, [1, 2, 3, 4]); diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols new file mode 100644 index 00000000000..34b2d0915ca --- /dev/null +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -0,0 +1,664 @@ +=== tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts === +function outer(x: T) { +>outer : Symbol(outer, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 0)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) + + class Inner { +>Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 25)) + + static y: T = x; +>y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 18)) + } + return Inner; +>Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 25)) +} +let y: number = outer(5).y; +>y : Symbol(y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 3)) +>outer(5).y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) +>outer : Symbol(outer, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 0)) +>y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) + +class ListWrapper2 { +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) + + static clone(dit: typeof ListWrapper2, array: T[]): T[] { return array.slice(0); } +>clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 18)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) +>array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 43)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) + + static reversed(dit: typeof ListWrapper2, array: T[]): T[] { +>reversed : Symbol(ListWrapper2.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 87)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 21)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 46)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) + + var a = ListWrapper2.clone(dit, array); +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 7)) +>ListWrapper2.clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) +>clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 21)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 46)) + + return a; +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 7)) + } +} +namespace tessst { +>tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 1)) + + /** + * Iterates through 'array' by index and performs the callback on each element of array until the callback + * returns a truthy value, then returns that value. + * If no such value is found, the callback is applied to each element of array and undefined is returned. + */ + export function funkyFor(array: T[], callback: (element: T, index: number) => U): U { +>funkyFor : Symbol(funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 46)) +>element : Symbol(element, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 58)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 69)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) + + if (array) { +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) + + for (let i = 0, len = array.length; i < len; i++) { +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) +>len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 27)) +>array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) +>len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 27)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) + + const result = callback(array[i], i); +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 46)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) + + if (result) { +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) + + return result; +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) + } + } + } + return undefined; +>undefined : Symbol(undefined) + } +} +interface Scanner { +>Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 32, 1)) + + scanRange(start: number, length: number, callback: () => T): T; +>scanRange : Symbol(scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 15)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 29)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) +} +class ListWrapper { +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) + + // JS has no way to express a statically fixed size list, but dart does so we + // keep both methods. + static createFixedSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } +>createFixedSize : Symbol(ListWrapper.createFixedSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 25)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 49)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 49)) + + static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } +>createGrowableSize : Symbol(ListWrapper.createGrowableSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 98)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 28)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 52)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 52)) + + static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) +>array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 42)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) + + static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { +>forEachWithIndex : Symbol(ListWrapper.forEachWithIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 86)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 29)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) +>fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 65)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 71)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) +>n : Symbol(n, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 76)) + + for (var i = 0; i < array.length; i++) { +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) + + fn(array[i], i); +>fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 65)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) + } + } + static first(dit: typeof ListWrapper, array: T[]): T { +>first : Symbol(ListWrapper.first, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) + + if (!array) return null; +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) + + return array[0]; +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) + } + static last(dit: typeof ListWrapper, array: T[]): T { +>last : Symbol(ListWrapper.last, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) + + if (!array || array.length == 0) return null; +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + + return array[array.length - 1]; +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + } + static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { +>indexOf : Symbol(ListWrapper.indexOf, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 20)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 44)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) +>startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 66)) + + return array.indexOf(value, startIndex); +>array.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 44)) +>indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 56)) +>startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 66)) + } + static contains(dit: typeof ListWrapper, list: T[], el: T): boolean { return list.indexOf(el) !== -1; } +>contains : Symbol(ListWrapper.contains, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 57, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 45)) +>indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) + + static reversed(dit: typeof ListWrapper, array: T[]): T[] { +>reversed : Symbol(ListWrapper.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 108)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) + + var a = ListWrapper.clone(dit, array); +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) +>ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 21)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) + + let scanner: Scanner; +>scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 7)) +>Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 32, 1)) + + scanner.scanRange(3, 5, () => { }); +>scanner.scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) +>scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 7)) +>scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) + + return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; +>tessst.funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) +>tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 1)) +>funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 33)) +>t.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 33)) +>toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>a.reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) +>reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) + } + static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } +>concat : Symbol(ListWrapper.concat, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 64, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 16)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 40)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 50)) +>a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 40)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 50)) + + static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } +>insert : Symbol(ListWrapper.insert, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 91)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 54)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 69)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) +>list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 43)) +>splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 54)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 69)) + + static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { +>removeAt : Symbol(ListWrapper.removeAt, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 113)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) + + var res = list[index]; +>res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 7)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) + + list.splice(index, 1); +>list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) +>splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) + + return res; +>res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 7)) + } + static removeAll(dit: typeof ListWrapper, list: T[], items: T[]) { +>removeAll : Symbol(ListWrapper.removeAll, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 71, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 22)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) + + for (var i = 0; i < items.length; ++i) { +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) +>items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) + + var index = list.indexOf(items[i]); +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 74, 9)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) +>indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) + + list.splice(index, 1); +>list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) +>splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 74, 9)) + } + } + static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { +>remove : Symbol(ListWrapper.remove, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 54)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) + + var index = list.indexOf(el); +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) +>indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 54)) + + if (index > -1) { +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) + + list.splice(index, 1); +>list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) +>splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) + + return true; + } + return false; + } + static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } +>clear : Symbol(ListWrapper.clear, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 85, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 15)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 39)) +>list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 39)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + + static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } +>isEmpty : Symbol(ListWrapper.isEmpty, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 73)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 41)) +>list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 41)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + + static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { +>fill : Symbol(ListWrapper.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 92)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 14)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 51)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 63)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) + + list.fill(value, start, end === null ? list.length : end); +>list.fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) +>fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 51)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 63)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) +>list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) + } + static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { +>equals : Symbol(ListWrapper.equals, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 16)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) + + if (a.length != b.length) return false; +>a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + + for (var i = 0; i < a.length; ++i) { +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) + + if (a[i] !== b[i]) return false; +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) + } + return true; + } + static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { +>slice : Symbol(ListWrapper.slice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 97, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 50)) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) + + return l.slice(from, to === null ? undefined : to); +>l.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 42)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 50)) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) +>undefined : Symbol(undefined) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) + } + static splice(dit: typeof ListWrapper, l: T[], from: number, length: number): T[] { return l.splice(from, length); } +>splice : Symbol(ListWrapper.splice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 100, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 51)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 65)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) +>l.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 43)) +>splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 51)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 65)) + + static sort(dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) { +>sort : Symbol(ListWrapper.sort, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 121)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 63)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) + + if (isPresent(compareFn)) { +>isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 42)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) + + l.sort(compareFn); +>l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) +>sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) + + } else { + l.sort(); +>l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) +>sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) + } + } + static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } +>toString : Symbol(ListWrapper.toString, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 108, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 18)) +>l.toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 45)) +>toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) + + static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } +>toJSON : Symbol(ListWrapper.toJSON, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 86)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 16)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 43)) + + static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { +>maximum : Symbol(ListWrapper.maximum, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 89)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 20)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) +>predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 55)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) + + if (list.length == 0) { +>list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) + + return null; + } + var solution: T = null; +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) + + var maxValue = -Infinity; +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) +>Infinity : Symbol(Infinity, Decl(lib.d.ts, --, --)) + + for (var index = 0; index < list.length; index++) { +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) +>list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) + + var candidate = list[index]; +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) + + if (isBlank(candidate)) { +>isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 55)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) + + continue; + } + var candidateValue = predicate(candidate); +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) +>predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 55)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) + + if (candidateValue > maxValue) { +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) + + solution = candidate; +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) + + maxValue = candidateValue; +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) + } + } + return solution; +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) + } +} +let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); +>cloned : Symbol(cloned, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 3)) +>ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) + +declare function isBlank(x: any): boolean; +>isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 55)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 25)) + +declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; +>isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 30)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 48)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) + +interface Array { +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) +>T : Symbol(T, Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 16)) + + fill(value: any, start: number, end: number): void; +>fill : Symbol(fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 6)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 17)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 32)) +} diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types new file mode 100644 index 00000000000..3f30d13561e --- /dev/null +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -0,0 +1,784 @@ +=== tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts === +function outer(x: T) { +>outer : (x: T) => typeof Inner +>T : T +>x : T +>T : T + + class Inner { +>Inner : Inner + + static y: T = x; +>y : T +>T : T +>x : T + } + return Inner; +>Inner : typeof Inner +} +let y: number = outer(5).y; +>y : number +>outer(5).y : number +>outer(5) : typeof Inner +>outer : (x: T) => typeof Inner +>5 : number +>y : number + +class ListWrapper2 { +>ListWrapper2 : ListWrapper2 + + static clone(dit: typeof ListWrapper2, array: T[]): T[] { return array.slice(0); } +>clone : (dit: typeof ListWrapper2, array: T[]) => T[] +>T : T +>dit : typeof ListWrapper2 +>ListWrapper2 : typeof ListWrapper2 +>array : T[] +>T : T +>T : T +>array.slice(0) : T[] +>array.slice : (start?: number, end?: number) => T[] +>array : T[] +>slice : (start?: number, end?: number) => T[] +>0 : number + + static reversed(dit: typeof ListWrapper2, array: T[]): T[] { +>reversed : (dit: typeof ListWrapper2, array: T[]) => T[] +>T : T +>dit : typeof ListWrapper2 +>ListWrapper2 : typeof ListWrapper2 +>array : T[] +>T : T +>T : T + + var a = ListWrapper2.clone(dit, array); +>a : T[] +>ListWrapper2.clone(dit, array) : T[] +>ListWrapper2.clone : (dit: typeof ListWrapper2, array: T[]) => T[] +>ListWrapper2 : typeof ListWrapper2 +>clone : (dit: typeof ListWrapper2, array: T[]) => T[] +>dit : typeof ListWrapper2 +>array : T[] + + return a; +>a : T[] + } +} +namespace tessst { +>tessst : typeof tessst + + /** + * Iterates through 'array' by index and performs the callback on each element of array until the callback + * returns a truthy value, then returns that value. + * If no such value is found, the callback is applied to each element of array and undefined is returned. + */ + export function funkyFor(array: T[], callback: (element: T, index: number) => U): U { +>funkyFor : (array: T[], callback: (element: T, index: number) => U) => U +>T : T +>U : U +>array : T[] +>T : T +>callback : (element: T, index: number) => U +>element : T +>T : T +>index : number +>U : U +>U : U + + if (array) { +>array : T[] + + for (let i = 0, len = array.length; i < len; i++) { +>i : number +>0 : number +>len : number +>array.length : number +>array : T[] +>length : number +>i < len : boolean +>i : number +>len : number +>i++ : number +>i : number + + const result = callback(array[i], i); +>result : U +>callback(array[i], i) : U +>callback : (element: T, index: number) => U +>array[i] : T +>array : T[] +>i : number +>i : number + + if (result) { +>result : U + + return result; +>result : U + } + } + } + return undefined; +>undefined : undefined + } +} +interface Scanner { +>Scanner : Scanner + + scanRange(start: number, length: number, callback: () => T): T; +>scanRange : (start: number, length: number, callback: () => T) => T +>T : T +>start : number +>length : number +>callback : () => T +>T : T +>T : T +} +class ListWrapper { +>ListWrapper : ListWrapper + + // JS has no way to express a statically fixed size list, but dart does so we + // keep both methods. + static createFixedSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } +>createFixedSize : (dit: typeof ListWrapper, size: number) => any[] +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>size : number +>new Array(size) : any[] +>Array : ArrayConstructor +>size : number + + static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } +>createGrowableSize : (dit: typeof ListWrapper, size: number) => any[] +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>size : number +>new Array(size) : any[] +>Array : ArrayConstructor +>size : number + + static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } +>clone : (dit: typeof ListWrapper, array: T[]) => T[] +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>T : T +>array.slice(0) : T[] +>array.slice : (start?: number, end?: number) => T[] +>array : T[] +>slice : (start?: number, end?: number) => T[] +>0 : number + + static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { +>forEachWithIndex : (dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) => void +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>fn : (t: T, n: number) => void +>t : T +>T : T +>n : number + + for (var i = 0; i < array.length; i++) { +>i : number +>0 : number +>i < array.length : boolean +>i : number +>array.length : number +>array : T[] +>length : number +>i++ : number +>i : number + + fn(array[i], i); +>fn(array[i], i) : void +>fn : (t: T, n: number) => void +>array[i] : T +>array : T[] +>i : number +>i : number + } + } + static first(dit: typeof ListWrapper, array: T[]): T { +>first : (dit: typeof ListWrapper, array: T[]) => T +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>T : T + + if (!array) return null; +>!array : boolean +>array : T[] +>null : null + + return array[0]; +>array[0] : T +>array : T[] +>0 : number + } + static last(dit: typeof ListWrapper, array: T[]): T { +>last : (dit: typeof ListWrapper, array: T[]) => T +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>T : T + + if (!array || array.length == 0) return null; +>!array || array.length == 0 : boolean +>!array : boolean +>array : T[] +>array.length == 0 : boolean +>array.length : number +>array : T[] +>length : number +>0 : number +>null : null + + return array[array.length - 1]; +>array[array.length - 1] : T +>array : T[] +>array.length - 1 : number +>array.length : number +>array : T[] +>length : number +>1 : number + } + static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { +>indexOf : (dit: typeof ListWrapper, array: T[], value: T, startIndex?: number) => number +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>value : T +>T : T +>startIndex : number +>0 : number + + return array.indexOf(value, startIndex); +>array.indexOf(value, startIndex) : number +>array.indexOf : (searchElement: T, fromIndex?: number) => number +>array : T[] +>indexOf : (searchElement: T, fromIndex?: number) => number +>value : T +>startIndex : number + } + static contains(dit: typeof ListWrapper, list: T[], el: T): boolean { return list.indexOf(el) !== -1; } +>contains : (dit: typeof ListWrapper, list: T[], el: T) => boolean +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>el : T +>T : T +>list.indexOf(el) !== -1 : boolean +>list.indexOf(el) : number +>list.indexOf : (searchElement: T, fromIndex?: number) => number +>list : T[] +>indexOf : (searchElement: T, fromIndex?: number) => number +>el : T +>-1 : number +>1 : number + + static reversed(dit: typeof ListWrapper, array: T[]): T[] { +>reversed : (dit: typeof ListWrapper, array: T[]) => T[] +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>array : T[] +>T : T +>T : T + + var a = ListWrapper.clone(dit, array); +>a : T[] +>ListWrapper.clone(dit, array) : T[] +>ListWrapper.clone : (dit: typeof ListWrapper, array: T[]) => T[] +>ListWrapper : typeof ListWrapper +>clone : (dit: typeof ListWrapper, array: T[]) => T[] +>dit : typeof ListWrapper +>array : T[] + + let scanner: Scanner; +>scanner : Scanner +>Scanner : Scanner + + scanner.scanRange(3, 5, () => { }); +>scanner.scanRange(3, 5, () => { }) : void +>scanner.scanRange : (start: number, length: number, callback: () => T) => T +>scanner : Scanner +>scanRange : (start: number, length: number, callback: () => T) => T +>3 : number +>5 : number +>() => { } : () => void + + return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; +>tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a : T[] +>tessst.funkyFor(array, t => t.toString()) : string +>tessst.funkyFor : (array: T[], callback: (element: T, index: number) => U) => U +>tessst : typeof tessst +>funkyFor : (array: T[], callback: (element: T, index: number) => U) => U +>array : T[] +>t => t.toString() : (t: T) => string +>t : T +>t.toString() : string +>t.toString : () => string +>t : T +>toString : () => string +>a.reverse() : T[] +>a.reverse : () => T[] +>a : T[] +>reverse : () => T[] +>a : T[] + } + static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } +>concat : (dit: typeof ListWrapper, a: any[], b: any[]) => any[] +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>a : any[] +>b : any[] +>a.concat(b) : any[] +>a.concat : (...items: any[]) => any[] +>a : any[] +>concat : (...items: any[]) => any[] +>b : any[] + + static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } +>insert : (dit: typeof ListWrapper, list: T[], index: number, value: T) => void +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>index : number +>value : T +>T : T +>list.splice(index, 0, value) : T[] +>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>list : T[] +>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>index : number +>0 : number +>value : T + + static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { +>removeAt : (dit: typeof ListWrapper, list: T[], index: number) => T +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>index : number +>T : T + + var res = list[index]; +>res : T +>list[index] : T +>list : T[] +>index : number + + list.splice(index, 1); +>list.splice(index, 1) : T[] +>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>list : T[] +>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>index : number +>1 : number + + return res; +>res : T + } + static removeAll(dit: typeof ListWrapper, list: T[], items: T[]) { +>removeAll : (dit: typeof ListWrapper, list: T[], items: T[]) => void +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>items : T[] +>T : T + + for (var i = 0; i < items.length; ++i) { +>i : number +>0 : number +>i < items.length : boolean +>i : number +>items.length : number +>items : T[] +>length : number +>++i : number +>i : number + + var index = list.indexOf(items[i]); +>index : number +>list.indexOf(items[i]) : number +>list.indexOf : (searchElement: T, fromIndex?: number) => number +>list : T[] +>indexOf : (searchElement: T, fromIndex?: number) => number +>items[i] : T +>items : T[] +>i : number + + list.splice(index, 1); +>list.splice(index, 1) : T[] +>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>list : T[] +>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>index : number +>1 : number + } + } + static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { +>remove : (dit: typeof ListWrapper, list: T[], el: T) => boolean +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>el : T +>T : T + + var index = list.indexOf(el); +>index : number +>list.indexOf(el) : number +>list.indexOf : (searchElement: T, fromIndex?: number) => number +>list : T[] +>indexOf : (searchElement: T, fromIndex?: number) => number +>el : T + + if (index > -1) { +>index > -1 : boolean +>index : number +>-1 : number +>1 : number + + list.splice(index, 1); +>list.splice(index, 1) : T[] +>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>list : T[] +>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>index : number +>1 : number + + return true; +>true : boolean + } + return false; +>false : boolean + } + static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } +>clear : (dit: typeof ListWrapper, list: any[]) => void +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : any[] +>list.length = 0 : number +>list.length : number +>list : any[] +>length : number +>0 : number + + static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } +>isEmpty : (dit: typeof ListWrapper, list: any[]) => boolean +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : any[] +>list.length == 0 : boolean +>list.length : number +>list : any[] +>length : number +>0 : number + + static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { +>fill : (dit: typeof ListWrapper, list: any[], value: any, start?: number, end?: number) => void +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : any[] +>value : any +>start : number +>0 : number +>end : number +>null : null + + list.fill(value, start, end === null ? list.length : end); +>list.fill(value, start, end === null ? list.length : end) : void +>list.fill : (value: any, start: number, end: number) => void +>list : any[] +>fill : (value: any, start: number, end: number) => void +>value : any +>start : number +>end === null ? list.length : end : number +>end === null : boolean +>end : number +>null : null +>list.length : number +>list : any[] +>length : number +>end : number + } + static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { +>equals : (dit: typeof ListWrapper, a: any[], b: any[]) => boolean +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>a : any[] +>b : any[] + + if (a.length != b.length) return false; +>a.length != b.length : boolean +>a.length : number +>a : any[] +>length : number +>b.length : number +>b : any[] +>length : number +>false : boolean + + for (var i = 0; i < a.length; ++i) { +>i : number +>0 : number +>i < a.length : boolean +>i : number +>a.length : number +>a : any[] +>length : number +>++i : number +>i : number + + if (a[i] !== b[i]) return false; +>a[i] !== b[i] : boolean +>a[i] : any +>a : any[] +>i : number +>b[i] : any +>b : any[] +>i : number +>false : boolean + } + return true; +>true : boolean + } + static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { +>slice : (dit: typeof ListWrapper, l: T[], from?: number, to?: number) => T[] +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>l : T[] +>T : T +>from : number +>0 : number +>to : number +>null : null +>T : T + + return l.slice(from, to === null ? undefined : to); +>l.slice(from, to === null ? undefined : to) : T[] +>l.slice : (start?: number, end?: number) => T[] +>l : T[] +>slice : (start?: number, end?: number) => T[] +>from : number +>to === null ? undefined : to : number +>to === null : boolean +>to : number +>null : null +>undefined : undefined +>to : number + } + static splice(dit: typeof ListWrapper, l: T[], from: number, length: number): T[] { return l.splice(from, length); } +>splice : (dit: typeof ListWrapper, l: T[], from: number, length: number) => T[] +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>l : T[] +>T : T +>from : number +>length : number +>T : T +>l.splice(from, length) : T[] +>l.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>l : T[] +>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } +>from : number +>length : number + + static sort(dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) { +>sort : (dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) => void +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>l : T[] +>T : T +>compareFn : (a: T, b: T) => number +>a : T +>T : T +>b : T +>T : T + + if (isPresent(compareFn)) { +>isPresent(compareFn) : boolean +>isPresent : (compareFn?: (a: T, b: T) => number) => boolean +>compareFn : (a: T, b: T) => number + + l.sort(compareFn); +>l.sort(compareFn) : T[] +>l.sort : (compareFn?: (a: T, b: T) => number) => T[] +>l : T[] +>sort : (compareFn?: (a: T, b: T) => number) => T[] +>compareFn : (a: T, b: T) => number + + } else { + l.sort(); +>l.sort() : T[] +>l.sort : (compareFn?: (a: T, b: T) => number) => T[] +>l : T[] +>sort : (compareFn?: (a: T, b: T) => number) => T[] + } + } + static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } +>toString : (dit: typeof ListWrapper, l: T[]) => string +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>l : T[] +>T : T +>l.toString() : string +>l.toString : () => string +>l : T[] +>toString : () => string + + static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } +>toJSON : (dit: typeof ListWrapper, l: T[]) => string +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>l : T[] +>T : T +>JSON.stringify(l) : string +>JSON.stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: string | number): string; (value: any, replacer: any[], space: string | number): string; } +>JSON : JSON +>stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: string | number): string; (value: any, replacer: any[], space: string | number): string; } +>l : T[] + + static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { +>maximum : (dit: typeof ListWrapper, list: T[], predicate: (t: T) => number) => T +>T : T +>dit : typeof ListWrapper +>ListWrapper : typeof ListWrapper +>list : T[] +>T : T +>predicate : (t: T) => number +>t : T +>T : T +>T : T + + if (list.length == 0) { +>list.length == 0 : boolean +>list.length : number +>list : T[] +>length : number +>0 : number + + return null; +>null : null + } + var solution: T = null; +>solution : T +>T : T +>null : null + + var maxValue = -Infinity; +>maxValue : number +>-Infinity : number +>Infinity : number + + for (var index = 0; index < list.length; index++) { +>index : number +>0 : number +>index < list.length : boolean +>index : number +>list.length : number +>list : T[] +>length : number +>index++ : number +>index : number + + var candidate = list[index]; +>candidate : T +>list[index] : T +>list : T[] +>index : number + + if (isBlank(candidate)) { +>isBlank(candidate) : boolean +>isBlank : (x: any) => boolean +>candidate : T + + continue; + } + var candidateValue = predicate(candidate); +>candidateValue : number +>predicate(candidate) : number +>predicate : (t: T) => number +>candidate : T + + if (candidateValue > maxValue) { +>candidateValue > maxValue : boolean +>candidateValue : number +>maxValue : number + + solution = candidate; +>solution = candidate : T +>solution : T +>candidate : T + + maxValue = candidateValue; +>maxValue = candidateValue : number +>maxValue : number +>candidateValue : number + } + } + return solution; +>solution : T + } +} +let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); +>cloned : number[] +>ListWrapper.clone(ListWrapper, [1,2,3,4]) : number[] +>ListWrapper.clone : (dit: typeof ListWrapper, array: T[]) => T[] +>ListWrapper : typeof ListWrapper +>clone : (dit: typeof ListWrapper, array: T[]) => T[] +>ListWrapper : typeof ListWrapper +>[1,2,3,4] : number[] +>1 : number +>2 : number +>3 : number +>4 : number + +declare function isBlank(x: any): boolean; +>isBlank : (x: any) => boolean +>x : any + +declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; +>isPresent : (compareFn?: (a: T, b: T) => number) => boolean +>T : T +>compareFn : (a: T, b: T) => number +>a : T +>T : T +>b : T +>T : T + +interface Array { +>Array : T[] +>T : T + + fill(value: any, start: number, end: number): void; +>fill : (value: any, start: number, end: number) => void +>value : any +>start : number +>end : number +} diff --git a/tests/cases/compiler/bluebirdStaticThis.ts b/tests/cases/compiler/bluebirdStaticThis.ts new file mode 100644 index 00000000000..55b1d0022d8 --- /dev/null +++ b/tests/cases/compiler/bluebirdStaticThis.ts @@ -0,0 +1,141 @@ +// This version is reduced from the full d.ts by removing almost all the tests +// and all the comments. +// Then it adds explicit `this` arguments to the static members. +// Tests by: Bart van der Schoor +declare class Promise implements Promise.Thenable { + constructor(callback: (resolve: (thenableOrResult: R | Promise.Thenable) => void, reject: (error: any) => void) => void); + static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; + static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; + + static method(dit: typeof Promise, fn: Function): Function; + + static resolve(dit: typeof Promise): Promise; + static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; + static resolve(dit: typeof Promise, value: R): Promise; + + static reject(dit: typeof Promise, reason: any): Promise; + static reject(dit: typeof Promise, reason: any): Promise; + + static defer(dit: typeof Promise): Promise.Resolver; + + static cast(dit: typeof Promise, value: Promise.Thenable): Promise; + static cast(dit: typeof Promise, value: R): Promise; + + static bind(dit: typeof Promise, thisArg: any): Promise; + + static is(dit: typeof Promise, value: any): boolean; + + static longStackTraces(dit: typeof Promise): void; + + static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; + static delay(dit: typeof Promise, value: R, ms: number): Promise; + static delay(dit: typeof Promise, ms: number): Promise; + + static promisify(dit: typeof Promise, nodeFunction: Function, receiver?: any): Function; + + static promisifyAll(dit: typeof Promise, target: Object): Object; + + static coroutine(dit: typeof Promise, generatorFunction: Function): Function; + + static spawn(dit: typeof Promise, generatorFunction: Function): Promise; + + static noConflict(dit: typeof Promise): typeof Promise; + + static onPossiblyUnhandledRejection(dit: typeof Promise, handler: (reason: any) => any): void; + + static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static all(dit: typeof Promise, values: Promise.Thenable): Promise; + static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static all(dit: typeof Promise, values: R[]): Promise; + + static props(dit: typeof Promise, object: Promise): Promise; + static props(dit: typeof Promise, object: Object): Promise; + + static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; + static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; + static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; + static settle(dit: typeof Promise, values: R[]): Promise[]>; + + static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static any(dit: typeof Promise, values: Promise.Thenable): Promise; + static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static any(dit: typeof Promise, values: R[]): Promise; + + static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; + static race(dit: typeof Promise, values: Promise.Thenable): Promise; + static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; + static race(dit: typeof Promise, values: R[]): Promise; + + static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; + static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; + static some(dit: typeof Promise, values: R[], count: number): Promise; + + static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; + static join(dit: typeof Promise, ...values: R[]): Promise; + + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; + static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; + + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; + static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; +} + +declare module Promise { + export interface Thenable { + then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; + then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; + then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; + } + +} + +declare module 'bluebird' { + export = Promise; +} +interface Foo { + a: number; + b: string; +} +var x: any; +var arr: any[]; +var foo: Foo; +var fooProm: Promise; + +fooProm = Promise.try(Promise, () => { + return foo; +}); +fooProm = Promise.try(Promise, () => { + return foo; +}, arr); +fooProm = Promise.try(Promise, () => { + return foo; +}, arr, x); \ No newline at end of file diff --git a/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts b/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts new file mode 100644 index 00000000000..e5a78728c3f --- /dev/null +++ b/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts @@ -0,0 +1,138 @@ +function outer(x: T) { + class Inner { + static y: T = x; + } + return Inner; +} +let y: number = outer(5).y; + +class ListWrapper2 { + static clone(dit: typeof ListWrapper2, array: T[]): T[] { return array.slice(0); } + static reversed(dit: typeof ListWrapper2, array: T[]): T[] { + var a = ListWrapper2.clone(dit, array); + return a; + } +} +namespace tessst { + /** + * Iterates through 'array' by index and performs the callback on each element of array until the callback + * returns a truthy value, then returns that value. + * If no such value is found, the callback is applied to each element of array and undefined is returned. + */ + export function funkyFor(array: T[], callback: (element: T, index: number) => U): U { + if (array) { + for (let i = 0, len = array.length; i < len; i++) { + const result = callback(array[i], i); + if (result) { + return result; + } + } + } + return undefined; + } +} +interface Scanner { + scanRange(start: number, length: number, callback: () => T): T; +} +class ListWrapper { + // JS has no way to express a statically fixed size list, but dart does so we + // keep both methods. + static createFixedSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } + static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } + static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } + static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { + for (var i = 0; i < array.length; i++) { + fn(array[i], i); + } + } + static first(dit: typeof ListWrapper, array: T[]): T { + if (!array) return null; + return array[0]; + } + static last(dit: typeof ListWrapper, array: T[]): T { + if (!array || array.length == 0) return null; + return array[array.length - 1]; + } + static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { + return array.indexOf(value, startIndex); + } + static contains(dit: typeof ListWrapper, list: T[], el: T): boolean { return list.indexOf(el) !== -1; } + static reversed(dit: typeof ListWrapper, array: T[]): T[] { + var a = ListWrapper.clone(dit, array); + let scanner: Scanner; + scanner.scanRange(3, 5, () => { }); + return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; + } + static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } + static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } + static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { + var res = list[index]; + list.splice(index, 1); + return res; + } + static removeAll(dit: typeof ListWrapper, list: T[], items: T[]) { + for (var i = 0; i < items.length; ++i) { + var index = list.indexOf(items[i]); + list.splice(index, 1); + } + } + static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { + var index = list.indexOf(el); + if (index > -1) { + list.splice(index, 1); + return true; + } + return false; + } + static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } + static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } + static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { + list.fill(value, start, end === null ? list.length : end); + } + static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { + if (a.length != b.length) return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) return false; + } + return true; + } + static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { + return l.slice(from, to === null ? undefined : to); + } + static splice(dit: typeof ListWrapper, l: T[], from: number, length: number): T[] { return l.splice(from, length); } + static sort(dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) { + if (isPresent(compareFn)) { + l.sort(compareFn); + } else { + l.sort(); + } + } + static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } + static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } + + static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { + if (list.length == 0) { + return null; + } + var solution: T = null; + var maxValue = -Infinity; + for (var index = 0; index < list.length; index++) { + var candidate = list[index]; + if (isBlank(candidate)) { + continue; + } + var candidateValue = predicate(candidate); + if (candidateValue > maxValue) { + solution = candidate; + maxValue = candidateValue; + } + } + return solution; + } +} +let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); +declare function isBlank(x: any): boolean; +declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; +interface Array { + fill(value: any, start: number, end: number): void; +} \ No newline at end of file From 907ce8fb385d84ef8ac50de9dcf616cbbd44d76b Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 9 Mar 2016 11:23:55 -0800 Subject: [PATCH 184/342] unwrap promised typed in async function before doing 'noImplicitReturns' check --- src/compiler/checker.ts | 19 ++-- .../reference/noImplicitReturnsInAsync1.js | 26 ++++++ .../noImplicitReturnsInAsync1.symbols | 17 ++++ .../reference/noImplicitReturnsInAsync1.types | 23 +++++ .../noImplicitReturnsInAsync2.errors.txt | 45 ++++++++++ .../reference/noImplicitReturnsInAsync2.js | 87 +++++++++++++++++++ .../compiler/noImplicitReturnsInAsync1.ts | 9 ++ .../compiler/noImplicitReturnsInAsync2.ts | 38 ++++++++ 8 files changed, 257 insertions(+), 7 deletions(-) create mode 100644 tests/baselines/reference/noImplicitReturnsInAsync1.js create mode 100644 tests/baselines/reference/noImplicitReturnsInAsync1.symbols create mode 100644 tests/baselines/reference/noImplicitReturnsInAsync1.types create mode 100644 tests/baselines/reference/noImplicitReturnsInAsync2.errors.txt create mode 100644 tests/baselines/reference/noImplicitReturnsInAsync2.js create mode 100644 tests/cases/compiler/noImplicitReturnsInAsync1.ts create mode 100644 tests/cases/compiler/noImplicitReturnsInAsync2.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 14fec7bb976..f6bb8105a23 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10813,11 +10813,11 @@ namespace ts { // If return type annotation is omitted check if function has any explicit return statements. // If it does not have any - its inferred return type is void - don't do any checks. // Otherwise get inferred return type from function body and report error only if it is not void / anytype - const inferredReturnType = hasExplicitReturn - ? getReturnTypeOfSignature(getSignatureFromDeclaration(func)) - : voidType; - - if (inferredReturnType === voidType || isTypeAny(inferredReturnType)) { + if (!hasExplicitReturn) { + return; + } + const inferredReturnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + if (isUnwrappedReturnTypeVoidOrAny(func, inferredReturnType)) { return; } } @@ -12696,7 +12696,7 @@ namespace ts { return checkNonThenableType(type, location, message); } else { - if (type.id === promisedType.id || awaitedTypeStack.indexOf(promisedType.id) >= 0) { + if (type.id === promisedType.id || indexOf(awaitedTypeStack, promisedType.id) >= 0) { // We have a bad actor in the form of a promise whose promised type is // the same promise type, or a mutually recursive promise. Return the // unknown type as we cannot guess the shape. If this were the actual @@ -13849,6 +13849,11 @@ namespace ts { return !!(node.kind === SyntaxKind.GetAccessor && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(node.symbol, SyntaxKind.SetAccessor))); } + function isUnwrappedReturnTypeVoidOrAny(func: FunctionLikeDeclaration, returnType: Type): boolean { + const unwrappedReturnType = isAsyncFunctionLike(func) ? getPromisedType(returnType) : returnType; + return maybeTypeOfKind(unwrappedReturnType, TypeFlags.Void | TypeFlags.Any); + } + function checkReturnStatement(node: ReturnStatement) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { @@ -13897,7 +13902,7 @@ namespace ts { } } } - else if (compilerOptions.noImplicitReturns && !maybeTypeOfKind(returnType, TypeFlags.Void | TypeFlags.Any)) { + else if (compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType)) { // The function has a return type, but the return statement doesn't have an expression. error(node, Diagnostics.Not_all_code_paths_return_a_value); } diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.js b/tests/baselines/reference/noImplicitReturnsInAsync1.js new file mode 100644 index 00000000000..6192e9e7f24 --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.js @@ -0,0 +1,26 @@ +//// [noImplicitReturnsInAsync1.ts] + +async function test(isError: boolean = false) { + if (isError === true) { + return; + } + let x = await Promise.resolve("The test is passed without an error."); +} + +//// [noImplicitReturnsInAsync1.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function test(isError = false) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return; + } + let x = yield Promise.resolve("The test is passed without an error."); + }); +} diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.symbols b/tests/baselines/reference/noImplicitReturnsInAsync1.symbols new file mode 100644 index 00000000000..b44f17e5fdd --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/noImplicitReturnsInAsync1.ts === + +async function test(isError: boolean = false) { +>test : Symbol(test, Decl(noImplicitReturnsInAsync1.ts, 0, 0)) +>isError : Symbol(isError, Decl(noImplicitReturnsInAsync1.ts, 1, 20)) + + if (isError === true) { +>isError : Symbol(isError, Decl(noImplicitReturnsInAsync1.ts, 1, 20)) + + return; + } + let x = await Promise.resolve("The test is passed without an error."); +>x : Symbol(x, Decl(noImplicitReturnsInAsync1.ts, 5, 7)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types new file mode 100644 index 00000000000..23f0892f30e --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/noImplicitReturnsInAsync1.ts === + +async function test(isError: boolean = false) { +>test : (isError?: boolean) => Promise +>isError : boolean +>false : boolean + + if (isError === true) { +>isError === true : boolean +>isError : boolean +>true : boolean + + return; + } + let x = await Promise.resolve("The test is passed without an error."); +>x : string +>await Promise.resolve("The test is passed without an error.") : string +>Promise.resolve("The test is passed without an error.") : Promise +>Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise : PromiseConstructor +>resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>"The test is passed without an error." : string +} diff --git a/tests/baselines/reference/noImplicitReturnsInAsync2.errors.txt b/tests/baselines/reference/noImplicitReturnsInAsync2.errors.txt new file mode 100644 index 00000000000..83673ff518b --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsInAsync2.errors.txt @@ -0,0 +1,45 @@ +tests/cases/compiler/noImplicitReturnsInAsync2.ts(3,16): error TS7030: Not all code paths return a value. +tests/cases/compiler/noImplicitReturnsInAsync2.ts(25,48): error TS7030: Not all code paths return a value. + + +==== tests/cases/compiler/noImplicitReturnsInAsync2.ts (2 errors) ==== + + // Should be an error, Promise, currently retorted correctly + async function test3(isError: boolean = true) { + ~~~~~ +!!! error TS7030: Not all code paths return a value. + if (isError === true) { + return 6; + } + } + + // Should not be an error, Promise, currently **not** working + async function test4(isError: boolean = true) { + if (isError === true) { + return undefined; + } + } + + // should not be error, Promise currently working correctly + async function test5(isError: boolean = true): Promise { //should not be error + if (isError === true) { + return undefined; + } + } + + + // should be error, currently reported correctly + async function test6(isError: boolean = true): Promise { + ~~~~~~~~~~~~~~~ +!!! error TS7030: Not all code paths return a value. + if (isError === true) { + return undefined; + } + } + + // infered to be Promise, should not be an error, currently reported correctly + async function test7(isError: boolean = true) { + if (isError === true) { + return; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitReturnsInAsync2.js b/tests/baselines/reference/noImplicitReturnsInAsync2.js new file mode 100644 index 00000000000..5e034237fef --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnsInAsync2.js @@ -0,0 +1,87 @@ +//// [noImplicitReturnsInAsync2.ts] + +// Should be an error, Promise, currently retorted correctly +async function test3(isError: boolean = true) { + if (isError === true) { + return 6; + } +} + +// Should not be an error, Promise, currently **not** working +async function test4(isError: boolean = true) { + if (isError === true) { + return undefined; + } +} + +// should not be error, Promise currently working correctly +async function test5(isError: boolean = true): Promise { //should not be error + if (isError === true) { + return undefined; + } +} + + +// should be error, currently reported correctly +async function test6(isError: boolean = true): Promise { + if (isError === true) { + return undefined; + } +} + +// infered to be Promise, should not be an error, currently reported correctly +async function test7(isError: boolean = true) { + if (isError === true) { + return; + } +} + +//// [noImplicitReturnsInAsync2.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +// Should be an error, Promise, currently retorted correctly +function test3(isError = true) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return 6; + } + }); +} +// Should not be an error, Promise, currently **not** working +function test4(isError = true) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return undefined; + } + }); +} +// should not be error, Promise currently working correctly +function test5(isError = true) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return undefined; + } + }); +} +// should be error, currently reported correctly +function test6(isError = true) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return undefined; + } + }); +} +// infered to be Promise, should not be an error, currently reported correctly +function test7(isError = true) { + return __awaiter(this, void 0, void 0, function* () { + if (isError === true) { + return; + } + }); +} diff --git a/tests/cases/compiler/noImplicitReturnsInAsync1.ts b/tests/cases/compiler/noImplicitReturnsInAsync1.ts new file mode 100644 index 00000000000..a4aadd81f75 --- /dev/null +++ b/tests/cases/compiler/noImplicitReturnsInAsync1.ts @@ -0,0 +1,9 @@ +// @target: es6 +// @noImplicitReturns: true + +async function test(isError: boolean = false) { + if (isError === true) { + return; + } + let x = await Promise.resolve("The test is passed without an error."); +} \ No newline at end of file diff --git a/tests/cases/compiler/noImplicitReturnsInAsync2.ts b/tests/cases/compiler/noImplicitReturnsInAsync2.ts new file mode 100644 index 00000000000..20488b6bd37 --- /dev/null +++ b/tests/cases/compiler/noImplicitReturnsInAsync2.ts @@ -0,0 +1,38 @@ +// @target: es6 +// @noImplicitReturns: true + +// Should be an error, Promise, currently retorted correctly +async function test3(isError: boolean = true) { + if (isError === true) { + return 6; + } +} + +// Should not be an error, Promise, currently **not** working +async function test4(isError: boolean = true) { + if (isError === true) { + return undefined; + } +} + +// should not be error, Promise currently working correctly +async function test5(isError: boolean = true): Promise { //should not be error + if (isError === true) { + return undefined; + } +} + + +// should be error, currently reported correctly +async function test6(isError: boolean = true): Promise { + if (isError === true) { + return undefined; + } +} + +// infered to be Promise, should not be an error, currently reported correctly +async function test7(isError: boolean = true) { + if (isError === true) { + return; + } +} \ No newline at end of file From 4f441bd5533d1eec6520c64adef11892c3b5f9c4 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 9 Mar 2016 11:37:40 -0800 Subject: [PATCH 185/342] Adding comment to test --- ...nonymousTypeNotReferencingTypeParameter.js | 5 + ...ousTypeNotReferencingTypeParameter.symbols | 779 +++++++++--------- ...ymousTypeNotReferencingTypeParameter.types | 3 + ...nonymousTypeNotReferencingTypeParameter.ts | 3 + 4 files changed, 402 insertions(+), 388 deletions(-) diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js index 690f4dab2d1..62a23d538c4 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js @@ -1,4 +1,7 @@ //// [staticAnonymousTypeNotReferencingTypeParameter.ts] +// This test case is a condensed version of Angular 2's ListWrapper. Prior to #7448 +// this would cause the compiler to run out of memory. + function outer(x: T) { class Inner { static y: T = x; @@ -139,6 +142,8 @@ interface Array { } //// [staticAnonymousTypeNotReferencingTypeParameter.js] +// This test case is a condensed version of Angular 2's ListWrapper. Prior to #7448 +// this would cause the compiler to run out of memory. function outer(x) { var Inner = (function () { function Inner() { diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index 34b2d0915ca..2d39eec74e6 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -1,65 +1,68 @@ === tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts === +// This test case is a condensed version of Angular 2's ListWrapper. Prior to #7448 +// this would cause the compiler to run out of memory. + function outer(x: T) { >outer : Symbol(outer, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 0)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) ->x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 18)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 15)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 15)) class Inner { ->Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 25)) +>Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 25)) static y: T = x; ->y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 15)) ->x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 18)) +>y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 4, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 15)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 18)) } return Inner; ->Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 25)) +>Inner : Symbol(Inner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 3, 25)) } let y: number = outer(5).y; ->y : Symbol(y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 3)) ->outer(5).y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) +>y : Symbol(y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 3)) +>outer(5).y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 4, 15)) >outer : Symbol(outer, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 0, 0)) ->y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 1, 15)) +>y : Symbol(Inner.y, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 4, 15)) class ListWrapper2 { ->ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 27)) static clone(dit: typeof ListWrapper2, array: T[]): T[] { return array.slice(0); } ->clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 18)) ->ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 15)) +>clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 20)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 18)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 27)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 15)) >array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 43)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 43)) >slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) static reversed(dit: typeof ListWrapper2, array: T[]): T[] { ->reversed : Symbol(ListWrapper2.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 87)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 21)) ->ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 46)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 18)) +>reversed : Symbol(ListWrapper2.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 87)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 21)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 27)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 46)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 18)) var a = ListWrapper2.clone(dit, array); ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 7)) ->ListWrapper2.clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) ->ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 6, 27)) ->clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 8, 20)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 21)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 10, 46)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 7)) +>ListWrapper2.clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 20)) +>ListWrapper2 : Symbol(ListWrapper2, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 9, 27)) +>clone : Symbol(ListWrapper2.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 20)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 21)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 13, 46)) return a; ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 11, 7)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 7)) } } namespace tessst { ->tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 1)) +>tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 17, 1)) /** * Iterates through 'array' by index and performs the callback on each element of array until the callback @@ -67,43 +70,43 @@ namespace tessst { * If no such value is found, the callback is applied to each element of array and undefined is returned. */ export function funkyFor(array: T[], callback: (element: T, index: number) => U): U { ->funkyFor : Symbol(funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) ->U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) ->callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 46)) ->element : Symbol(element, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 58)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 29)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 69)) ->U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) ->U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 31)) +>funkyFor : Symbol(funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 18, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 29)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 31)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 35)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 29)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 46)) +>element : Symbol(element, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 58)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 29)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 69)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 31)) +>U : Symbol(U, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 31)) if (array) { ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 35)) for (let i = 0, len = array.length; i < len; i++) { ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) ->len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 27)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) +>len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 27)) >array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 35)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) ->len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 27)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) +>len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 27)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) const result = callback(array[i], i); ->result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) ->callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 46)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 21, 35)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 23, 20)) +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 27, 21)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 46)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 35)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) if (result) { ->result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 27, 21)) return result; ->result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 21)) +>result : Symbol(result, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 27, 21)) } } } @@ -112,553 +115,553 @@ namespace tessst { } } interface Scanner { ->Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 32, 1)) +>Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) scanRange(start: number, length: number, callback: () => T): T; ->scanRange : Symbol(scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) ->start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 15)) ->length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 29)) ->callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 45)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 34, 12)) +>scanRange : Symbol(scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 12)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 15)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 29)) +>callback : Symbol(callback, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 12)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 12)) } class ListWrapper { ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) // JS has no way to express a statically fixed size list, but dart does so we // keep both methods. static createFixedSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } ->createFixedSize : Symbol(ListWrapper.createFixedSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 25)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 49)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) ->size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 49)) +>createFixedSize : Symbol(ListWrapper.createFixedSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 19)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 25)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 49)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 49)) static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } ->createGrowableSize : Symbol(ListWrapper.createGrowableSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 39, 98)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 28)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 52)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) ->size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 52)) +>createGrowableSize : Symbol(ListWrapper.createGrowableSize, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 98)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 28)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 52)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 52)) static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } ->clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 18)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 42)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 15)) +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 101)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 15)) >array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 42)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 42)) >slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { ->forEachWithIndex : Symbol(ListWrapper.forEachWithIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 41, 86)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 29)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) ->fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 65)) ->t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 71)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 26)) ->n : Symbol(n, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 76)) +>forEachWithIndex : Symbol(ListWrapper.forEachWithIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 86)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 26)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 29)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 53)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 26)) +>fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 65)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 71)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 26)) +>n : Symbol(n, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 76)) for (var i = 0; i < array.length; i++) { ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) >array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 53)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) fn(array[i], i); ->fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 65)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 53)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 12)) +>fn : Symbol(fn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 65)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 53)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) } } static first(dit: typeof ListWrapper, array: T[]): T { ->first : Symbol(ListWrapper.first, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 18)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 15)) +>first : Symbol(ListWrapper.first, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 49, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 15)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 15)) if (!array) return null; ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 42)) return array[0]; ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 47, 42)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 42)) } static last(dit: typeof ListWrapper, array: T[]): T { ->last : Symbol(ListWrapper.last, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 50, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 17)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 14)) +>last : Symbol(ListWrapper.last, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 53, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 14)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 14)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 14)) if (!array || array.length == 0) return null; ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) >array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) return array[array.length - 1]; ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) >array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 51, 41)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) } static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { ->indexOf : Symbol(ListWrapper.indexOf, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 20)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 44)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 56)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 17)) ->startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 66)) +>indexOf : Symbol(ListWrapper.indexOf, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 57, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 17)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 20)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 44)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 17)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 17)) +>startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 66)) return array.indexOf(value, startIndex); >array.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 44)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 44)) >indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 56)) ->startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 55, 66)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) +>startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 66)) } static contains(dit: typeof ListWrapper, list: T[], el: T): boolean { return list.indexOf(el) !== -1; } ->contains : Symbol(ListWrapper.contains, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 57, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 21)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 45)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) ->el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 18)) +>contains : Symbol(ListWrapper.contains, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 18)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 18)) >list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 45)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 45)) >indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 56)) static reversed(dit: typeof ListWrapper, array: T[]): T[] { ->reversed : Symbol(ListWrapper.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 108)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 21)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 18)) +>reversed : Symbol(ListWrapper.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 108)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 18)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 18)) var a = ListWrapper.clone(dit, array); ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) ->ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 21)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 7)) +>ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 101)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 21)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 45)) let scanner: Scanner; ->scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 7)) ->Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 32, 1)) +>scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 64, 7)) +>Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) scanner.scanRange(3, 5, () => { }); ->scanner.scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) ->scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 7)) ->scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 33, 19)) +>scanner.scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) +>scanner : Symbol(scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 64, 7)) +>scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; ->tessst.funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) ->tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 14, 1)) ->funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 15, 18)) ->array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 59, 45)) ->t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 33)) +>tessst.funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 18, 18)) +>tessst : Symbol(tessst, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 17, 1)) +>funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 18, 18)) +>array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 45)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 33)) >t.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 33)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 33)) >toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) >a.reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 7)) >reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 60, 7)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 7)) } static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } ->concat : Symbol(ListWrapper.concat, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 64, 3)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 16)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 40)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 50)) +>concat : Symbol(ListWrapper.concat, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 16)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 40)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 50)) >a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 40)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 40)) >concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 50)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 50)) static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } ->insert : Symbol(ListWrapper.insert, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 65, 91)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 19)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 54)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 69)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 16)) +>insert : Symbol(ListWrapper.insert, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 91)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 16)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 54)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 69)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 16)) >list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 43)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 43)) >splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 54)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 69)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 54)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 69)) static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { ->removeAt : Symbol(ListWrapper.removeAt, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 113)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 21)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 18)) +>removeAt : Symbol(ListWrapper.removeAt, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 113)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 18)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 56)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 18)) var res = list[index]; ->res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 7)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) +>res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 71, 7)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 45)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 56)) list.splice(index, 1); >list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 45)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 45)) >splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 67, 56)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 56)) return res; ->res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 7)) +>res : Symbol(res, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 71, 7)) } static removeAll(dit: typeof ListWrapper, list: T[], items: T[]) { ->removeAll : Symbol(ListWrapper.removeAll, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 71, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 22)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) ->items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 19)) +>removeAll : Symbol(ListWrapper.removeAll, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 74, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 19)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 22)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 46)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 19)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 57)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 19)) for (var i = 0; i < items.length; ++i) { ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) >items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 57)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) var index = list.indexOf(items[i]); ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 74, 9)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 9)) >list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 46)) >indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 57)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 73, 12)) +>items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 57)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) list.splice(index, 1); >list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 72, 46)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 46)) >splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 74, 9)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 9)) } } static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { ->remove : Symbol(ListWrapper.remove, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 19)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) ->el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 54)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 16)) +>remove : Symbol(ListWrapper.remove, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 80, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 16)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 54)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 16)) var index = list.indexOf(el); ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) >list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 43)) >indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) ->el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 54)) +>el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 54)) if (index > -1) { ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) list.splice(index, 1); >list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 78, 43)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 43)) >splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 79, 7)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) return true; } return false; } static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } ->clear : Symbol(ListWrapper.clear, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 85, 3)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 15)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 39)) +>clear : Symbol(ListWrapper.clear, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 15)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 39)) >list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 39)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 39)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } ->isEmpty : Symbol(ListWrapper.isEmpty, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 86, 73)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 17)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 41)) +>isEmpty : Symbol(ListWrapper.isEmpty, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 73)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 41)) >list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 41)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 41)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { ->fill : Symbol(ListWrapper.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 87, 92)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 14)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 51)) ->start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 63)) ->end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) +>fill : Symbol(ListWrapper.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 92)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 14)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 38)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 51)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 63)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 82)) list.fill(value, start, end === null ? list.length : end); ->list.fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) ->fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 51)) ->start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 63)) ->end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) +>list.fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 38)) +>fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 51)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 63)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 82)) >list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 38)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 38)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 88, 82)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 82)) } static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { ->equals : Symbol(ListWrapper.equals, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 3)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 16)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) +>equals : Symbol(ListWrapper.equals, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 3)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 16)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 50)) if (a.length != b.length) return false; >a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) >b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 50)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) for (var i = 0; i < a.length; ++i) { ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) >a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) if (a[i] !== b[i]) return false; ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 40)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 50)) ->i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 93, 12)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 50)) +>i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) } return true; } static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { ->slice : Symbol(ListWrapper.slice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 97, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 18)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 42)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) ->from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 50)) ->to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 15)) +>slice : Symbol(ListWrapper.slice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 100, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 15)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 18)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 15)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 50)) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 15)) return l.slice(from, to === null ? undefined : to); >l.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 42)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 42)) >slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 50)) ->to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 50)) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 68)) >undefined : Symbol(undefined) ->to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 98, 68)) +>to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 68)) } static splice(dit: typeof ListWrapper, l: T[], from: number, length: number): T[] { return l.splice(from, length); } ->splice : Symbol(ListWrapper.splice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 100, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 19)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) ->from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 51)) ->length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 65)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 16)) +>splice : Symbol(ListWrapper.splice, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 103, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 16)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 51)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 65)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 16)) >l.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 43)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 43)) >splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 51)) ->length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 65)) +>from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 51)) +>length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 65)) static sort(dit: typeof ListWrapper, l: T[], compareFn?: (a: T, b: T) => number) { ->sort : Symbol(ListWrapper.sort, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 121)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 17)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) ->compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 63)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 68)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 14)) +>sort : Symbol(ListWrapper.sort, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 121)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 14)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 17)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 41)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 14)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 49)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 63)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 14)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 14)) if (isPresent(compareFn)) { ->isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 42)) ->compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) +>isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 42)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 49)) l.sort(compareFn); >l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 41)) >sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) ->compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 49)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 49)) } else { l.sort(); >l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 102, 41)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 41)) >sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) } } static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } ->toString : Symbol(ListWrapper.toString, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 108, 3)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 18)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 21)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 45)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 18)) +>toString : Symbol(ListWrapper.toString, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 111, 3)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 18)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 21)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 45)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 18)) >l.toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 45)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 45)) >toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } ->toJSON : Symbol(ListWrapper.toJSON, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 109, 86)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 16)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 19)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 16)) +>toJSON : Symbol(ListWrapper.toJSON, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 86)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 16)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 19)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 16)) >JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 43)) +>l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { ->maximum : Symbol(ListWrapper.maximum, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 110, 89)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) ->dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 20)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) ->predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 55)) ->t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 68)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) +>maximum : Symbol(ListWrapper.maximum, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 89)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) +>dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 20)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) +>predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 55)) +>t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 68)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) if (list.length == 0) { >list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) return null; } var solution: T = null; ->solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 17)) +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 7)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) var maxValue = -Infinity; ->maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 120, 7)) >Infinity : Symbol(Infinity, Decl(lib.d.ts, --, --)) for (var index = 0; index < list.length; index++) { ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) >list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) >length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) var candidate = list[index]; ->candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) ->list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 44)) ->index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 118, 12)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 122, 9)) +>list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) +>index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) if (isBlank(candidate)) { ->isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 55)) ->candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) +>isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 55)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 122, 9)) continue; } var candidateValue = predicate(candidate); ->candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) ->predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 55)) ->candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 126, 9)) +>predicate : Symbol(predicate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 55)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 122, 9)) if (candidateValue > maxValue) { ->candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) ->maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 126, 9)) +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 120, 7)) solution = candidate; ->solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) ->candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 9)) +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 7)) +>candidate : Symbol(candidate, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 122, 9)) maxValue = candidateValue; ->maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 117, 7)) ->candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 123, 9)) +>maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 120, 7)) +>candidateValue : Symbol(candidateValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 126, 9)) } } return solution; ->solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 116, 7)) +>solution : Symbol(solution, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 119, 7)) } } let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); ->cloned : Symbol(cloned, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 3)) ->ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) ->clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 40, 101)) ->ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) +>cloned : Symbol(cloned, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 3)) +>ListWrapper.clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) +>clone : Symbol(ListWrapper.clone, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 101)) +>ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) declare function isBlank(x: any): boolean; ->isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 132, 55)) ->x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 25)) +>isBlank : Symbol(isBlank, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 55)) +>x : Symbol(x, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 25)) declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; ->isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 133, 42)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) ->compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 30)) ->a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 43)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) ->b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 48)) ->T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 27)) +>isPresent : Symbol(isPresent, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 42)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 27)) +>compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 30)) +>a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 43)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 27)) +>b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 48)) +>T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 27)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 134, 75)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 16)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>T : Symbol(T, Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 16)) fill(value: any, start: number, end: number): void; ->fill : Symbol(fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 135, 20)) ->value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 6)) ->start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 17)) ->end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 136, 32)) +>fill : Symbol(fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) +>value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 6)) +>start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 17)) +>end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 32)) } diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index 3f30d13561e..90148bdbb19 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -1,4 +1,7 @@ === tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts === +// This test case is a condensed version of Angular 2's ListWrapper. Prior to #7448 +// this would cause the compiler to run out of memory. + function outer(x: T) { >outer : (x: T) => typeof Inner >T : T diff --git a/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts b/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts index e5a78728c3f..3923e1d707f 100644 --- a/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts +++ b/tests/cases/compiler/staticAnonymousTypeNotReferencingTypeParameter.ts @@ -1,3 +1,6 @@ +// This test case is a condensed version of Angular 2's ListWrapper. Prior to #7448 +// this would cause the compiler to run out of memory. + function outer(x: T) { class Inner { static y: T = x; From 8a01a973bbac8012cb0d5ffecf912611b4014393 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Wed, 9 Mar 2016 12:40:53 -0800 Subject: [PATCH 186/342] Always run lint, even for runtests-parallel The first runner runs lint, not the first to complete. --- Jakefile.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jakefile.js b/Jakefile.js index f0cc878ad98..2ffdfc37807 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -652,7 +652,7 @@ function deleteTemporaryProjectOutput() { } } -function runConsoleTests(defaultReporter, defaultSubsets, postLint) { +function runConsoleTests(defaultReporter, defaultSubsets) { cleanTestDirs(); var debug = process.env.debug || process.env.d; tests = process.env.test || process.env.tests || process.env.t; @@ -685,13 +685,13 @@ function runConsoleTests(defaultReporter, defaultSubsets, postLint) { subsetRegexes = subsets.map(function (sub) { return "^" + sub + ".*$"; }); subsetRegexes.push("^(?!" + subsets.join("|") + ").*$"); } - subsetRegexes.forEach(function (subsetRegex) { + subsetRegexes.forEach(function (subsetRegex, i) { tests = subsetRegex ? ' -g "' + subsetRegex + '"' : ''; var cmd = "mocha" + (debug ? " --debug-brk" : "") + " -R " + reporter + tests + colors + ' -t ' + testTimeout + ' ' + run; console.log(cmd); exec(cmd, function () { deleteTemporaryProjectOutput(); - if (postLint) { + if (i === 0) { var lint = jake.Task['lint']; lint.addListener('complete', function () { complete(); @@ -713,7 +713,7 @@ task("runtests-parallel", ["build-rules", "tests", builtLocalDirectory], functio desc("Runs the tests using the built run.js file. Optional arguments are: t[ests]=regex r[eporter]=[list|spec|json|] d[ebug]=true color[s]=false."); task("runtests", ["build-rules", "tests", builtLocalDirectory], function() { - runConsoleTests('mocha-fivemat-progress-reporter', [], /*postLint*/ true); + runConsoleTests('mocha-fivemat-progress-reporter', []); }, {async: true}); desc("Generates code coverage data via instanbul"); From 7b531fcd05334c059a1eaa27c67807046a8bfeec Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Wed, 9 Mar 2016 13:06:06 -0800 Subject: [PATCH 187/342] Check this expressions in object literal methods Add a test and baseline --- src/compiler/checker.ts | 8 +++++++ .../reference/thisTypeInObjectLiterals.js | 16 ++++++++++++++ .../thisTypeInObjectLiterals.symbols | 19 +++++++++++++++++ .../reference/thisTypeInObjectLiterals.types | 21 +++++++++++++++++++ .../thisType/thisTypeInObjectLiterals.ts | 6 ++++++ 5 files changed, 70 insertions(+) create mode 100644 tests/baselines/reference/thisTypeInObjectLiterals.js create mode 100644 tests/baselines/reference/thisTypeInObjectLiterals.symbols create mode 100644 tests/baselines/reference/thisTypeInObjectLiterals.types create mode 100644 tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b5337082c0f..7073af85fcf 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7494,6 +7494,14 @@ namespace ts { const symbol = getSymbolOfNode(container.parent); return container.flags & NodeFlags.Static ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; } + if (container.parent && container.parent.kind === SyntaxKind.ObjectLiteralExpression) { + // Note: this works because object literal methods are deferred, + // which means that the type of the containing object literal is already known. + const type = checkExpressionCached(container.parent); + if (type) { + return type; + } + } if (isInJavaScriptFile(node)) { const type = getTypeForThisExpressionFromJSDoc(container); diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.js b/tests/baselines/reference/thisTypeInObjectLiterals.js new file mode 100644 index 00000000000..78854bf2388 --- /dev/null +++ b/tests/baselines/reference/thisTypeInObjectLiterals.js @@ -0,0 +1,16 @@ +//// [thisTypeInObjectLiterals.ts] +let o = { + d: "bar", + m() { + return this.d.length; + } +} + + +//// [thisTypeInObjectLiterals.js] +var o = { + d: "bar", + m: function () { + return this.d.length; + } +}; diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.symbols b/tests/baselines/reference/thisTypeInObjectLiterals.symbols new file mode 100644 index 00000000000..6bea6d88c58 --- /dev/null +++ b/tests/baselines/reference/thisTypeInObjectLiterals.symbols @@ -0,0 +1,19 @@ +=== tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts === +let o = { +>o : Symbol(o, Decl(thisTypeInObjectLiterals.ts, 0, 3)) + + d: "bar", +>d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) + + m() { +>m : Symbol(m, Decl(thisTypeInObjectLiterals.ts, 1, 13)) + + return this.d.length; +>this.d.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this.d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) +>this : Symbol(, Decl(thisTypeInObjectLiterals.ts, 0, 7)) +>d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) +>length : Symbol(String.length, Decl(lib.d.ts, --, --)) + } +} + diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.types b/tests/baselines/reference/thisTypeInObjectLiterals.types new file mode 100644 index 00000000000..824b0b00f4c --- /dev/null +++ b/tests/baselines/reference/thisTypeInObjectLiterals.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts === +let o = { +>o : { d: string; m(): number; } +>{ d: "bar", m() { return this.d.length; }} : { d: string; m(): number; } + + d: "bar", +>d : string +>"bar" : string + + m() { +>m : () => number + + return this.d.length; +>this.d.length : number +>this.d : string +>this : { d: string; m(): number; } +>d : string +>length : number + } +} + diff --git a/tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts b/tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts new file mode 100644 index 00000000000..11c6b58d710 --- /dev/null +++ b/tests/cases/conformance/types/thisType/thisTypeInObjectLiterals.ts @@ -0,0 +1,6 @@ +let o = { + d: "bar", + m() { + return this.d.length; + } +} From 4012587808d3027c88360c2f16e90075c2a32b90 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Wed, 9 Mar 2016 13:08:09 -0800 Subject: [PATCH 188/342] Update baselines: 'this' in object literal methods --- .../reference/commentsOnObjectLiteral3.symbols | 7 +++++++ .../reference/commentsOnObjectLiteral3.types | 12 ++++++------ .../baselines/reference/commentsOnObjectLiteral4.js | 7 ++++--- .../reference/commentsOnObjectLiteral4.symbols | 3 ++- .../reference/commentsOnObjectLiteral4.types | 9 ++++----- .../declFileObjectLiteralWithAccessors.symbols | 3 +++ .../declFileObjectLiteralWithAccessors.types | 6 +++--- .../declFileObjectLiteralWithOnlySetter.symbols | 3 +++ .../declFileObjectLiteralWithOnlySetter.types | 6 +++--- .../declarationEmitThisPredicates02.errors.txt | 7 ++++++- ...ionEmitThisPredicatesWithPrivateName02.errors.txt | 7 ++++++- ...xponentiationAssignmentWithIndexingOnLHS3.symbols | 7 +++++++ ...dExponentiationAssignmentWithIndexingOnLHS3.types | 12 ++++++------ .../reference/thisInObjectLiterals.errors.txt | 5 ++++- .../reference/throwInEnclosingStatements.symbols | 1 + .../reference/throwInEnclosingStatements.types | 2 +- tests/cases/compiler/commentsOnObjectLiteral4.ts | 4 ++-- .../expressions/thisKeyword/thisInObjectLiterals.ts | 2 +- 18 files changed, 69 insertions(+), 34 deletions(-) diff --git a/tests/baselines/reference/commentsOnObjectLiteral3.symbols b/tests/baselines/reference/commentsOnObjectLiteral3.symbols index 3d58fe2d6d7..81fa15b6a11 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral3.symbols +++ b/tests/baselines/reference/commentsOnObjectLiteral3.symbols @@ -21,6 +21,10 @@ var v = { >a : Symbol(a, Decl(commentsOnObjectLiteral3.ts, 8, 13), Decl(commentsOnObjectLiteral3.ts, 12, 18)) return this.prop; +>this.prop : Symbol(prop, Decl(commentsOnObjectLiteral3.ts, 1, 9)) +>this : Symbol(, Decl(commentsOnObjectLiteral3.ts, 1, 7)) +>prop : Symbol(prop, Decl(commentsOnObjectLiteral3.ts, 1, 9)) + } /*trailing 1*/, //setter set a(value) { @@ -28,6 +32,9 @@ var v = { >value : Symbol(value, Decl(commentsOnObjectLiteral3.ts, 14, 7)) this.prop = value; +>this.prop : Symbol(prop, Decl(commentsOnObjectLiteral3.ts, 1, 9)) +>this : Symbol(, Decl(commentsOnObjectLiteral3.ts, 1, 7)) +>prop : Symbol(prop, Decl(commentsOnObjectLiteral3.ts, 1, 9)) >value : Symbol(value, Decl(commentsOnObjectLiteral3.ts, 14, 7)) } // trailing 2 diff --git a/tests/baselines/reference/commentsOnObjectLiteral3.types b/tests/baselines/reference/commentsOnObjectLiteral3.types index a63920fce0f..26a1e2e4250 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral3.types +++ b/tests/baselines/reference/commentsOnObjectLiteral3.types @@ -24,9 +24,9 @@ var v = { >a : any return this.prop; ->this.prop : any ->this : any ->prop : any +>this.prop : number +>this : { prop: number; func: () => void; func1(): void; a: any; } +>prop : number } /*trailing 1*/, //setter @@ -36,9 +36,9 @@ var v = { this.prop = value; >this.prop = value : any ->this.prop : any ->this : any ->prop : any +>this.prop : number +>this : { prop: number; func: () => void; func1(): void; a: any; } +>prop : number >value : any } // trailing 2 diff --git a/tests/baselines/reference/commentsOnObjectLiteral4.js b/tests/baselines/reference/commentsOnObjectLiteral4.js index 3b7efefdff4..23e238b8307 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral4.js +++ b/tests/baselines/reference/commentsOnObjectLiteral4.js @@ -5,9 +5,10 @@ var v = { * @type {number} */ get bar(): number { - return this._bar; + return 12; } -} +} + //// [commentsOnObjectLiteral4.js] var v = { @@ -15,6 +16,6 @@ var v = { * @type {number} */ get bar() { - return this._bar; + return 12; } }; diff --git a/tests/baselines/reference/commentsOnObjectLiteral4.symbols b/tests/baselines/reference/commentsOnObjectLiteral4.symbols index c1762cb75c8..568d6332126 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral4.symbols +++ b/tests/baselines/reference/commentsOnObjectLiteral4.symbols @@ -9,6 +9,7 @@ var v = { get bar(): number { >bar : Symbol(bar, Decl(commentsOnObjectLiteral4.ts, 1, 9)) - return this._bar; + return 12; } } + diff --git a/tests/baselines/reference/commentsOnObjectLiteral4.types b/tests/baselines/reference/commentsOnObjectLiteral4.types index f458d73ae36..5d20d4f79cc 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral4.types +++ b/tests/baselines/reference/commentsOnObjectLiteral4.types @@ -2,7 +2,7 @@ var v = { >v : { readonly bar: number; } ->{ /** * @type {number} */ get bar(): number { return this._bar; }} : { readonly bar: number; } +>{ /** * @type {number} */ get bar(): number { return 12; }} : { readonly bar: number; } /** * @type {number} @@ -10,9 +10,8 @@ var v = { get bar(): number { >bar : number - return this._bar; ->this._bar : any ->this : any ->_bar : any + return 12; +>12 : number } } + diff --git a/tests/baselines/reference/declFileObjectLiteralWithAccessors.symbols b/tests/baselines/reference/declFileObjectLiteralWithAccessors.symbols index 862b0b3781e..9b3599da674 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithAccessors.symbols +++ b/tests/baselines/reference/declFileObjectLiteralWithAccessors.symbols @@ -15,6 +15,9 @@ function /*1*/makePoint(x: number) { set x(a: number) { this.b = a; } >x : Symbol(x, Decl(declFileObjectLiteralWithAccessors.ts, 3, 14), Decl(declFileObjectLiteralWithAccessors.ts, 4, 30)) >a : Symbol(a, Decl(declFileObjectLiteralWithAccessors.ts, 5, 14)) +>this.b : Symbol(b, Decl(declFileObjectLiteralWithAccessors.ts, 2, 12)) +>this : Symbol(, Decl(declFileObjectLiteralWithAccessors.ts, 2, 10)) +>b : Symbol(b, Decl(declFileObjectLiteralWithAccessors.ts, 2, 12)) >a : Symbol(a, Decl(declFileObjectLiteralWithAccessors.ts, 5, 14)) }; diff --git a/tests/baselines/reference/declFileObjectLiteralWithAccessors.types b/tests/baselines/reference/declFileObjectLiteralWithAccessors.types index f7bb57b0e1e..1bf012605c1 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithAccessors.types +++ b/tests/baselines/reference/declFileObjectLiteralWithAccessors.types @@ -19,9 +19,9 @@ function /*1*/makePoint(x: number) { >x : number >a : number >this.b = a : number ->this.b : any ->this : any ->b : any +>this.b : number +>this : { b: number; x: number; } +>b : number >a : number }; diff --git a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.symbols b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.symbols index f7474466140..89b7b9dd747 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.symbols +++ b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.symbols @@ -11,6 +11,9 @@ function /*1*/makePoint(x: number) { set x(a: number) { this.b = a; } >x : Symbol(x, Decl(declFileObjectLiteralWithOnlySetter.ts, 3, 14)) >a : Symbol(a, Decl(declFileObjectLiteralWithOnlySetter.ts, 4, 14)) +>this.b : Symbol(b, Decl(declFileObjectLiteralWithOnlySetter.ts, 2, 12)) +>this : Symbol(, Decl(declFileObjectLiteralWithOnlySetter.ts, 2, 10)) +>b : Symbol(b, Decl(declFileObjectLiteralWithOnlySetter.ts, 2, 12)) >a : Symbol(a, Decl(declFileObjectLiteralWithOnlySetter.ts, 4, 14)) }; diff --git a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types index 2b9b98a8963..1bce86915ad 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types +++ b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types @@ -15,9 +15,9 @@ function /*1*/makePoint(x: number) { >x : number >a : number >this.b = a : number ->this.b : any ->this : any ->b : any +>this.b : number +>this : { b: number; x: number; } +>b : number >a : number }; diff --git a/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt b/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt index 4d95cf01136..8cf85d4f764 100644 --- a/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt +++ b/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt @@ -1,7 +1,9 @@ tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts(9,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. +tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts(10,19): error TS2352: Neither type '{ m(): this is Foo; }' nor type 'Foo' is assignable to the other. + Property 'a' is missing in type '{ m(): this is Foo; }'. -==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts (1 errors) ==== +==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts (2 errors) ==== export interface Foo { a: string; @@ -14,6 +16,9 @@ tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredic ~~~~ !!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. let dis = this as Foo; + ~~~~~~~~~~~ +!!! error TS2352: Neither type '{ m(): this is Foo; }' nor type 'Foo' is assignable to the other. +!!! error TS2352: Property 'a' is missing in type '{ m(): this is Foo; }'. return dis.a != null && dis.b != null && dis.c != null; } } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt b/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt index 86c0f478133..0c0661023f5 100644 --- a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt +++ b/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt @@ -1,8 +1,10 @@ tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts(8,14): error TS4025: Exported variable 'obj' has or is using private name 'Foo'. tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts(9,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. +tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts(10,19): error TS2352: Neither type '{ m(): this is Foo; }' nor type 'Foo' is assignable to the other. + Property 'a' is missing in type '{ m(): this is Foo; }'. -==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts (2 errors) ==== +==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts (3 errors) ==== interface Foo { a: string; @@ -17,6 +19,9 @@ tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredic ~~~~ !!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. let dis = this as Foo; + ~~~~~~~~~~~ +!!! error TS2352: Neither type '{ m(): this is Foo; }' nor type 'Foo' is assignable to the other. +!!! error TS2352: Property 'a' is missing in type '{ m(): this is Foo; }'. return dis.a != null && dis.b != null && dis.c != null; } } \ No newline at end of file diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.symbols b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.symbols index dbd5aa150dc..4da659c4a1a 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.symbols +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.symbols @@ -8,11 +8,18 @@ var object = { get 0() { return this._0; +>this._0 : Symbol(_0, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 14)) +>this : Symbol(, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 12)) +>_0 : Symbol(_0, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 14)) + }, set 0(x: number) { >x : Symbol(x, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 6, 10)) this._0 = x; +>this._0 : Symbol(_0, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 14)) +>this : Symbol(, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 12)) +>_0 : Symbol(_0, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 1, 14)) >x : Symbol(x, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS3.ts, 6, 10)) }, diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types index 1877f391207..b47c88f3de3 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types @@ -10,9 +10,9 @@ var object = { get 0() { return this._0; ->this._0 : any ->this : any ->_0 : any +>this._0 : number +>this : { 0: number; _0: number; } +>_0 : number }, set 0(x: number) { @@ -20,9 +20,9 @@ var object = { this._0 = x; >this._0 = x : number ->this._0 : any ->this : any ->_0 : any +>this._0 : number +>this : { 0: number; _0: number; } +>_0 : number >x : number }, diff --git a/tests/baselines/reference/thisInObjectLiterals.errors.txt b/tests/baselines/reference/thisInObjectLiterals.errors.txt index 73300d86d74..f956ce42e34 100644 --- a/tests/baselines/reference/thisInObjectLiterals.errors.txt +++ b/tests/baselines/reference/thisInObjectLiterals.errors.txt @@ -1,7 +1,8 @@ tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(7,13): error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type '{ x: this; y: number; }', but here has type '{ x: MyClass; y: number; }'. +tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(14,21): error TS2339: Property 'spaaace' does not exist on type '{ f(): any; }'. -==== tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts (1 errors) ==== +==== tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts (2 errors) ==== class MyClass { t: number; @@ -18,6 +19,8 @@ tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(7,13): e var obj = { f() { return this.spaaace; + ~~~~~~~ +!!! error TS2339: Property 'spaaace' does not exist on type '{ f(): any; }'. } }; var obj: { f: () => any; }; diff --git a/tests/baselines/reference/throwInEnclosingStatements.symbols b/tests/baselines/reference/throwInEnclosingStatements.symbols index 42053c60efa..06fd9d53ff8 100644 --- a/tests/baselines/reference/throwInEnclosingStatements.symbols +++ b/tests/baselines/reference/throwInEnclosingStatements.symbols @@ -89,6 +89,7 @@ var aa = { >biz : Symbol(biz, Decl(throwInEnclosingStatements.ts, 41, 10)) throw this; +>this : Symbol(, Decl(throwInEnclosingStatements.ts, 40, 8)) } } diff --git a/tests/baselines/reference/throwInEnclosingStatements.types b/tests/baselines/reference/throwInEnclosingStatements.types index 32f0fb093bc..8add6e8b1a8 100644 --- a/tests/baselines/reference/throwInEnclosingStatements.types +++ b/tests/baselines/reference/throwInEnclosingStatements.types @@ -104,7 +104,7 @@ var aa = { >biz : () => void throw this; ->this : any +>this : { id: number; biz(): void; } } } diff --git a/tests/cases/compiler/commentsOnObjectLiteral4.ts b/tests/cases/compiler/commentsOnObjectLiteral4.ts index d685304f31e..dfb9e42b3cb 100644 --- a/tests/cases/compiler/commentsOnObjectLiteral4.ts +++ b/tests/cases/compiler/commentsOnObjectLiteral4.ts @@ -6,6 +6,6 @@ var v = { * @type {number} */ get bar(): number { - return this._bar; + return 12; } -} \ No newline at end of file +} diff --git a/tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts b/tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts index da38484bc07..ddfbb790980 100644 --- a/tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts +++ b/tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts @@ -8,7 +8,7 @@ class MyClass { } } -//type of 'this' in an object literal property of a function type is Any +//type of 'this' in an object literal method is the type of the object literal var obj = { f() { return this.spaaace; From 32978247bd1778136a2d83a87a2d6cf7fb729e09 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Wed, 9 Mar 2016 13:20:49 -0800 Subject: [PATCH 189/342] Add missed update of thisInObjectLiterals baseline --- tests/baselines/reference/thisInObjectLiterals.errors.txt | 2 +- tests/baselines/reference/thisInObjectLiterals.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/baselines/reference/thisInObjectLiterals.errors.txt b/tests/baselines/reference/thisInObjectLiterals.errors.txt index f956ce42e34..b0b1c63a34a 100644 --- a/tests/baselines/reference/thisInObjectLiterals.errors.txt +++ b/tests/baselines/reference/thisInObjectLiterals.errors.txt @@ -15,7 +15,7 @@ tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(14,21): } } - //type of 'this' in an object literal property of a function type is Any + //type of 'this' in an object literal method is the type of the object literal var obj = { f() { return this.spaaace; diff --git a/tests/baselines/reference/thisInObjectLiterals.js b/tests/baselines/reference/thisInObjectLiterals.js index 4e71347a366..6c8380060a7 100644 --- a/tests/baselines/reference/thisInObjectLiterals.js +++ b/tests/baselines/reference/thisInObjectLiterals.js @@ -9,7 +9,7 @@ class MyClass { } } -//type of 'this' in an object literal property of a function type is Any +//type of 'this' in an object literal method is the type of the object literal var obj = { f() { return this.spaaace; @@ -29,7 +29,7 @@ var MyClass = (function () { }; return MyClass; }()); -//type of 'this' in an object literal property of a function type is Any +//type of 'this' in an object literal method is the type of the object literal var obj = { f: function () { return this.spaaace; From 3a46e72bde6f3fd8f9801022575f9024e95a9339 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Wed, 9 Mar 2016 13:40:17 -0800 Subject: [PATCH 190/342] After merge, update error numbers in baselines --- .../thisTypeInFunctionsNegative.errors.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index fdb9489f639..c48ea11b3b0 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -91,10 +91,10 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(168,1): er tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(170,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. Types of parameters 'this' and 'this' are incompatible. Type 'Base1' is not assignable to type 'Base2'. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,17): error TS2674: A constructor cannot have a 'this' parameter. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,30): error TS2673: 'this' parameter must be the first parameter. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(179,16): error TS2678: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(180,24): error TS2678: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(184,17): error TS2680: A constructor cannot have a 'this' parameter. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,30): error TS2679: 'this' parameter must be the first parameter. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(187,61): error TS2339: Property 'n' does not exist on type 'void'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(190,26): error TS1003: Identifier expected. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(190,30): error TS1005: ',' expected. @@ -443,21 +443,21 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(197,35): e } let voidThis = new VoidThis(); ~~~~~~~~~~~~~~ -!!! error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +!!! error TS2678: A function that is called with the 'new' keyword cannot have a 'this' type that is void. let implicitVoidThis = new ImplicitVoidThis(); ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2672: A function that is called with the 'new' keyword cannot have a 'this' type that is void. +!!! error TS2678: A function that is called with the 'new' keyword cannot have a 'this' type that is void. ///// syntax-ish errors ///// class ThisConstructor { constructor(this: ThisConstructor, private n: number) { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2674: A constructor cannot have a 'this' parameter. +!!! error TS2680: A constructor cannot have a 'this' parameter. } } function notFirst(a: number, this: C): number { return this.n; } ~~~~~~~ -!!! error TS2673: 'this' parameter must be the first parameter. +!!! error TS2679: 'this' parameter must be the first parameter. ~ !!! error TS2339: Property 'n' does not exist on type 'void'. From 14941f26a05962b6e838f59c6359f0b046765128 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 9 Mar 2016 14:35:03 -0800 Subject: [PATCH 191/342] Add tests for each variant of UMD augmentation --- .../baselines/reference/umd-augmentation-1.js | 50 ++++++++ .../reference/umd-augmentation-1.symbols | 95 +++++++++++++++ .../reference/umd-augmentation-1.types | 105 ++++++++++++++++ .../baselines/reference/umd-augmentation-2.js | 49 ++++++++ .../reference/umd-augmentation-2.symbols | 93 ++++++++++++++ .../reference/umd-augmentation-2.types | 103 ++++++++++++++++ .../baselines/reference/umd-augmentation-3.js | 56 +++++++++ .../reference/umd-augmentation-3.symbols | 104 ++++++++++++++++ .../reference/umd-augmentation-3.types | 114 ++++++++++++++++++ .../baselines/reference/umd-augmentation-4.js | 55 +++++++++ .../reference/umd-augmentation-4.symbols | 102 ++++++++++++++++ .../reference/umd-augmentation-4.types | 112 +++++++++++++++++ .../externalModules/umd-augmentation-1.ts | 39 ++++++ .../externalModules/umd-augmentation-2.ts | 39 ++++++ .../externalModules/umd-augmentation-3.ts | 45 +++++++ .../externalModules/umd-augmentation-4.ts | 45 +++++++ 16 files changed, 1206 insertions(+) create mode 100644 tests/baselines/reference/umd-augmentation-1.js create mode 100644 tests/baselines/reference/umd-augmentation-1.symbols create mode 100644 tests/baselines/reference/umd-augmentation-1.types create mode 100644 tests/baselines/reference/umd-augmentation-2.js create mode 100644 tests/baselines/reference/umd-augmentation-2.symbols create mode 100644 tests/baselines/reference/umd-augmentation-2.types create mode 100644 tests/baselines/reference/umd-augmentation-3.js create mode 100644 tests/baselines/reference/umd-augmentation-3.symbols create mode 100644 tests/baselines/reference/umd-augmentation-3.types create mode 100644 tests/baselines/reference/umd-augmentation-4.js create mode 100644 tests/baselines/reference/umd-augmentation-4.symbols create mode 100644 tests/baselines/reference/umd-augmentation-4.types create mode 100644 tests/cases/conformance/externalModules/umd-augmentation-1.ts create mode 100644 tests/cases/conformance/externalModules/umd-augmentation-2.ts create mode 100644 tests/cases/conformance/externalModules/umd-augmentation-3.ts create mode 100644 tests/cases/conformance/externalModules/umd-augmentation-4.ts diff --git a/tests/baselines/reference/umd-augmentation-1.js b/tests/baselines/reference/umd-augmentation-1.js new file mode 100644 index 00000000000..b3ffcf670a8 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-1.js @@ -0,0 +1,50 @@ +//// [tests/cases/conformance/externalModules/umd-augmentation-1.ts] //// + +//// [index.d.ts] + +export as namespace Math2d; + +export interface Point { + x: number; + y: number; +} + +export class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; +} + +export function getLength(p: Vector): number; + +//// [math2d-augment.d.ts] +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +//// [b.ts] +/// +import * as m from 'math2d'; +let v = new m.Vector(3, 2); +let magnitude = m.getLength(v); +let p: m.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; + + +//// [b.js] +"use strict"; +/// +var m = require('math2d'); +var v = new m.Vector(3, 2); +var magnitude = m.getLength(v); +var p = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/baselines/reference/umd-augmentation-1.symbols b/tests/baselines/reference/umd-augmentation-1.symbols new file mode 100644 index 00000000000..15dab071bb4 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-1.symbols @@ -0,0 +1,95 @@ +=== tests/cases/conformance/externalModules/b.ts === +/// +import * as m from 'math2d'; +>m : Symbol(m, Decl(b.ts, 1, 6)) + +let v = new m.Vector(3, 2); +>v : Symbol(v, Decl(b.ts, 2, 3)) +>m.Vector : Symbol(m.Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>Vector : Symbol(m.Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) + +let magnitude = m.getLength(v); +>magnitude : Symbol(magnitude, Decl(b.ts, 3, 3)) +>m.getLength : Symbol(m.getLength, Decl(index.d.ts, 14, 1)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>getLength : Symbol(m.getLength, Decl(index.d.ts, 14, 1)) +>v : Symbol(v, Decl(b.ts, 2, 3)) + +let p: m.Point = v.translate(5, 5); +>p : Symbol(p, Decl(b.ts, 4, 3)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>Point : Symbol(m.Point, Decl(index.d.ts, 1, 27)) +>v.translate : Symbol(m.Vector.translate, Decl(index.d.ts, 11, 35)) +>v : Symbol(v, Decl(b.ts, 2, 3)) +>translate : Symbol(m.Vector.translate, Decl(index.d.ts, 11, 35)) + +p = v.reverse(); +>p : Symbol(p, Decl(b.ts, 4, 3)) +>v.reverse : Symbol(m.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) +>v : Symbol(v, Decl(b.ts, 2, 3)) +>reverse : Symbol(m.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) + +var t = p.x; +>t : Symbol(t, Decl(b.ts, 6, 3)) +>p.x : Symbol(m.Point.x, Decl(index.d.ts, 3, 24)) +>p : Symbol(p, Decl(b.ts, 4, 3)) +>x : Symbol(m.Point.x, Decl(index.d.ts, 3, 24)) + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; + +export interface Point { +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 3, 24)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 4, 11)) +} + +export class Vector implements Point { +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 8, 38)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 9, 11)) + + constructor(x: number, y: number); +>x : Symbol(x, Decl(index.d.ts, 11, 13)) +>y : Symbol(y, Decl(index.d.ts, 11, 23)) + + translate(dx: number, dy: number): Vector; +>translate : Symbol(translate, Decl(index.d.ts, 11, 35)) +>dx : Symbol(dx, Decl(index.d.ts, 13, 11)) +>dy : Symbol(dy, Decl(index.d.ts, 13, 22)) +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) +} + +export function getLength(p: Vector): number; +>getLength : Symbol(getLength, Decl(index.d.ts, 14, 1)) +>p : Symbol(p, Decl(index.d.ts, 16, 26)) +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) + + reverse(): Math2d.Point; +>reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + } +} + diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types new file mode 100644 index 00000000000..31ac43fe855 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -0,0 +1,105 @@ +=== tests/cases/conformance/externalModules/b.ts === +/// +import * as m from 'math2d'; +>m : typeof m + +let v = new m.Vector(3, 2); +>v : m.Vector +>new m.Vector(3, 2) : m.Vector +>m.Vector : typeof m.Vector +>m : typeof m +>Vector : typeof m.Vector +>3 : number +>2 : number + +let magnitude = m.getLength(v); +>magnitude : number +>m.getLength(v) : number +>m.getLength : (p: m.Vector) => number +>m : typeof m +>getLength : (p: m.Vector) => number +>v : m.Vector + +let p: m.Point = v.translate(5, 5); +>p : m.Point +>m : any +>Point : m.Point +>v.translate(5, 5) : m.Vector +>v.translate : (dx: number, dy: number) => m.Vector +>v : m.Vector +>translate : (dx: number, dy: number) => m.Vector +>5 : number +>5 : number + +p = v.reverse(); +>p = v.reverse() : m.Point +>p : m.Point +>v.reverse() : m.Point +>v.reverse : () => m.Point +>v : m.Vector +>reverse : () => m.Point + +var t = p.x; +>t : number +>p.x : number +>p : m.Point +>x : number + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; +>Math2d : any + +export interface Point { +>Point : Point + + x: number; +>x : number + + y: number; +>y : number +} + +export class Vector implements Point { +>Vector : Vector +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + + constructor(x: number, y: number); +>x : number +>y : number + + translate(dx: number, dy: number): Vector; +>translate : (dx: number, dy: number) => Vector +>dx : number +>dy : number +>Vector : Vector +} + +export function getLength(p: Vector): number; +>getLength : (p: Vector) => number +>p : Vector +>Vector : Vector + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : typeof Math2d + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Vector + + reverse(): Math2d.Point; +>reverse : () => Point +>Math2d : any +>Point : Point + } +} + diff --git a/tests/baselines/reference/umd-augmentation-2.js b/tests/baselines/reference/umd-augmentation-2.js new file mode 100644 index 00000000000..a4a98690b52 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-2.js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/externalModules/umd-augmentation-2.ts] //// + +//// [index.d.ts] + +export as namespace Math2d; + +export interface Point { + x: number; + y: number; +} + +export class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; +} + +export function getLength(p: Vector): number; + +//// [math2d-augment.d.ts] +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +//// [a.ts] +/// +/// +let v = new Math2d.Vector(3, 2); +let magnitude = Math2d.getLength(v); +let p: Math2d.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; + + +//// [a.js] +/// +/// +var v = new exports.Math2d.Vector(3, 2); +var magnitude = exports.Math2d.getLength(v); +var p = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/baselines/reference/umd-augmentation-2.symbols b/tests/baselines/reference/umd-augmentation-2.symbols new file mode 100644 index 00000000000..4e5163f7499 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-2.symbols @@ -0,0 +1,93 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +/// +let v = new Math2d.Vector(3, 2); +>v : Symbol(v, Decl(a.ts, 2, 3)) +>Math2d.Vector : Symbol(Math2d.Vector, Decl(index.d.ts, 6, 1)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>Vector : Symbol(Math2d.Vector, Decl(index.d.ts, 6, 1)) + +let magnitude = Math2d.getLength(v); +>magnitude : Symbol(magnitude, Decl(a.ts, 3, 3)) +>Math2d.getLength : Symbol(Math2d.getLength, Decl(index.d.ts, 14, 1)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>getLength : Symbol(Math2d.getLength, Decl(index.d.ts, 14, 1)) +>v : Symbol(v, Decl(a.ts, 2, 3)) + +let p: Math2d.Point = v.translate(5, 5); +>p : Symbol(p, Decl(a.ts, 4, 3)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>Point : Symbol(Math2d.Point, Decl(index.d.ts, 1, 27)) +>v.translate : Symbol(Vector.translate, Decl(index.d.ts, 11, 35)) +>v : Symbol(v, Decl(a.ts, 2, 3)) +>translate : Symbol(Vector.translate, Decl(index.d.ts, 11, 35)) + +p = v.reverse(); +>p : Symbol(p, Decl(a.ts, 4, 3)) +>v.reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) +>v : Symbol(v, Decl(a.ts, 2, 3)) +>reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) + +var t = p.x; +>t : Symbol(t, Decl(a.ts, 6, 3)) +>p.x : Symbol(Math2d.Point.x, Decl(index.d.ts, 3, 24)) +>p : Symbol(p, Decl(a.ts, 4, 3)) +>x : Symbol(Math2d.Point.x, Decl(index.d.ts, 3, 24)) + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; + +export interface Point { +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 3, 24)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 4, 11)) +} + +export class Vector implements Point { +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 8, 38)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 9, 11)) + + constructor(x: number, y: number); +>x : Symbol(x, Decl(index.d.ts, 11, 13)) +>y : Symbol(y, Decl(index.d.ts, 11, 23)) + + translate(dx: number, dy: number): Vector; +>translate : Symbol(translate, Decl(index.d.ts, 11, 35)) +>dx : Symbol(dx, Decl(index.d.ts, 13, 11)) +>dy : Symbol(dy, Decl(index.d.ts, 13, 22)) +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) +} + +export function getLength(p: Vector): number; +>getLength : Symbol(getLength, Decl(index.d.ts, 14, 1)) +>p : Symbol(p, Decl(index.d.ts, 16, 26)) +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) + + reverse(): Math2d.Point; +>reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) +>Point : Symbol(Point, Decl(index.d.ts, 1, 27)) + } +} + diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types new file mode 100644 index 00000000000..20bba091903 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -0,0 +1,103 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +/// +let v = new Math2d.Vector(3, 2); +>v : Vector +>new Math2d.Vector(3, 2) : Vector +>Math2d.Vector : typeof Math2d.Vector +>Math2d : typeof Math2d +>Vector : typeof Math2d.Vector +>3 : number +>2 : number + +let magnitude = Math2d.getLength(v); +>magnitude : number +>Math2d.getLength(v) : number +>Math2d.getLength : (p: Vector) => number +>Math2d : typeof Math2d +>getLength : (p: Vector) => number +>v : Vector + +let p: Math2d.Point = v.translate(5, 5); +>p : Math2d.Point +>Math2d : any +>Point : Math2d.Point +>v.translate(5, 5) : Vector +>v.translate : (dx: number, dy: number) => Vector +>v : Vector +>translate : (dx: number, dy: number) => Vector +>5 : number +>5 : number + +p = v.reverse(); +>p = v.reverse() : Math2d.Point +>p : Math2d.Point +>v.reverse() : Math2d.Point +>v.reverse : () => Math2d.Point +>v : Vector +>reverse : () => Math2d.Point + +var t = p.x; +>t : number +>p.x : number +>p : Math2d.Point +>x : number + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; +>Math2d : any + +export interface Point { +>Point : Point + + x: number; +>x : number + + y: number; +>y : number +} + +export class Vector implements Point { +>Vector : Vector +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + + constructor(x: number, y: number); +>x : number +>y : number + + translate(dx: number, dy: number): Vector; +>translate : (dx: number, dy: number) => Vector +>dx : number +>dy : number +>Vector : Vector +} + +export function getLength(p: Vector): number; +>getLength : (p: Vector) => number +>p : Vector +>Vector : Vector + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : typeof Math2d + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Vector + + reverse(): Math2d.Point; +>reverse : () => Point +>Math2d : any +>Point : Point + } +} + diff --git a/tests/baselines/reference/umd-augmentation-3.js b/tests/baselines/reference/umd-augmentation-3.js new file mode 100644 index 00000000000..2b8eac7bf63 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-3.js @@ -0,0 +1,56 @@ +//// [tests/cases/conformance/externalModules/umd-augmentation-3.ts] //// + +//// [index.d.ts] + +export as namespace Math2d; + +export = M2D; + +declare namespace M2D { + interface Point { + x: number; + y: number; + } + + class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; + } + + function getLength(p: Vector): number; + +} + + +//// [math2d-augment.d.ts] +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +//// [b.ts] +/// +import * as m from 'math2d'; +let v = new m.Vector(3, 2); +let magnitude = m.getLength(v); +let p: m.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; + + +//// [b.js] +"use strict"; +/// +var m = require('math2d'); +var v = new m.Vector(3, 2); +var magnitude = m.getLength(v); +var p = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/baselines/reference/umd-augmentation-3.symbols b/tests/baselines/reference/umd-augmentation-3.symbols new file mode 100644 index 00000000000..049630e647a --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-3.symbols @@ -0,0 +1,104 @@ +=== tests/cases/conformance/externalModules/b.ts === +/// +import * as m from 'math2d'; +>m : Symbol(m, Decl(b.ts, 1, 6)) + +let v = new m.Vector(3, 2); +>v : Symbol(v, Decl(b.ts, 2, 3)) +>m.Vector : Symbol(m.Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>Vector : Symbol(m.Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + +let magnitude = m.getLength(v); +>magnitude : Symbol(magnitude, Decl(b.ts, 3, 3)) +>m.getLength : Symbol(m.getLength, Decl(index.d.ts, 17, 2)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>getLength : Symbol(m.getLength, Decl(index.d.ts, 17, 2)) +>v : Symbol(v, Decl(b.ts, 2, 3)) + +let p: m.Point = v.translate(5, 5); +>p : Symbol(p, Decl(b.ts, 4, 3)) +>m : Symbol(m, Decl(b.ts, 1, 6)) +>Point : Symbol(m.Point, Decl(index.d.ts, 5, 23)) +>v.translate : Symbol(m.Vector.translate, Decl(index.d.ts, 14, 36)) +>v : Symbol(v, Decl(b.ts, 2, 3)) +>translate : Symbol(m.Vector.translate, Decl(index.d.ts, 14, 36)) + +p = v.reverse(); +>p : Symbol(p, Decl(b.ts, 4, 3)) +>v.reverse : Symbol(m.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) +>v : Symbol(v, Decl(b.ts, 2, 3)) +>reverse : Symbol(m.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) + +var t = p.x; +>t : Symbol(t, Decl(b.ts, 6, 3)) +>p.x : Symbol(m.Point.x, Decl(index.d.ts, 6, 18)) +>p : Symbol(p, Decl(b.ts, 4, 3)) +>x : Symbol(m.Point.x, Decl(index.d.ts, 6, 18)) + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; + +export = M2D; +>M2D : Symbol(M2D, Decl(index.d.ts, 3, 13)) + +declare namespace M2D { +>M2D : Symbol(, Decl(index.d.ts, 3, 13), Decl(math2d-augment.d.ts, 0, 33)) + + interface Point { +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 6, 18)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 7, 12)) + } + + class Vector implements Point { +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 11, 32)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 12, 12)) + + constructor(x: number, y: number); +>x : Symbol(x, Decl(index.d.ts, 14, 14)) +>y : Symbol(y, Decl(index.d.ts, 14, 24)) + + translate(dx: number, dy: number): Vector; +>translate : Symbol(translate, Decl(index.d.ts, 14, 36)) +>dx : Symbol(dx, Decl(index.d.ts, 16, 12)) +>dy : Symbol(dy, Decl(index.d.ts, 16, 23)) +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + } + + function getLength(p: Vector): number; +>getLength : Symbol(getLength, Decl(index.d.ts, 17, 2)) +>p : Symbol(p, Decl(index.d.ts, 19, 20)) +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + +} + + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + + reverse(): Math2d.Point; +>reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + } +} + diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types new file mode 100644 index 00000000000..09a383dc881 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -0,0 +1,114 @@ +=== tests/cases/conformance/externalModules/b.ts === +/// +import * as m from 'math2d'; +>m : typeof m + +let v = new m.Vector(3, 2); +>v : m.Vector +>new m.Vector(3, 2) : m.Vector +>m.Vector : typeof m.Vector +>m : typeof m +>Vector : typeof m.Vector +>3 : number +>2 : number + +let magnitude = m.getLength(v); +>magnitude : number +>m.getLength(v) : number +>m.getLength : (p: m.Vector) => number +>m : typeof m +>getLength : (p: m.Vector) => number +>v : m.Vector + +let p: m.Point = v.translate(5, 5); +>p : m.Point +>m : any +>Point : m.Point +>v.translate(5, 5) : m.Vector +>v.translate : (dx: number, dy: number) => m.Vector +>v : m.Vector +>translate : (dx: number, dy: number) => m.Vector +>5 : number +>5 : number + +p = v.reverse(); +>p = v.reverse() : m.Point +>p : m.Point +>v.reverse() : m.Point +>v.reverse : () => m.Point +>v : m.Vector +>reverse : () => m.Point + +var t = p.x; +>t : number +>p.x : number +>p : m.Point +>x : number + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; +>Math2d : any + +export = M2D; +>M2D : typeof M2D + +declare namespace M2D { +>M2D : typeof + + interface Point { +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + } + + class Vector implements Point { +>Vector : Vector +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + + constructor(x: number, y: number); +>x : number +>y : number + + translate(dx: number, dy: number): Vector; +>translate : (dx: number, dy: number) => Vector +>dx : number +>dy : number +>Vector : Vector + } + + function getLength(p: Vector): number; +>getLength : (p: Vector) => number +>p : Vector +>Vector : Vector + +} + + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : typeof Math2d + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Vector + + reverse(): Math2d.Point; +>reverse : () => Point +>Math2d : any +>Point : Point + } +} + diff --git a/tests/baselines/reference/umd-augmentation-4.js b/tests/baselines/reference/umd-augmentation-4.js new file mode 100644 index 00000000000..da0f2ec1777 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-4.js @@ -0,0 +1,55 @@ +//// [tests/cases/conformance/externalModules/umd-augmentation-4.ts] //// + +//// [index.d.ts] + +export as namespace Math2d; + +export = M2D; + +declare namespace M2D { + interface Point { + x: number; + y: number; + } + + class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; + } + + function getLength(p: Vector): number; + +} + + +//// [math2d-augment.d.ts] +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +//// [a.ts] +/// +/// +let v = new Math2d.Vector(3, 2); +let magnitude = Math2d.getLength(v); +let p: Math2d.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; + + +//// [a.js] +/// +/// +var v = new exports.Math2d.Vector(3, 2); +var magnitude = exports.Math2d.getLength(v); +var p = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/baselines/reference/umd-augmentation-4.symbols b/tests/baselines/reference/umd-augmentation-4.symbols new file mode 100644 index 00000000000..ea36e0c7992 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-4.symbols @@ -0,0 +1,102 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +/// +let v = new Math2d.Vector(3, 2); +>v : Symbol(v, Decl(a.ts, 2, 3)) +>Math2d.Vector : Symbol(Math2d.Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>Vector : Symbol(Math2d.Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + +let magnitude = Math2d.getLength(v); +>magnitude : Symbol(magnitude, Decl(a.ts, 3, 3)) +>Math2d.getLength : Symbol(Math2d.getLength, Decl(index.d.ts, 17, 2)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>getLength : Symbol(Math2d.getLength, Decl(index.d.ts, 17, 2)) +>v : Symbol(v, Decl(a.ts, 2, 3)) + +let p: Math2d.Point = v.translate(5, 5); +>p : Symbol(p, Decl(a.ts, 4, 3)) +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) +>Point : Symbol(Math2d.Point, Decl(index.d.ts, 5, 23)) +>v.translate : Symbol(Math2d.Vector.translate, Decl(index.d.ts, 14, 36)) +>v : Symbol(v, Decl(a.ts, 2, 3)) +>translate : Symbol(Math2d.Vector.translate, Decl(index.d.ts, 14, 36)) + +p = v.reverse(); +>p : Symbol(p, Decl(a.ts, 4, 3)) +>v.reverse : Symbol(Math2d.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) +>v : Symbol(v, Decl(a.ts, 2, 3)) +>reverse : Symbol(Math2d.Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) + +var t = p.x; +>t : Symbol(t, Decl(a.ts, 6, 3)) +>p.x : Symbol(Math2d.Point.x, Decl(index.d.ts, 6, 18)) +>p : Symbol(p, Decl(a.ts, 4, 3)) +>x : Symbol(Math2d.Point.x, Decl(index.d.ts, 6, 18)) + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; + +export = M2D; +>M2D : Symbol(M2D, Decl(index.d.ts, 3, 13)) + +declare namespace M2D { +>M2D : Symbol(Math2d, Decl(index.d.ts, 3, 13), Decl(math2d-augment.d.ts, 0, 33)) + + interface Point { +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 6, 18)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 7, 12)) + } + + class Vector implements Point { +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + + x: number; +>x : Symbol(x, Decl(index.d.ts, 11, 32)) + + y: number; +>y : Symbol(y, Decl(index.d.ts, 12, 12)) + + constructor(x: number, y: number); +>x : Symbol(x, Decl(index.d.ts, 14, 14)) +>y : Symbol(y, Decl(index.d.ts, 14, 24)) + + translate(dx: number, dy: number): Vector; +>translate : Symbol(translate, Decl(index.d.ts, 14, 36)) +>dx : Symbol(dx, Decl(index.d.ts, 16, 12)) +>dy : Symbol(dy, Decl(index.d.ts, 16, 23)) +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + } + + function getLength(p: Vector): number; +>getLength : Symbol(getLength, Decl(index.d.ts, 17, 2)) +>p : Symbol(p, Decl(index.d.ts, 19, 20)) +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + +} + + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) + + reverse(): Math2d.Point; +>reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) +>Point : Symbol(Point, Decl(index.d.ts, 5, 23)) + } +} + diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types new file mode 100644 index 00000000000..71783d03012 --- /dev/null +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -0,0 +1,112 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +/// +let v = new Math2d.Vector(3, 2); +>v : Math2d.Vector +>new Math2d.Vector(3, 2) : Math2d.Vector +>Math2d.Vector : typeof Math2d.Vector +>Math2d : typeof Math2d +>Vector : typeof Math2d.Vector +>3 : number +>2 : number + +let magnitude = Math2d.getLength(v); +>magnitude : number +>Math2d.getLength(v) : number +>Math2d.getLength : (p: Math2d.Vector) => number +>Math2d : typeof Math2d +>getLength : (p: Math2d.Vector) => number +>v : Math2d.Vector + +let p: Math2d.Point = v.translate(5, 5); +>p : Math2d.Point +>Math2d : any +>Point : Math2d.Point +>v.translate(5, 5) : Math2d.Vector +>v.translate : (dx: number, dy: number) => Math2d.Vector +>v : Math2d.Vector +>translate : (dx: number, dy: number) => Math2d.Vector +>5 : number +>5 : number + +p = v.reverse(); +>p = v.reverse() : Math2d.Point +>p : Math2d.Point +>v.reverse() : Math2d.Point +>v.reverse : () => Math2d.Point +>v : Math2d.Vector +>reverse : () => Math2d.Point + +var t = p.x; +>t : number +>p.x : number +>p : Math2d.Point +>x : number + +=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === + +export as namespace Math2d; +>Math2d : any + +export = M2D; +>M2D : typeof M2D + +declare namespace M2D { +>M2D : typeof Math2d + + interface Point { +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + } + + class Vector implements Point { +>Vector : Vector +>Point : Point + + x: number; +>x : number + + y: number; +>y : number + + constructor(x: number, y: number); +>x : number +>y : number + + translate(dx: number, dy: number): Vector; +>translate : (dx: number, dy: number) => Vector +>dx : number +>dy : number +>Vector : Vector + } + + function getLength(p: Vector): number; +>getLength : (p: Vector) => number +>p : Vector +>Vector : Vector + +} + + +=== tests/cases/conformance/externalModules/math2d-augment.d.ts === +import * as Math2d from 'math2d'; +>Math2d : typeof Math2d + +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { +>Vector : Vector + + reverse(): Math2d.Point; +>reverse : () => Point +>Math2d : any +>Point : Point + } +} + diff --git a/tests/cases/conformance/externalModules/umd-augmentation-1.ts b/tests/cases/conformance/externalModules/umd-augmentation-1.ts new file mode 100644 index 00000000000..312f21846e6 --- /dev/null +++ b/tests/cases/conformance/externalModules/umd-augmentation-1.ts @@ -0,0 +1,39 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: node_modules/math2d/index.d.ts +export as namespace Math2d; + +export interface Point { + x: number; + y: number; +} + +export class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; +} + +export function getLength(p: Vector): number; + +// @filename: math2d-augment.d.ts +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +// @filename: b.ts +/// +import * as m from 'math2d'; +let v = new m.Vector(3, 2); +let magnitude = m.getLength(v); +let p: m.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/cases/conformance/externalModules/umd-augmentation-2.ts b/tests/cases/conformance/externalModules/umd-augmentation-2.ts new file mode 100644 index 00000000000..2f8330e7fa2 --- /dev/null +++ b/tests/cases/conformance/externalModules/umd-augmentation-2.ts @@ -0,0 +1,39 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: node_modules/math2d/index.d.ts +export as namespace Math2d; + +export interface Point { + x: number; + y: number; +} + +export class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; +} + +export function getLength(p: Vector): number; + +// @filename: math2d-augment.d.ts +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +// @filename: a.ts +/// +/// +let v = new Math2d.Vector(3, 2); +let magnitude = Math2d.getLength(v); +let p: Math2d.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/cases/conformance/externalModules/umd-augmentation-3.ts b/tests/cases/conformance/externalModules/umd-augmentation-3.ts new file mode 100644 index 00000000000..1524d7128de --- /dev/null +++ b/tests/cases/conformance/externalModules/umd-augmentation-3.ts @@ -0,0 +1,45 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: node_modules/math2d/index.d.ts +export as namespace Math2d; + +export = M2D; + +declare namespace M2D { + interface Point { + x: number; + y: number; + } + + class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; + } + + function getLength(p: Vector): number; + +} + + +// @filename: math2d-augment.d.ts +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +// @filename: b.ts +/// +import * as m from 'math2d'; +let v = new m.Vector(3, 2); +let magnitude = m.getLength(v); +let p: m.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; diff --git a/tests/cases/conformance/externalModules/umd-augmentation-4.ts b/tests/cases/conformance/externalModules/umd-augmentation-4.ts new file mode 100644 index 00000000000..729465504c1 --- /dev/null +++ b/tests/cases/conformance/externalModules/umd-augmentation-4.ts @@ -0,0 +1,45 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: node_modules/math2d/index.d.ts +export as namespace Math2d; + +export = M2D; + +declare namespace M2D { + interface Point { + x: number; + y: number; + } + + class Vector implements Point { + x: number; + y: number; + constructor(x: number, y: number); + + translate(dx: number, dy: number): Vector; + } + + function getLength(p: Vector): number; + +} + + +// @filename: math2d-augment.d.ts +import * as Math2d from 'math2d'; +// Augment the module +declare module 'math2d' { + // Add a method to the class + interface Vector { + reverse(): Math2d.Point; + } +} + +// @filename: a.ts +/// +/// +let v = new Math2d.Vector(3, 2); +let magnitude = Math2d.getLength(v); +let p: Math2d.Point = v.translate(5, 5); +p = v.reverse(); +var t = p.x; From c72f1c354bf3cf4e6801362e94d1feb388e84029 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 9 Mar 2016 16:08:08 -0800 Subject: [PATCH 192/342] Reuse existing var --- src/compiler/binder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 2cc48c02947..b038a699b47 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1418,7 +1418,7 @@ namespace ts { else { const parent = node.parent as SourceFile; - if (!isExternalModule(node.parent)) { + if (!isExternalModule(parent)) { file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Global_module_exports_may_only_appear_in_module_files)); return; } From 8cef251b14eab8826a895bdf47b09904dcd6a7cc Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 9 Mar 2016 16:24:54 -0800 Subject: [PATCH 193/342] Add test for function export --- tests/baselines/reference/umd7.js | 16 ++++++++++++++++ tests/baselines/reference/umd7.symbols | 16 ++++++++++++++++ tests/baselines/reference/umd7.types | 18 ++++++++++++++++++ .../cases/conformance/externalModules/umd7.ts | 11 +++++++++++ 4 files changed, 61 insertions(+) create mode 100644 tests/baselines/reference/umd7.js create mode 100644 tests/baselines/reference/umd7.symbols create mode 100644 tests/baselines/reference/umd7.types create mode 100644 tests/cases/conformance/externalModules/umd7.ts diff --git a/tests/baselines/reference/umd7.js b/tests/baselines/reference/umd7.js new file mode 100644 index 00000000000..12d0a8651fc --- /dev/null +++ b/tests/baselines/reference/umd7.js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/externalModules/umd7.ts] //// + +//// [foo.d.ts] + +declare function Thing(): number; +export = Thing; +export as namespace Foo; + +//// [a.ts] +/// +let y: number = Foo(); + + +//// [a.js] +/// +var y = exports.Foo(); diff --git a/tests/baselines/reference/umd7.symbols b/tests/baselines/reference/umd7.symbols new file mode 100644 index 00000000000..0b3ef17fb7b --- /dev/null +++ b/tests/baselines/reference/umd7.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: number = Foo(); +>y : Symbol(y, Decl(a.ts, 1, 3)) +>Foo : Symbol(Foo, Decl(foo.d.ts, 2, 15)) + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare function Thing(): number; +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + +export = Thing; +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd7.types b/tests/baselines/reference/umd7.types new file mode 100644 index 00000000000..60782543710 --- /dev/null +++ b/tests/baselines/reference/umd7.types @@ -0,0 +1,18 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: number = Foo(); +>y : number +>Foo() : number +>Foo : () => number + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare function Thing(): number; +>Thing : () => number + +export = Thing; +>Thing : () => number + +export as namespace Foo; +>Foo : any + diff --git a/tests/cases/conformance/externalModules/umd7.ts b/tests/cases/conformance/externalModules/umd7.ts new file mode 100644 index 00000000000..9b9a9959efc --- /dev/null +++ b/tests/cases/conformance/externalModules/umd7.ts @@ -0,0 +1,11 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +declare function Thing(): number; +export = Thing; +export as namespace Foo; + +// @filename: a.ts +/// +let y: number = Foo(); From 502b2ba321943f52e1fef53014e0748d0db6b916 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 9 Mar 2016 17:06:19 -0800 Subject: [PATCH 194/342] add part of test baselines --- tests/baselines/reference/2dArrays.types | 2 +- .../accessOverriddenBaseClassMember1.types | 6 +- .../aliasUsageInAccessorsOfClass.types | 2 +- .../ambiguousCallsWhereReturnTypesAgree.types | 4 +- .../baselines/reference/amdModuleName1.types | 2 +- .../reference/arrayBestCommonTypes.types | 52 +++++------ .../reference/arrayOfExportedClass.types | 2 +- tests/baselines/reference/arrayconcat.types | 4 +- .../binopAssignmentShouldHaveType.types | 2 +- .../baselines/reference/callWithSpread.types | 4 +- .../reference/callWithSpreadES6.types | 4 +- .../reference/captureThisInSuperCall.types | 2 +- .../reference/capturedLetConstInLoop10.types | 12 +-- .../capturedLetConstInLoop10_ES6.types | 12 +-- .../reference/capturedLetConstInLoop9.types | 2 +- .../capturedLetConstInLoop9_ES6.types | 2 +- .../checkSuperCallBeforeThisAccessing3.types | 2 +- ...sConstructorParametersAccessibility3.types | 2 +- tests/baselines/reference/classOrder2.types | 2 +- tests/baselines/reference/classOrderBug.types | 2 +- .../reference/commentsClassMembers.types | 88 +++++++++---------- .../reference/commentsInheritance.types | 2 +- .../reference/commentsdoNotEmitComments.types | 6 +- .../reference/commentsemitComments.types | 6 +- .../computedPropertyNames22_ES5.types | 2 +- .../computedPropertyNames22_ES6.types | 2 +- .../computedPropertyNames29_ES5.types | 2 +- .../computedPropertyNames29_ES6.types | 2 +- ...DeclarationShadowedByVarDeclaration3.types | 2 +- .../reference/declFileForTypeParameters.types | 2 +- .../reference/declFileGenericType2.types | 2 +- .../declarationEmit_protectedMembers.types | 4 +- .../reference/declarationMerging1.types | 2 +- .../reference/declarationMerging2.types | 2 +- ...taWithImportDeclarationNameCollision.types | 4 +- ...aWithImportDeclarationNameCollision2.types | 4 +- ...aWithImportDeclarationNameCollision3.types | 4 +- ...aWithImportDeclarationNameCollision5.types | 4 +- ...aWithImportDeclarationNameCollision6.types | 4 +- ...aWithImportDeclarationNameCollision8.types | 4 +- .../baselines/reference/derivedClasses.types | 4 +- ...detachedCommentAtStartOfConstructor1.types | 4 +- ...detachedCommentAtStartOfConstructor2.types | 4 +- ...achedCommentAtStartOfLambdaFunction1.types | 2 +- ...achedCommentAtStartOfLambdaFunction2.types | 2 +- ...ClassDeclarationWithConstructorInES6.types | 4 +- ...lassDeclarationWithGetterSetterInES6.types | 2 +- .../emitClassDeclarationWithMethodInES6.types | 2 +- ...clarationWithPropertyAssignmentInES6.types | 4 +- ...ClassDeclarationWithThisKeywordInES6.types | 8 +- ...tionWithTypeArgumentAndOverloadInES6.types | 8 +- ...lassDeclarationWithTypeArgumentInES6.types | 8 +- tests/baselines/reference/es6ClassTest3.types | 4 +- tests/baselines/reference/es6ClassTest8.types | 14 +-- tests/baselines/reference/fatArrowSelf.types | 4 +- .../reference/functionOverloads7.types | 4 +- .../functionSubtypingOfVarArgs.types | 2 +- .../functionSubtypingOfVarArgs2.types | 2 +- .../functionsInClassExpressions.types | 6 +- .../genericBaseClassLiteralProperty.types | 4 +- .../genericBaseClassLiteralProperty2.types | 4 +- .../baselines/reference/genericClasses4.types | 8 +- ...ericConstraintOnExtendedBuiltinTypes.types | 2 +- ...ricConstraintOnExtendedBuiltinTypes2.types | 2 +- .../reference/genericInstanceOf.types | 4 +- .../genericTypeWithCallableMembers.types | 4 +- .../genericWithCallSignatures1.types | 2 +- ...nericWithIndexerOfTypeParameterType1.types | 2 +- .../instanceAndStaticDeclarations1.types | 4 +- .../reference/interfaceClassMerging.types | 4 +- .../reference/interfaceContextualType.types | 6 +- ...onClassMethodContainingArrowFunction.types | 2 +- tests/baselines/reference/listFailure.types | 8 +- .../memberVariableDeclarations1.types | 6 +- .../reference/mergedDeclarations6.types | 2 +- tests/baselines/reference/missingSelf.types | 4 +- .../moduleMemberWithoutTypeAnnotation1.types | 2 +- .../reference/moduleMergeConstructor.types | 2 +- tests/baselines/reference/nestedSelf.types | 2 +- tests/baselines/reference/newArrays.types | 6 +- tests/baselines/reference/objectIndexer.types | 2 +- ...orRecovery_IncompleteMemberVariable1.types | 8 +- .../reference/privateInstanceVisibility.types | 4 +- .../baselines/reference/privateVisibles.types | 4 +- .../baselines/reference/promiseChaining.types | 4 +- ...edClassPropertyAccessibleWithinClass.types | 16 ++-- ...lassPropertyAccessibleWithinSubclass.types | 10 +-- .../baselines/reference/protoInIndexer.types | 2 +- .../reference/quotedPropertyName3.types | 2 +- .../recursiveComplicatedClasses.types | 2 +- .../reference/recursiveProperties.types | 4 +- .../scopeResolutionIdentifiers.types | 4 +- .../baselines/reference/selfInCallback.types | 4 +- tests/baselines/reference/selfInLambdas.types | 4 +- .../sourceMap-FileWithComments.types | 8 +- .../reference/sourceMapValidationClass.types | 8 +- ...tConstructorAndCapturedThisStatement.types | 2 +- .../sourceMapValidationClasses.types | 2 +- .../sourceMapValidationDecorators.types | 8 +- .../reference/superAccessInFatArrow1.types | 2 +- .../superCallBeforeThisAccessing1.types | 2 +- .../superCallBeforeThisAccessing2.types | 2 +- .../superCallBeforeThisAccessing5.types | 2 +- .../superCallBeforeThisAccessing8.types | 2 +- .../reference/superPropertyAccess_ES6.types | 4 +- tests/baselines/reference/thisBinding2.types | 6 +- tests/baselines/reference/thisCapture1.types | 2 +- tests/baselines/reference/thisInLambda.types | 4 +- .../thisInPropertyBoundDeclarations.types | 2 +- ...peConstraintsWithConstructSignatures.types | 4 +- .../reference/typeGuardsInProperties.types | 12 +-- .../typeInferenceReturnTypeCallback.types | 2 +- .../reference/underscoreMapFirst.types | 2 +- .../reference/varArgsOnConstructorTypes.types | 4 +- 114 files changed, 294 insertions(+), 294 deletions(-) diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index 00805899294..b113ccdce7b 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -28,7 +28,7 @@ class Board { >this.ships.every(function (val) { return val.isSunk; }) : boolean >this.ships.every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean >this.ships : Ship[] ->this : this +>this : Board >ships : Ship[] >every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean >function (val) { return val.isSunk; } : (val: Ship) => boolean diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.types b/tests/baselines/reference/accessOverriddenBaseClassMember1.types index f444544ea48..2aeb541d723 100644 --- a/tests/baselines/reference/accessOverriddenBaseClassMember1.types +++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.types @@ -15,11 +15,11 @@ class Point { >"x=" + this.x : string >"x=" : string >this.x : number ->this : this +>this : Point >x : number >" y=" : string >this.y : number ->this : this +>this : Point >y : number } } @@ -50,7 +50,7 @@ class ColoredPoint extends Point { >toString : () => string >" color=" : string >this.color : string ->this : this +>this : ColoredPoint >color : string } } diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types index c66f4c5c193..ea6ab451b11 100644 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types @@ -26,7 +26,7 @@ class C2 { return this.x; >this.x : IHasVisualizationModel ->this : this +>this : C2 >x : IHasVisualizationModel } set A(x) { diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index 65f26f25770..d4df0f75d16 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -31,7 +31,7 @@ class TestClass { this.bar(x); // should not error >this.bar(x) : void >this.bar : { (x: string): void; (x: string[]): void; } ->this : this +>this : TestClass >bar : { (x: string): void; (x: string[]): void; } >x : any } @@ -71,7 +71,7 @@ class TestClass2 { return this.bar(x); // should not error >this.bar(x) : number >this.bar : { (x: string): number; (x: string[]): number; } ->this : this +>this : TestClass2 >bar : { (x: string): number; (x: string[]): number; } >x : any } diff --git a/tests/baselines/reference/amdModuleName1.types b/tests/baselines/reference/amdModuleName1.types index c0db9c8b1b5..64bc7842451 100644 --- a/tests/baselines/reference/amdModuleName1.types +++ b/tests/baselines/reference/amdModuleName1.types @@ -10,7 +10,7 @@ class Foo { this.x = 5; >this.x = 5 : number >this.x : number ->this : this +>this : Foo >x : number >5 : number } diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index fca66793f40..20f36e5c459 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -51,7 +51,7 @@ module EmptyTypes { >(this.voidIfAny([4, 2][0])) : number >this.voidIfAny([4, 2][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] @@ -64,7 +64,7 @@ module EmptyTypes { >(this.voidIfAny([4, 2, undefined][0])) : number >this.voidIfAny([4, 2, undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] @@ -78,7 +78,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, 2, 4][0])) : number >this.voidIfAny([undefined, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] @@ -92,7 +92,7 @@ module EmptyTypes { >(this.voidIfAny([null, 2, 4][0])) : number >this.voidIfAny([null, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, 2, 4][0] : number >[null, 2, 4] : number[] @@ -106,7 +106,7 @@ module EmptyTypes { >(this.voidIfAny([2, 4, null][0])) : number >this.voidIfAny([2, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] @@ -120,7 +120,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, 4, null][0])) : number >this.voidIfAny([undefined, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] @@ -134,7 +134,7 @@ module EmptyTypes { >(this.voidIfAny(['', "q"][0])) : number >this.voidIfAny(['', "q"][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] @@ -147,7 +147,7 @@ module EmptyTypes { >(this.voidIfAny(['', "q", undefined][0])) : number >this.voidIfAny(['', "q", undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] @@ -161,7 +161,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, "q", ''][0])) : number >this.voidIfAny([undefined, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] @@ -175,7 +175,7 @@ module EmptyTypes { >(this.voidIfAny([null, "q", ''][0])) : number >this.voidIfAny([null, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, "q", ''][0] : string >[null, "q", ''] : string[] @@ -189,7 +189,7 @@ module EmptyTypes { >(this.voidIfAny(["q", '', null][0])) : number >this.voidIfAny(["q", '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] @@ -203,7 +203,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, '', null][0])) : number >this.voidIfAny([undefined, '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, '', null][0] : string >[undefined, '', null] : string[] @@ -217,7 +217,7 @@ module EmptyTypes { >(this.voidIfAny([[3, 4], [null]][0][0])) : number >this.voidIfAny([[3, 4], [null]][0][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[[3, 4], [null]][0][0] : number >[[3, 4], [null]][0] : number[] @@ -454,7 +454,7 @@ module NonEmptyTypes { >(this.voidIfAny([4, 2][0])) : number >this.voidIfAny([4, 2][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] @@ -467,7 +467,7 @@ module NonEmptyTypes { >(this.voidIfAny([4, 2, undefined][0])) : number >this.voidIfAny([4, 2, undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] @@ -481,7 +481,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, 2, 4][0])) : number >this.voidIfAny([undefined, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] @@ -495,7 +495,7 @@ module NonEmptyTypes { >(this.voidIfAny([null, 2, 4][0])) : number >this.voidIfAny([null, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, 2, 4][0] : number >[null, 2, 4] : number[] @@ -509,7 +509,7 @@ module NonEmptyTypes { >(this.voidIfAny([2, 4, null][0])) : number >this.voidIfAny([2, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] @@ -523,7 +523,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, 4, null][0])) : number >this.voidIfAny([undefined, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] @@ -537,7 +537,7 @@ module NonEmptyTypes { >(this.voidIfAny(['', "q"][0])) : number >this.voidIfAny(['', "q"][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] @@ -550,7 +550,7 @@ module NonEmptyTypes { >(this.voidIfAny(['', "q", undefined][0])) : number >this.voidIfAny(['', "q", undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] @@ -564,7 +564,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, "q", ''][0])) : number >this.voidIfAny([undefined, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] @@ -578,7 +578,7 @@ module NonEmptyTypes { >(this.voidIfAny([null, "q", ''][0])) : number >this.voidIfAny([null, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, "q", ''][0] : string >[null, "q", ''] : string[] @@ -592,7 +592,7 @@ module NonEmptyTypes { >(this.voidIfAny(["q", '', null][0])) : number >this.voidIfAny(["q", '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] @@ -606,7 +606,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, '', null][0])) : number >this.voidIfAny([undefined, '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, '', null][0] : string >[undefined, '', null] : string[] @@ -620,7 +620,7 @@ module NonEmptyTypes { >(this.voidIfAny([[3, 4], [null]][0][0])) : number >this.voidIfAny([[3, 4], [null]][0][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : this +>this : f >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[[3, 4], [null]][0][0] : number >[[3, 4], [null]][0] : number[] diff --git a/tests/baselines/reference/arrayOfExportedClass.types b/tests/baselines/reference/arrayOfExportedClass.types index 8447ed2841f..1e41e82e448 100644 --- a/tests/baselines/reference/arrayOfExportedClass.types +++ b/tests/baselines/reference/arrayOfExportedClass.types @@ -18,7 +18,7 @@ class Road { this.cars = cars; >this.cars = cars : Car[] >this.cars : Car[] ->this : this +>this : Road >cars : Car[] >cars : Car[] } diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 45615cd63b8..3560272a363 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -38,12 +38,12 @@ class parser { this.options = this.options.sort(function(a, b) { >this.options = this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options : IOptions[] ->this : this +>this : parser >options : IOptions[] >this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] >this.options : IOptions[] ->this : this +>this : parser >options : IOptions[] >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] >function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => number diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.types b/tests/baselines/reference/binopAssignmentShouldHaveType.types index d09138bbb88..fdef2fbcabd 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.types +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.types @@ -32,7 +32,7 @@ module Test { >name : string >this.getName() : string >this.getName : () => string ->this : this +>this : Bug >getName : () => string >length : number >0 : number diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index eae92c471e9..8964708c05e 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -180,7 +180,7 @@ class C { this.foo(x, y); >this.foo(x, y) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : this +>this : C >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number @@ -188,7 +188,7 @@ class C { this.foo(x, y, ...z); >this.foo(x, y, ...z) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : this +>this : C >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index b0c118855fe..9c9e795ce24 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -181,7 +181,7 @@ class C { this.foo(x, y); >this.foo(x, y) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : this +>this : C >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number @@ -189,7 +189,7 @@ class C { this.foo(x, y, ...z); >this.foo(x, y, ...z) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : this +>this : C >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number diff --git a/tests/baselines/reference/captureThisInSuperCall.types b/tests/baselines/reference/captureThisInSuperCall.types index 4a0902e9f1e..faa7d2ad97e 100644 --- a/tests/baselines/reference/captureThisInSuperCall.types +++ b/tests/baselines/reference/captureThisInSuperCall.types @@ -18,7 +18,7 @@ class B extends A { >() => this.someMethod() : () => void >this.someMethod() : void >this.someMethod : () => void ->this : this +>this : B >someMethod : () => void someMethod() {} diff --git a/tests/baselines/reference/capturedLetConstInLoop10.types b/tests/baselines/reference/capturedLetConstInLoop10.types index e4bca4d906a..915805325a8 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.types +++ b/tests/baselines/reference/capturedLetConstInLoop10.types @@ -18,7 +18,7 @@ class A { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >f() : number >f : () => number @@ -55,7 +55,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >b() : number >b : () => number @@ -63,7 +63,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >a() : number >a : () => number @@ -85,7 +85,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >a() : number >a : () => number @@ -103,7 +103,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >b() : number >b : () => number @@ -137,7 +137,7 @@ class B { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : this +>this : B >bar : (a: number) => void >f() : number >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types index 068c124582d..e497fb5c406 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types @@ -18,7 +18,7 @@ class A { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >f() : number >f : () => number @@ -55,7 +55,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >b() : number >b : () => number @@ -63,7 +63,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >a() : number >a : () => number @@ -85,7 +85,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >a() : number >a : () => number @@ -103,7 +103,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : this +>this : A >bar : (a: number) => void >b() : number >b : () => number @@ -137,7 +137,7 @@ class B { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : this +>this : B >bar : (a: number) => void >f() : number >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop9.types b/tests/baselines/reference/capturedLetConstInLoop9.types index 7f793ab6601..71dde507aa6 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.types +++ b/tests/baselines/reference/capturedLetConstInLoop9.types @@ -319,7 +319,7 @@ class C { >() => this.N * i : () => number >this.N * i : number >this.N : number ->this : this +>this : C >N : number >i : number } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types index dfbfa387ed4..9ad6e1cf83d 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types @@ -319,7 +319,7 @@ class C { >() => this.N * i : () => number >this.N * i : number >this.N : number ->this : this +>this : C >N : number >i : number } diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types index c4e9e15ed8e..0eb026c1160 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types @@ -20,7 +20,7 @@ class Derived extends Based { this.y = true; >this.y = true : boolean >this.y : boolean ->this : this +>this : innver >y : boolean >true : boolean } diff --git a/tests/baselines/reference/classConstructorParametersAccessibility3.types b/tests/baselines/reference/classConstructorParametersAccessibility3.types index d664aaf3172..3372044569c 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility3.types +++ b/tests/baselines/reference/classConstructorParametersAccessibility3.types @@ -20,7 +20,7 @@ class Derived extends Base { this.p; // OK >this.p : number ->this : this +>this : Derived >p : number } } diff --git a/tests/baselines/reference/classOrder2.types b/tests/baselines/reference/classOrder2.types index ac65da2ec9d..07bd6ba45a5 100644 --- a/tests/baselines/reference/classOrder2.types +++ b/tests/baselines/reference/classOrder2.types @@ -8,7 +8,7 @@ class A extends B { >foo : () => void >this.bar() : void >this.bar : () => void ->this : this +>this : A >bar : () => void } diff --git a/tests/baselines/reference/classOrderBug.types b/tests/baselines/reference/classOrderBug.types index 703a87adc4f..979b65b8008 100644 --- a/tests/baselines/reference/classOrderBug.types +++ b/tests/baselines/reference/classOrderBug.types @@ -11,7 +11,7 @@ class bar { this.baz = new foo(); >this.baz = new foo() : foo >this.baz : foo ->this : this +>this : bar >baz : foo >new foo() : foo >foo : typeof foo diff --git a/tests/baselines/reference/commentsClassMembers.types b/tests/baselines/reference/commentsClassMembers.types index b599edc0463..fbd514bf77b 100644 --- a/tests/baselines/reference/commentsClassMembers.types +++ b/tests/baselines/reference/commentsClassMembers.types @@ -16,7 +16,7 @@ class c1 { return this.p1 + b; >this.p1 + b : number >this.p1 : number ->this : this +>this : c1 >p1 : number >b : number @@ -28,10 +28,10 @@ class c1 { return this.p2(this.p1); >this.p2(this.p1) : number >this.p2 : (b: number) => number ->this : this +>this : c1 >p2 : (b: number) => number >this.p1 : number ->this : this +>this : c1 >p1 : number }// trailing comment Getter @@ -43,11 +43,11 @@ class c1 { this.p1 = this.p2(value); >this.p1 = this.p2(value) : number >this.p1 : number ->this : this +>this : c1 >p1 : number >this.p2(value) : number >this.p2 : (b: number) => number ->this : this +>this : c1 >p2 : (b: number) => number >value : number @@ -64,7 +64,7 @@ class c1 { return this.p1 + b; >this.p1 + b : number >this.p1 : number ->this : this +>this : c1 >p1 : number >b : number @@ -76,10 +76,10 @@ class c1 { return this.pp2(this.pp1); >this.pp2(this.pp1) : number >this.pp2 : (b: number) => number ->this : this +>this : c1 >pp2 : (b: number) => number >this.pp1 : number ->this : this +>this : c1 >pp1 : number } /** setter property*/ @@ -90,11 +90,11 @@ class c1 { this.pp1 = this.pp2(value); >this.pp1 = this.pp2(value) : number >this.pp1 : number ->this : this +>this : c1 >pp1 : number >this.pp2(value) : number >this.pp2 : (b: number) => number ->this : this +>this : c1 >pp2 : (b: number) => number >value : number } @@ -158,7 +158,7 @@ class c1 { return this.nc_p1 + b; >this.nc_p1 + b : number >this.nc_p1 : number ->this : this +>this : c1 >nc_p1 : number >b : number } @@ -168,10 +168,10 @@ class c1 { return this.nc_p2(this.nc_p1); >this.nc_p2(this.nc_p1) : number >this.nc_p2 : (b: number) => number ->this : this +>this : c1 >nc_p2 : (b: number) => number >this.nc_p1 : number ->this : this +>this : c1 >nc_p1 : number } public set nc_p3(value: number) { @@ -181,11 +181,11 @@ class c1 { this.nc_p1 = this.nc_p2(value); >this.nc_p1 = this.nc_p2(value) : number >this.nc_p1 : number ->this : this +>this : c1 >nc_p1 : number >this.nc_p2(value) : number >this.nc_p2 : (b: number) => number ->this : this +>this : c1 >nc_p2 : (b: number) => number >value : number } @@ -199,7 +199,7 @@ class c1 { return this.nc_pp1 + b; >this.nc_pp1 + b : number >this.nc_pp1 : number ->this : this +>this : c1 >nc_pp1 : number >b : number } @@ -209,10 +209,10 @@ class c1 { return this.nc_pp2(this.nc_pp1); >this.nc_pp2(this.nc_pp1) : number >this.nc_pp2 : (b: number) => number ->this : this +>this : c1 >nc_pp2 : (b: number) => number >this.nc_pp1 : number ->this : this +>this : c1 >nc_pp1 : number } private set nc_pp3(value: number) { @@ -222,11 +222,11 @@ class c1 { this.nc_pp1 = this.nc_pp2(value); >this.nc_pp1 = this.nc_pp2(value) : number >this.nc_pp1 : number ->this : this +>this : c1 >nc_pp1 : number >this.nc_pp2(value) : number >this.nc_pp2 : (b: number) => number ->this : this +>this : c1 >nc_pp2 : (b: number) => number >value : number } @@ -284,7 +284,7 @@ class c1 { return this.a_p1 + b; >this.a_p1 + b : number >this.a_p1 : number ->this : this +>this : c1 >a_p1 : number >b : number } @@ -295,10 +295,10 @@ class c1 { return this.a_p2(this.a_p1); >this.a_p2(this.a_p1) : number >this.a_p2 : (b: number) => number ->this : this +>this : c1 >a_p2 : (b: number) => number >this.a_p1 : number ->this : this +>this : c1 >a_p1 : number } // setter property @@ -309,11 +309,11 @@ class c1 { this.a_p1 = this.a_p2(value); >this.a_p1 = this.a_p2(value) : number >this.a_p1 : number ->this : this +>this : c1 >a_p1 : number >this.a_p2(value) : number >this.a_p2 : (b: number) => number ->this : this +>this : c1 >a_p2 : (b: number) => number >value : number } @@ -329,7 +329,7 @@ class c1 { return this.a_p1 + b; >this.a_p1 + b : number >this.a_p1 : number ->this : this +>this : c1 >a_p1 : number >b : number } @@ -340,10 +340,10 @@ class c1 { return this.a_pp2(this.a_pp1); >this.a_pp2(this.a_pp1) : number >this.a_pp2 : (b: number) => number ->this : this +>this : c1 >a_pp2 : (b: number) => number >this.a_pp1 : number ->this : this +>this : c1 >a_pp1 : number } // setter property @@ -354,11 +354,11 @@ class c1 { this.a_pp1 = this.a_pp2(value); >this.a_pp1 = this.a_pp2(value) : number >this.a_pp1 : number ->this : this +>this : c1 >a_pp1 : number >this.a_pp2(value) : number >this.a_pp2 : (b: number) => number ->this : this +>this : c1 >a_pp2 : (b: number) => number >value : number } @@ -422,7 +422,7 @@ class c1 { return this.b_p1 + b; >this.b_p1 + b : number >this.b_p1 : number ->this : this +>this : c1 >b_p1 : number >b : number } @@ -433,10 +433,10 @@ class c1 { return this.b_p2(this.b_p1); >this.b_p2(this.b_p1) : number >this.b_p2 : (b: number) => number ->this : this +>this : c1 >b_p2 : (b: number) => number >this.b_p1 : number ->this : this +>this : c1 >b_p1 : number } /** setter property */ @@ -447,11 +447,11 @@ class c1 { this.b_p1 = this.b_p2(value); >this.b_p1 = this.b_p2(value) : number >this.b_p1 : number ->this : this +>this : c1 >b_p1 : number >this.b_p2(value) : number >this.b_p2 : (b: number) => number ->this : this +>this : c1 >b_p2 : (b: number) => number >value : number } @@ -467,7 +467,7 @@ class c1 { return this.b_p1 + b; >this.b_p1 + b : number >this.b_p1 : number ->this : this +>this : c1 >b_p1 : number >b : number } @@ -478,10 +478,10 @@ class c1 { return this.b_pp2(this.b_pp1); >this.b_pp2(this.b_pp1) : number >this.b_pp2 : (b: number) => number ->this : this +>this : c1 >b_pp2 : (b: number) => number >this.b_pp1 : number ->this : this +>this : c1 >b_pp1 : number } /** setter property */ @@ -492,11 +492,11 @@ class c1 { this.b_pp1 = this.b_pp2(value); >this.b_pp1 = this.b_pp2(value) : number >this.b_pp1 : number ->this : this +>this : c1 >b_pp1 : number >this.b_pp2(value) : number >this.b_pp2 : (b: number) => number ->this : this +>this : c1 >b_pp2 : (b: number) => number >value : number } @@ -704,7 +704,7 @@ class cProperties { return this.val; >this.val : number ->this : this +>this : cProperties >val : number } // trailing comment of only getter @@ -713,7 +713,7 @@ class cProperties { return this.val; >this.val : number ->this : this +>this : cProperties >val : number } /**setter only property*/ @@ -724,7 +724,7 @@ class cProperties { this.val = value; >this.val = value : number >this.val : number ->this : this +>this : cProperties >val : number >value : number } @@ -735,7 +735,7 @@ class cProperties { this.val = value; >this.val = value : number >this.val : number ->this : this +>this : cProperties >val : number >value : number diff --git a/tests/baselines/reference/commentsInheritance.types b/tests/baselines/reference/commentsInheritance.types index 21dcde99dbf..1c25f13937b 100644 --- a/tests/baselines/reference/commentsInheritance.types +++ b/tests/baselines/reference/commentsInheritance.types @@ -170,7 +170,7 @@ class c2 { this.c2_p1 = a; >this.c2_p1 = a : number >this.c2_p1 : number ->this : this +>this : c2 >c2_p1 : number >a : number } diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index 067275f2151..024f1c2a21f 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -43,7 +43,7 @@ class c { return this.b; >this.b : number ->this : this +>this : c >b : number } @@ -53,7 +53,7 @@ class c { return this.b; >this.b : number ->this : this +>this : c >b : number } @@ -65,7 +65,7 @@ class c { this.b = val; >this.b = val : number >this.b : number ->this : this +>this : c >b : number >val : number } diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 2594fb53fe9..2311ca09dd0 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -43,7 +43,7 @@ class c { return this.b; >this.b : number ->this : this +>this : c >b : number } @@ -53,7 +53,7 @@ class c { return this.b; >this.b : number ->this : this +>this : c >b : number } @@ -65,7 +65,7 @@ class c { this.b = val; >this.b = val : number >this.b : number ->this : this +>this : c >b : number >val : number } diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.types b/tests/baselines/reference/computedPropertyNames22_ES5.types index eeec22d2e61..51dce2d9a03 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.types +++ b/tests/baselines/reference/computedPropertyNames22_ES5.types @@ -12,7 +12,7 @@ class C { [this.bar()]() { } >this.bar() : number >this.bar : () => number ->this : this +>this : C >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames22_ES6.types b/tests/baselines/reference/computedPropertyNames22_ES6.types index af9ef9d3a31..4a249e34d08 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES6.types +++ b/tests/baselines/reference/computedPropertyNames22_ES6.types @@ -12,7 +12,7 @@ class C { [this.bar()]() { } >this.bar() : number >this.bar : () => number ->this : this +>this : C >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.types b/tests/baselines/reference/computedPropertyNames29_ES5.types index d2f89ef6b18..0162b4171b3 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.types +++ b/tests/baselines/reference/computedPropertyNames29_ES5.types @@ -15,7 +15,7 @@ class C { [this.bar()]() { } // needs capture >this.bar() : number >this.bar : () => number ->this : this +>this : C >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames29_ES6.types b/tests/baselines/reference/computedPropertyNames29_ES6.types index bb324b2b382..42d9bd99ae5 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES6.types +++ b/tests/baselines/reference/computedPropertyNames29_ES6.types @@ -15,7 +15,7 @@ class C { [this.bar()]() { } // needs capture >this.bar() : number >this.bar : () => number ->this : this +>this : C >bar : () => number }; diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types index 1271d4ef869..c5b9ec9a6f2 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types @@ -20,7 +20,7 @@ class Rule { this.name = name; >this.name = name : string >this.name : string ->this : this +>this : Rule >name : string >name : string } diff --git a/tests/baselines/reference/declFileForTypeParameters.types b/tests/baselines/reference/declFileForTypeParameters.types index fe69da2cd0f..6308a0c92ba 100644 --- a/tests/baselines/reference/declFileForTypeParameters.types +++ b/tests/baselines/reference/declFileForTypeParameters.types @@ -16,7 +16,7 @@ class C { return this.x; >this.x : T ->this : this +>this : C >x : T } } diff --git a/tests/baselines/reference/declFileGenericType2.types b/tests/baselines/reference/declFileGenericType2.types index c2a43db1921..07bcba3e85a 100644 --- a/tests/baselines/reference/declFileGenericType2.types +++ b/tests/baselines/reference/declFileGenericType2.types @@ -142,7 +142,7 @@ module templa.dom.mvc.composite { this._controllers = []; >this._controllers = [] : undefined[] >this._controllers : templa.mvc.IController[] ->this : this +>this : AbstractCompositeElementController >_controllers : templa.mvc.IController[] >[] : undefined[] } diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.types b/tests/baselines/reference/declarationEmit_protectedMembers.types index d541e1d14d2..89aa3f56332 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.types +++ b/tests/baselines/reference/declarationEmit_protectedMembers.types @@ -12,7 +12,7 @@ class C1 { return this.x; >this.x : number ->this : this +>this : C1 >x : number } @@ -60,7 +60,7 @@ class C2 extends C1 { >super : C1 >f : () => number >this.x : number ->this : this +>this : C2 >x : number } protected static sf() { diff --git a/tests/baselines/reference/declarationMerging1.types b/tests/baselines/reference/declarationMerging1.types index 9802d2ab542..4fddb6a1e4b 100644 --- a/tests/baselines/reference/declarationMerging1.types +++ b/tests/baselines/reference/declarationMerging1.types @@ -8,7 +8,7 @@ class A { getF() { return this._f; } >getF : () => number >this._f : number ->this : this +>this : A >_f : number } diff --git a/tests/baselines/reference/declarationMerging2.types b/tests/baselines/reference/declarationMerging2.types index 79e2818cf52..665eda8b4c1 100644 --- a/tests/baselines/reference/declarationMerging2.types +++ b/tests/baselines/reference/declarationMerging2.types @@ -9,7 +9,7 @@ export class A { getF() { return this._f; } >getF : () => number >this._f : number ->this : this +>this : A >_f : number } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types index aa705735f3e..60cf7f10cea 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : db >this.db : db ->this : this +>this : MyClass >db : db >db : db @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db ->this : this +>this : MyClass >db : db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types index 3d8ad0937bc..73005b4673f 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types @@ -36,7 +36,7 @@ class MyClass { this.db = db; >this.db = db : Database >this.db : Database ->this : this +>this : MyClass >db : Database >db : Database @@ -44,7 +44,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : Database ->this : this +>this : MyClass >db : Database >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types index 634c45e650c..0eea3e13b66 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types @@ -28,7 +28,7 @@ class MyClass { this.db = db; >this.db = db : db.db >this.db : db.db ->this : this +>this : MyClass >db : db.db >db : db.db @@ -36,7 +36,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db.db ->this : this +>this : MyClass >db : db.db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types index 987d7a532e8..0fbc48db157 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : db >this.db : db ->this : this +>this : MyClass >db : db >db : db @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db ->this : this +>this : MyClass >db : db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types index 3bd8df0eff3..e3a68882dfb 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : database >this.db : database ->this : this +>this : MyClass >db : database >db : database @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : database ->this : this +>this : MyClass >db : database >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types index f0f1ca190aa..faaab056885 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types @@ -28,7 +28,7 @@ class MyClass { this.db = db; >this.db = db : database.db >this.db : database.db ->this : this +>this : MyClass >db : database.db >db : database.db @@ -36,7 +36,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : database.db ->this : this +>this : MyClass >db : database.db >doSomething : () => void } diff --git a/tests/baselines/reference/derivedClasses.types b/tests/baselines/reference/derivedClasses.types index 7fc585e29ce..906cfb2741c 100644 --- a/tests/baselines/reference/derivedClasses.types +++ b/tests/baselines/reference/derivedClasses.types @@ -11,7 +11,7 @@ class Red extends Color { >() => { return this.hue(); } : () => string >this.hue() : string >this.hue : () => string ->this : this +>this : Red >hue : () => string return getHue() + " red"; @@ -46,7 +46,7 @@ class Blue extends Color { >() => { return this.hue(); } : () => string >this.hue() : string >this.hue : () => string ->this : this +>this : Blue >hue : () => string return getHue() + " blue"; diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types index 7cbae62f83d..392821de751 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types @@ -19,13 +19,13 @@ class TestFile { >message + this.name : string >message : string >this.name : any ->this : this +>this : TestFile >name : any this.message = getMessage(); >this.message = getMessage() : string >this.message : string ->this : this +>this : TestFile >message : string >getMessage() : string >getMessage : () => string diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types index 830be456e9a..b413cd557a5 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types @@ -20,13 +20,13 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : this +>this : TestFile >name : string this.message = getMessage(); >this.message = getMessage() : string >this.message : string ->this : this +>this : TestFile >message : string >getMessage() : string >getMessage : () => string diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types index e05a4c083cb..016a123c5c1 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types @@ -20,7 +20,7 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : this +>this : TestFile >name : string } } diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types index 8dde223dad0..2199a4490b5 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types @@ -21,7 +21,7 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : this +>this : TestFile >name : string } } diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types index 3bdf5af2ba5..ecb48cb3047 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types @@ -38,7 +38,7 @@ class B { this.y = 10; >this.y = 10 : number >this.y : number ->this : this +>this : B >y : number >10 : number } @@ -53,7 +53,7 @@ class B { return this._bar; >this._bar : string ->this : this +>this : B >_bar : string } } diff --git a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types index e4f7d6c00b4..c254a641b52 100644 --- a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types @@ -10,7 +10,7 @@ class C { return this._name; >this._name : string ->this : this +>this : C >_name : string } static get name2(): string { diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types index 02a90729486..e6fa57d0749 100644 --- a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types @@ -25,7 +25,7 @@ class D { return this._bar; >this._bar : string ->this : this +>this : D >_bar : string } baz(a: any, x: string): string { diff --git a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types index ccf4ca3ca9d..f3504d655ed 100644 --- a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types @@ -21,7 +21,7 @@ class D { this.y = 10; >this.y = 10 : number >this.y : number ->this : this +>this : D >y : number >10 : number } @@ -55,7 +55,7 @@ class F extends D{ this.j = "HI"; >this.j = "HI" : string >this.j : string ->this : this +>this : F >j : string >"HI" : string } diff --git a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types index 7c0159fbd63..14c57a60bc4 100644 --- a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types @@ -10,7 +10,7 @@ class B { this.x = 10; >this.x = 10 : number >this.x : number ->this : this +>this : B >x : number >10 : number } @@ -27,7 +27,7 @@ class B { >B : typeof B >log : (a: number) => void >this.x : number ->this : this +>this : B >x : number } @@ -36,7 +36,7 @@ class B { return this.x; >this.x : number ->this : this +>this : B >x : number } @@ -47,7 +47,7 @@ class B { this.x = y; >this.x = y : number >this.x : number ->this : this +>this : B >x : number >y : number } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types index 4bc2bfdfa92..ba515168a5d 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types @@ -24,7 +24,7 @@ class B { >T : T >this.B = a : T >this.B : T ->this : this +>this : B >B : T >a : T @@ -47,7 +47,7 @@ class B { return this.x; >this.x : T ->this : this +>this : B >x : T } @@ -57,7 +57,7 @@ class B { return this.B; >this.B : T ->this : this +>this : B >B : T } set BBWith(c: T) { @@ -68,7 +68,7 @@ class B { this.B = c; >this.B = c : T >this.B : T ->this : this +>this : B >B : T >c : T } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types index b4d2df96712..8081d044e35 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types @@ -16,7 +16,7 @@ class B { >T : T >this.B = a : T >this.B : T ->this : this +>this : B >B : T >a : T @@ -26,7 +26,7 @@ class B { return this.x; >this.x : T ->this : this +>this : B >x : T } get BB(): T { @@ -35,7 +35,7 @@ class B { return this.B; >this.B : T ->this : this +>this : B >B : T } set BBWith(c: T) { @@ -46,7 +46,7 @@ class B { this.B = c; >this.B = c : T >this.B : T ->this : this +>this : B >B : T >c : T } diff --git a/tests/baselines/reference/es6ClassTest3.types b/tests/baselines/reference/es6ClassTest3.types index 208d8cdf4d9..d73007f211b 100644 --- a/tests/baselines/reference/es6ClassTest3.types +++ b/tests/baselines/reference/es6ClassTest3.types @@ -24,14 +24,14 @@ module M { this.x = 1; >this.x = 1 : number >this.x : number ->this : this +>this : Visibility >x : number >1 : number this.y = 2; >this.y = 2 : number >this.y : number ->this : this +>this : Visibility >y : number >2 : number } diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index b12d65e595f..622f81f1d10 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -119,7 +119,7 @@ class Camera { this.forward = Vector.norm(Vector.minus(lookAt,this.pos)); >this.forward = Vector.norm(Vector.minus(lookAt,this.pos)) : Vector >this.forward : Vector ->this : this +>this : Camera >forward : Vector >Vector.norm(Vector.minus(lookAt,this.pos)) : Vector >Vector.norm : (v: Vector) => Vector @@ -131,13 +131,13 @@ class Camera { >minus : (v1: Vector, v2: Vector) => Vector >lookAt : Vector >this.pos : Vector ->this : this +>this : Camera >pos : Vector this.right = Vector.times(down, Vector.norm(Vector.cross(this.forward, down))); >this.right = Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector >this.right : Vector ->this : this +>this : Camera >right : Vector >Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector >Vector.times : (v1: Vector, v2: Vector) => Vector @@ -153,14 +153,14 @@ class Camera { >Vector : typeof Vector >cross : (v1: Vector, v2: Vector) => Vector >this.forward : Vector ->this : this +>this : Camera >forward : Vector >down : Vector this.up = Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))); >this.up = Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector >this.up : Vector ->this : this +>this : Camera >up : Vector >Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector >Vector.times : (v1: Vector, v2: Vector) => Vector @@ -176,10 +176,10 @@ class Camera { >Vector : typeof Vector >cross : (v1: Vector, v2: Vector) => Vector >this.forward : Vector ->this : this +>this : Camera >forward : Vector >this.right : Vector ->this : this +>this : Camera >right : Vector } } diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index 574262265bc..c4b2936fd37 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -38,7 +38,7 @@ module Consumer { >this.emitter.addListener('change', (e) => { this.changed(); }) : void >this.emitter.addListener : (type: string, listener: Events.ListenerCallback) => void >this.emitter : Events.EventEmitter ->this : this +>this : EventEmitterConsummer >emitter : Events.EventEmitter >addListener : (type: string, listener: Events.ListenerCallback) => void >'change' : string @@ -48,7 +48,7 @@ module Consumer { this.changed(); >this.changed() : void >this.changed : () => void ->this : this +>this : EventEmitterConsummer >changed : () => void }); diff --git a/tests/baselines/reference/functionOverloads7.types b/tests/baselines/reference/functionOverloads7.types index 7160068126f..c57f042b354 100644 --- a/tests/baselines/reference/functionOverloads7.types +++ b/tests/baselines/reference/functionOverloads7.types @@ -21,7 +21,7 @@ class foo { >foo : any >this.bar() : any >this.bar : { (): any; (foo: string): any; } ->this : this +>this : foo >bar : { (): any; (foo: string): any; } foo = this.bar("test"); @@ -29,7 +29,7 @@ class foo { >foo : any >this.bar("test") : any >this.bar : { (): any; (foo: string): any; } ->this : this +>this : foo >bar : { (): any; (foo: string): any; } >"test" : string } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.types b/tests/baselines/reference/functionSubtypingOfVarArgs.types index ec48ff26c66..ebd706e94cf 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.types @@ -15,7 +15,7 @@ class EventBase { >this._listeners.push(listener) : number >this._listeners.push : (...items: any[]) => number >this._listeners : any[] ->this : this +>this : EventBase >_listeners : any[] >push : (...items: any[]) => number >listener : (...args: any[]) => void diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.types b/tests/baselines/reference/functionSubtypingOfVarArgs2.types index 3aa5b7a7a00..5e2b14ffc7a 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.types @@ -16,7 +16,7 @@ class EventBase { >this._listeners.push(listener) : number >this._listeners.push : (...items: ((...args: any[]) => void)[]) => number >this._listeners : ((...args: any[]) => void)[] ->this : this +>this : EventBase >_listeners : ((...args: any[]) => void)[] >push : (...items: ((...args: any[]) => void)[]) => number >listener : (...args: any[]) => void diff --git a/tests/baselines/reference/functionsInClassExpressions.types b/tests/baselines/reference/functionsInClassExpressions.types index ee4b5696cc1..ae5ba1ff686 100644 --- a/tests/baselines/reference/functionsInClassExpressions.types +++ b/tests/baselines/reference/functionsInClassExpressions.types @@ -7,7 +7,7 @@ let Foo = class { this.bar++; >this.bar++ : number >this.bar : number ->this : this +>this : (Anonymous class) >bar : number } bar = 0; @@ -21,12 +21,12 @@ let Foo = class { this.bar++; >this.bar++ : number >this.bar : number ->this : this +>this : (Anonymous class) >bar : number } m() { return this.bar; } >m : () => number >this.bar : number ->this : this +>this : (Anonymous class) >bar : number } diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty.types b/tests/baselines/reference/genericBaseClassLiteralProperty.types index 69468f9b679..87f1c55c42d 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty.types +++ b/tests/baselines/reference/genericBaseClassLiteralProperty.types @@ -23,14 +23,14 @@ class SubClass extends BaseClass { >x : number >this._getValue1() : number >this._getValue1 : () => number ->this : this +>this : SubClass >_getValue1 : () => number var y : number = this._getValue2(); >y : number >this._getValue2() : number >this._getValue2 : () => number ->this : this +>this : SubClass >_getValue2 : () => number } } diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty2.types b/tests/baselines/reference/genericBaseClassLiteralProperty2.types index 3e320824925..8d928d44006 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty2.types +++ b/tests/baselines/reference/genericBaseClassLiteralProperty2.types @@ -16,7 +16,7 @@ class BaseCollection2 { this._itemsByKey = {}; >this._itemsByKey = {} : {} >this._itemsByKey : { [key: string]: TItem; } ->this : this +>this : BaseCollection2 >_itemsByKey : { [key: string]: TItem; } >{} : {} } @@ -36,7 +36,7 @@ class DataView2 extends BaseCollection2 { >this._itemsByKey['dummy'] = item : CollectionItem2 >this._itemsByKey['dummy'] : CollectionItem2 >this._itemsByKey : { [key: string]: CollectionItem2; } ->this : this +>this : DataView2 >_itemsByKey : { [key: string]: CollectionItem2; } >'dummy' : string >item : CollectionItem2 diff --git a/tests/baselines/reference/genericClasses4.types b/tests/baselines/reference/genericClasses4.types index 3a2ae3b997c..ac3d05be84d 100644 --- a/tests/baselines/reference/genericClasses4.types +++ b/tests/baselines/reference/genericClasses4.types @@ -26,7 +26,7 @@ class Vec2_T >f(this.x) : B >f : (a: A) => B >this.x : A ->this : this +>this : Vec2_T >x : A var y:B = f(this.y); @@ -35,7 +35,7 @@ class Vec2_T >f(this.y) : B >f : (a: A) => B >this.y : A ->this : this +>this : Vec2_T >y : A var retval: Vec2_T = new Vec2_T(x, y); @@ -69,7 +69,7 @@ class Vec2_T >f : Vec2_T<(a: A) => B> >x : (a: A) => B >this.x : A ->this : this +>this : Vec2_T >x : A var y:B = f.y(this.y); @@ -80,7 +80,7 @@ class Vec2_T >f : Vec2_T<(a: A) => B> >y : (a: A) => B >this.y : A ->this : this +>this : Vec2_T >y : A var retval: Vec2_T = new Vec2_T(x, y); diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types index f0396074b94..9a4b209bc97 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types @@ -37,7 +37,7 @@ module EndGate.Tweening { this._from = from.Clone(); >this._from = from.Clone() : any >this._from : T ->this : this +>this : Tween >_from : T >from.Clone() : any >from.Clone : () => any diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types index 3745a5f6a17..ba42e42ae0c 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types @@ -36,7 +36,7 @@ module EndGate.Tweening { this._from = from.Clone(); >this._from = from.Clone() : any >this._from : T ->this : this +>this : Tween >_from : T >from.Clone() : any >from.Clone : () => any diff --git a/tests/baselines/reference/genericInstanceOf.types b/tests/baselines/reference/genericInstanceOf.types index 3c08c35e44a..726fa38fbf8 100644 --- a/tests/baselines/reference/genericInstanceOf.types +++ b/tests/baselines/reference/genericInstanceOf.types @@ -21,10 +21,10 @@ class C { if (this.a instanceof this.b) { >this.a instanceof this.b : boolean >this.a : T ->this : this +>this : C >a : T >this.b : F ->this : this +>this : C >b : F } } diff --git a/tests/baselines/reference/genericTypeWithCallableMembers.types b/tests/baselines/reference/genericTypeWithCallableMembers.types index 8f62f077d54..e0068d5ff2b 100644 --- a/tests/baselines/reference/genericTypeWithCallableMembers.types +++ b/tests/baselines/reference/genericTypeWithCallableMembers.types @@ -24,14 +24,14 @@ class C { >x : Constructable >new this.data() : Constructable >this.data : T ->this : this +>this : C >data : T var x2 = new this.data2(); // was error, shouldn't be >x2 : Constructable >new this.data2() : Constructable >this.data2 : Constructable ->this : this +>this : C >data2 : Constructable } } diff --git a/tests/baselines/reference/genericWithCallSignatures1.types b/tests/baselines/reference/genericWithCallSignatures1.types index b4a12129027..b55b4bbc64b 100644 --- a/tests/baselines/reference/genericWithCallSignatures1.types +++ b/tests/baselines/reference/genericWithCallSignatures1.types @@ -15,7 +15,7 @@ class MyClass { > this.callableThing() : string >this.callableThing() : string >this.callableThing : CallableExtention ->this : this +>this : MyClass >callableThing : CallableExtention } } diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types index a316773e5c8..0debf18b2b9 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types @@ -15,7 +15,7 @@ class LazyArray { return this.objects; >this.objects : { [objectId: string]: T; } ->this : this +>this : LazyArray >objects : { [objectId: string]: T; } } } diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.types b/tests/baselines/reference/instanceAndStaticDeclarations1.types index cbed990690d..9d6ba692735 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.types +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.types @@ -17,7 +17,7 @@ class Point { >dx : number >this.x - p.x : number >this.x : number ->this : this +>this : Point >x : number >p.x : number >p : Point @@ -27,7 +27,7 @@ class Point { >dy : number >this.y - p.y : number >this.y : number ->this : this +>this : Point >y : number >p.y : number >p : Point diff --git a/tests/baselines/reference/interfaceClassMerging.types b/tests/baselines/reference/interfaceClassMerging.types index 0b17005c868..38887232274 100644 --- a/tests/baselines/reference/interfaceClassMerging.types +++ b/tests/baselines/reference/interfaceClassMerging.types @@ -30,7 +30,7 @@ class Foo { return this.method(0); >this.method(0) : string >this.method : (a: number) => string ->this : this +>this : Foo >method : (a: number) => string >0 : number } @@ -46,7 +46,7 @@ class Bar extends Foo { return this.optionalProperty; >this.optionalProperty : string ->this : this +>this : Bar >optionalProperty : string } } diff --git a/tests/baselines/reference/interfaceContextualType.types b/tests/baselines/reference/interfaceContextualType.types index 0e835a2f1f9..38049f9d6d3 100644 --- a/tests/baselines/reference/interfaceContextualType.types +++ b/tests/baselines/reference/interfaceContextualType.types @@ -29,7 +29,7 @@ class Bug { this.values = {}; >this.values = {} : {} >this.values : IMap ->this : this +>this : Bug >values : IMap >{} : {} @@ -37,7 +37,7 @@ class Bug { >this.values['comments'] = { italic: true } : { italic: boolean; } >this.values['comments'] : IOptions >this.values : IMap ->this : this +>this : Bug >values : IMap >'comments' : string >{ italic: true } : { italic: boolean; } @@ -50,7 +50,7 @@ class Bug { this.values = { >this.values = { comments: { italic: true } } : { comments: { italic: boolean; }; } >this.values : IMap ->this : this +>this : Bug >values : IMap >{ comments: { italic: true } } : { comments: { italic: boolean; }; } diff --git a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types index f429cc88516..645e1c35fc7 100644 --- a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types +++ b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types @@ -13,7 +13,7 @@ class c { >a : any >this.method(a) : void >this.method : (a: any) => void ->this : this +>this : c >method : (a: any) => void >a : any } diff --git a/tests/baselines/reference/listFailure.types b/tests/baselines/reference/listFailure.types index 03725efeca4..05c3cb5dfad 100644 --- a/tests/baselines/reference/listFailure.types +++ b/tests/baselines/reference/listFailure.types @@ -30,7 +30,7 @@ module Editor { >this.lines.add(line) : List >this.lines.add : (data: Line) => List >this.lines : List ->this : this +>this : Buffer >lines : List >add : (data: Line) => List >line : Line @@ -94,7 +94,7 @@ module Editor { this.next = ListMakeEntry(data); >this.next = ListMakeEntry(data) : List >this.next : List ->this : this +>this : List >next : List >ListMakeEntry(data) : List >ListMakeEntry : (data: U) => List @@ -102,7 +102,7 @@ module Editor { return this.next; >this.next : List ->this : this +>this : List >next : List } @@ -119,7 +119,7 @@ module Editor { >ListRemoveEntry(this.next) : List >ListRemoveEntry : (entry: List) => List >this.next : List ->this : this +>this : List >next : List } } diff --git a/tests/baselines/reference/memberVariableDeclarations1.types b/tests/baselines/reference/memberVariableDeclarations1.types index b7ec0fbaba0..9aec8aa12aa 100644 --- a/tests/baselines/reference/memberVariableDeclarations1.types +++ b/tests/baselines/reference/memberVariableDeclarations1.types @@ -49,21 +49,21 @@ class Employee2 { this.retired = false; >this.retired = false : boolean >this.retired : boolean ->this : this +>this : Employee2 >retired : boolean >false : boolean this.manager = null; >this.manager = null : null >this.manager : Employee ->this : this +>this : Employee2 >manager : Employee >null : null this.reports = []; >this.reports = [] : undefined[] >this.reports : Employee[] ->this : this +>this : Employee2 >reports : Employee[] >[] : undefined[] } diff --git a/tests/baselines/reference/mergedDeclarations6.types b/tests/baselines/reference/mergedDeclarations6.types index 6198c08f6b5..2e2e115b108 100644 --- a/tests/baselines/reference/mergedDeclarations6.types +++ b/tests/baselines/reference/mergedDeclarations6.types @@ -13,7 +13,7 @@ export class A { this.protected = val; >this.protected = val : any >this.protected : any ->this : this +>this : A >protected : any >val : any } diff --git a/tests/baselines/reference/missingSelf.types b/tests/baselines/reference/missingSelf.types index ea275e41a0c..5b46bf85db1 100644 --- a/tests/baselines/reference/missingSelf.types +++ b/tests/baselines/reference/missingSelf.types @@ -6,7 +6,7 @@ class CalcButton >a : () => void >this.onClick() : void >this.onClick : () => void ->this : this +>this : CalcButton >onClick : () => void public onClick() { } @@ -21,7 +21,7 @@ class CalcButton2 >() => this.onClick() : () => void >this.onClick() : void >this.onClick : () => void ->this : this +>this : CalcButton2 >onClick : () => void public onClick() { } diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types index c308f535a7a..342bb526bf7 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types @@ -71,7 +71,7 @@ module TypeScript { >positionedToken : any >this.findTokenInternal(null, position, 0) : any >this.findTokenInternal : (x: any, y: any, z: any) => any ->this : this +>this : SyntaxNode >findTokenInternal : (x: any, y: any, z: any) => any >null : null >position : number diff --git a/tests/baselines/reference/moduleMergeConstructor.types b/tests/baselines/reference/moduleMergeConstructor.types index 48a2f010293..77aa3eb8852 100644 --- a/tests/baselines/reference/moduleMergeConstructor.types +++ b/tests/baselines/reference/moduleMergeConstructor.types @@ -36,7 +36,7 @@ class Test { this.bar = new foo.Foo(); >this.bar = new foo.Foo() : foo.Foo >this.bar : foo.Foo ->this : this +>this : Test >bar : foo.Foo >new foo.Foo() : foo.Foo >foo.Foo : typeof foo.Foo diff --git a/tests/baselines/reference/nestedSelf.types b/tests/baselines/reference/nestedSelf.types index ed7f084246a..2c8f3f41dd6 100644 --- a/tests/baselines/reference/nestedSelf.types +++ b/tests/baselines/reference/nestedSelf.types @@ -22,7 +22,7 @@ module M { >x : number >this.n * x : number >this.n : number ->this : this +>this : C >n : number >x : number } diff --git a/tests/baselines/reference/newArrays.types b/tests/baselines/reference/newArrays.types index 3c0928a46ea..4600f5efaf8 100644 --- a/tests/baselines/reference/newArrays.types +++ b/tests/baselines/reference/newArrays.types @@ -26,17 +26,17 @@ module M { this.fa = new Array(this.x * this.y); >this.fa = new Array(this.x * this.y) : Foo[] >this.fa : Foo[] ->this : this +>this : Gar >fa : Foo[] >new Array(this.x * this.y) : Foo[] >Array : ArrayConstructor >Foo : Foo >this.x * this.y : number >this.x : number ->this : this +>this : Gar >x : number >this.y : number ->this : this +>this : Gar >y : number } } diff --git a/tests/baselines/reference/objectIndexer.types b/tests/baselines/reference/objectIndexer.types index b11c475a386..23c0e280fbd 100644 --- a/tests/baselines/reference/objectIndexer.types +++ b/tests/baselines/reference/objectIndexer.types @@ -25,7 +25,7 @@ class Emitter { this.listeners = {}; >this.listeners = {} : {} >this.listeners : IMap ->this : this +>this : Emitter >listeners : IMap >{} : {} } diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types index b38bbbfe64d..bb51151cfd7 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types @@ -34,17 +34,17 @@ module Shapes { >this.x * this.x + this.y * this.y : number >this.x * this.x : number >this.x : number ->this : this +>this : Point >x : number >this.x : number ->this : this +>this : Point >x : number >this.y * this.y : number >this.y : number ->this : this +>this : Point >y : number >this.y : number ->this : this +>this : Point >y : number // Static member diff --git a/tests/baselines/reference/privateInstanceVisibility.types b/tests/baselines/reference/privateInstanceVisibility.types index 54a2c51ec14..8c8f1409a76 100644 --- a/tests/baselines/reference/privateInstanceVisibility.types +++ b/tests/baselines/reference/privateInstanceVisibility.types @@ -45,7 +45,7 @@ class C { getX() { return this.x; } >getX : () => number >this.x : number ->this : this +>this : C >x : number clone(other: C) { @@ -56,7 +56,7 @@ class C { this.x = other.x; >this.x = other.x : number >this.x : number ->this : this +>this : C >x : number >other.x : number >other : C diff --git a/tests/baselines/reference/privateVisibles.types b/tests/baselines/reference/privateVisibles.types index 71e26d7e264..e7c192d54db 100644 --- a/tests/baselines/reference/privateVisibles.types +++ b/tests/baselines/reference/privateVisibles.types @@ -10,7 +10,7 @@ class Foo { var n = this.pvar; >n : number >this.pvar : number ->this : this +>this : Foo >pvar : number } @@ -18,7 +18,7 @@ class Foo { >meth : () => void >q : number >this.pvar : number ->this : this +>this : Foo >pvar : number } diff --git a/tests/baselines/reference/promiseChaining.types b/tests/baselines/reference/promiseChaining.types index 23a8b276fdc..981a19ef0a9 100644 --- a/tests/baselines/reference/promiseChaining.types +++ b/tests/baselines/reference/promiseChaining.types @@ -22,7 +22,7 @@ class Chain { >cb(this.value) : S >cb : (x: T) => S >this.value : T ->this : this +>this : Chain >value : T // should get a fresh type parameter which each then call @@ -34,7 +34,7 @@ class Chain { >this.then(x => result)/*S*/.then : (cb: (x: S) => S) => Chain >this.then(x => result) : Chain >this.then : (cb: (x: T) => S) => Chain ->this : this +>this : Chain >then : (cb: (x: T) => S) => Chain >x => result : (x: T) => S >x : T diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types index 1e325d1d6f5..98e5c120c3d 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types @@ -10,7 +10,7 @@ class C { protected get y() { return this.x; } >y : string >this.x : string ->this : this +>this : C >x : string protected set y(x) { this.y = this.x; } @@ -18,16 +18,16 @@ class C { >x : string >this.y = this.x : string >this.y : string ->this : this +>this : C >y : string >this.x : string ->this : this +>this : C >x : string protected foo() { return this.foo; } >foo : () => any >this.foo : () => any ->this : this +>this : C >foo : () => any protected static x: string; @@ -75,7 +75,7 @@ class C2 { >y : any >() => this.x : () => string >this.x : string ->this : this +>this : C2 >x : string >null : null @@ -85,17 +85,17 @@ class C2 { >() => { this.y = this.x; } : () => void >this.y = this.x : string >this.y : any ->this : this +>this : C2 >y : any >this.x : string ->this : this +>this : C2 >x : string protected foo() { () => this.foo; } >foo : () => void >() => this.foo : () => () => void >this.foo : () => void ->this : this +>this : C2 >foo : () => void protected static x: string; diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types index 863f3100599..bd230239d47 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types @@ -18,7 +18,7 @@ class C extends B { protected get y() { return this.x; } >y : string >this.x : string ->this : this +>this : C >x : string protected set y(x) { this.y = this.x; } @@ -26,23 +26,23 @@ class C extends B { >x : string >this.y = this.x : string >this.y : string ->this : this +>this : C >y : string >this.x : string ->this : this +>this : C >x : string protected foo() { return this.x; } >foo : () => string >this.x : string ->this : this +>this : C >x : string protected bar() { return this.foo(); } >bar : () => string >this.foo() : string >this.foo : () => string ->this : this +>this : C >foo : () => string protected static get y() { return this.x; } diff --git a/tests/baselines/reference/protoInIndexer.types b/tests/baselines/reference/protoInIndexer.types index bfafc56404a..48e8b5d56dc 100644 --- a/tests/baselines/reference/protoInIndexer.types +++ b/tests/baselines/reference/protoInIndexer.types @@ -6,7 +6,7 @@ class X { this['__proto__'] = null; // used to cause ICE >this['__proto__'] = null : null >this['__proto__'] : any ->this : this +>this : X >'__proto__' : string >null : null } diff --git a/tests/baselines/reference/quotedPropertyName3.types b/tests/baselines/reference/quotedPropertyName3.types index 7c957372e0d..53d375f7621 100644 --- a/tests/baselines/reference/quotedPropertyName3.types +++ b/tests/baselines/reference/quotedPropertyName3.types @@ -10,7 +10,7 @@ class Test { >x : () => number >() => this["prop1"] : () => number >this["prop1"] : number ->this : this +>this : Test >"prop1" : string var y: number = x(); diff --git a/tests/baselines/reference/recursiveComplicatedClasses.types b/tests/baselines/reference/recursiveComplicatedClasses.types index 1bb48a3c0c9..247b9ee27c5 100644 --- a/tests/baselines/reference/recursiveComplicatedClasses.types +++ b/tests/baselines/reference/recursiveComplicatedClasses.types @@ -24,7 +24,7 @@ class Symbol { >bound : boolean public visible() { ->visible : () => any +>visible : () => boolean var b: TypeSymbol; >b : TypeSymbol diff --git a/tests/baselines/reference/recursiveProperties.types b/tests/baselines/reference/recursiveProperties.types index 1e8a4ed3c1a..2c3f90c6503 100644 --- a/tests/baselines/reference/recursiveProperties.types +++ b/tests/baselines/reference/recursiveProperties.types @@ -5,7 +5,7 @@ class A { get testProp() { return this.testProp; } >testProp : any >this.testProp : any ->this : this +>this : A >testProp : any } @@ -17,7 +17,7 @@ class B { >value : string >this.testProp = value : string >this.testProp : string ->this : this +>this : B >testProp : string >value : string } diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.types b/tests/baselines/reference/scopeResolutionIdentifiers.types index 7c4eae23813..37fa897863d 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.types +++ b/tests/baselines/reference/scopeResolutionIdentifiers.types @@ -56,7 +56,7 @@ class C { n = this.s; >n : Date >this.s : Date ->this : this +>this : C >s : Date x() { @@ -65,7 +65,7 @@ class C { var p = this.n; >p : Date >this.n : Date ->this : this +>this : C >n : Date var p: Date; diff --git a/tests/baselines/reference/selfInCallback.types b/tests/baselines/reference/selfInCallback.types index 6010a64d80f..0f9b0f3a671 100644 --- a/tests/baselines/reference/selfInCallback.types +++ b/tests/baselines/reference/selfInCallback.types @@ -18,12 +18,12 @@ class C { this.callback(()=>{this.p1+1}); >this.callback(()=>{this.p1+1}) : void >this.callback : (cb: () => void) => void ->this : this +>this : C >callback : (cb: () => void) => void >()=>{this.p1+1} : () => void >this.p1+1 : number >this.p1 : number ->this : this +>this : C >p1 : number >1 : number } diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index 3addf07c75a..e8905432e75 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -79,7 +79,7 @@ class X { var x = this.value; >x : string >this.value : string ->this : this +>this : X >value : string var inner = () => { @@ -89,7 +89,7 @@ class X { var y = this.value; >y : string >this.value : string ->this : this +>this : X >value : string } diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index 6f9ca201085..f6b87c2e4c4 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -32,17 +32,17 @@ module Shapes { >this.x * this.x + this.y * this.y : number >this.x * this.x : number >this.x : number ->this : this +>this : Point >x : number >this.x : number ->this : this +>this : Point >x : number >this.y * this.y : number >this.y : number ->this : this +>this : Point >y : number >this.y : number ->this : this +>this : Point >y : number // Static member diff --git a/tests/baselines/reference/sourceMapValidationClass.types b/tests/baselines/reference/sourceMapValidationClass.types index 3e5234b0d6e..e3b30a37227 100644 --- a/tests/baselines/reference/sourceMapValidationClass.types +++ b/tests/baselines/reference/sourceMapValidationClass.types @@ -14,7 +14,7 @@ class Greeter { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : this +>this : Greeter >greeting : string >"

" : string } @@ -30,7 +30,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : this +>this : Greeter >greeting : string } get greetings() { @@ -38,7 +38,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : this +>this : Greeter >greeting : string } set greetings(greetings: string) { @@ -48,7 +48,7 @@ class Greeter { this.greeting = greetings; >this.greeting = greetings : string >this.greeting : string ->this : this +>this : Greeter >greeting : string >greetings : string } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types index a20410aa842..266fe496193 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types @@ -10,6 +10,6 @@ class Greeter { >returnA : () => number >() => this.a : () => number >this.a : number ->this : this +>this : Greeter >a : number } diff --git a/tests/baselines/reference/sourceMapValidationClasses.types b/tests/baselines/reference/sourceMapValidationClasses.types index 5b3512c06c1..97e168d4701 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.types +++ b/tests/baselines/reference/sourceMapValidationClasses.types @@ -21,7 +21,7 @@ module Foo.Bar { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : this +>this : Greeter >greeting : string >"

" : string } diff --git a/tests/baselines/reference/sourceMapValidationDecorators.types b/tests/baselines/reference/sourceMapValidationDecorators.types index 2fc05972307..9e83bb03509 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.types +++ b/tests/baselines/reference/sourceMapValidationDecorators.types @@ -93,7 +93,7 @@ class Greeter { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : this +>this : Greeter >greeting : string >"

" : string } @@ -137,7 +137,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : this +>this : Greeter >greeting : string } @@ -154,7 +154,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : this +>this : Greeter >greeting : string } @@ -175,7 +175,7 @@ class Greeter { this.greeting = greetings; >this.greeting = greetings : string >this.greeting : string ->this : this +>this : Greeter >greeting : string >greetings : string } diff --git a/tests/baselines/reference/superAccessInFatArrow1.types b/tests/baselines/reference/superAccessInFatArrow1.types index 95f0d769655..0c50015c051 100644 --- a/tests/baselines/reference/superAccessInFatArrow1.types +++ b/tests/baselines/reference/superAccessInFatArrow1.types @@ -23,7 +23,7 @@ module test { this.bar(() => { >this.bar(() => { super.foo(); }) : void >this.bar : (callback: () => void) => void ->this : this +>this : B >bar : (callback: () => void) => void >() => { super.foo(); } : () => void diff --git a/tests/baselines/reference/superCallBeforeThisAccessing1.types b/tests/baselines/reference/superCallBeforeThisAccessing1.types index e947653584a..2eeaca024ff 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing1.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing1.types @@ -28,7 +28,7 @@ class D extends Base { t: this._t >t : any >this._t : any ->this : this +>this : D >_t : any } var i = Factory.create(s); diff --git a/tests/baselines/reference/superCallBeforeThisAccessing2.types b/tests/baselines/reference/superCallBeforeThisAccessing2.types index cf0f54b6246..2b819cd698d 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing2.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing2.types @@ -18,7 +18,7 @@ class D extends Base { >super : typeof Base >() => { this._t } : () => void >this._t : any ->this : this +>this : D >_t : any } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing5.types b/tests/baselines/reference/superCallBeforeThisAccessing5.types index 2c0fc33c4dc..a31eb45730c 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing5.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing5.types @@ -9,7 +9,7 @@ class D extends null { constructor() { this._t; // No error >this._t : any ->this : this +>this : D >_t : any } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing8.types b/tests/baselines/reference/superCallBeforeThisAccessing8.types index dd92d924ceb..c7828ee6028 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing8.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing8.types @@ -26,7 +26,7 @@ class D extends Base { j: this._t, // no error >j : any >this._t : any ->this : this +>this : D >_t : any } } diff --git a/tests/baselines/reference/superPropertyAccess_ES6.types b/tests/baselines/reference/superPropertyAccess_ES6.types index b10b1944a44..19f5ce0e796 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.types +++ b/tests/baselines/reference/superPropertyAccess_ES6.types @@ -56,7 +56,7 @@ class A { get property() { return this._property; } >property : string >this._property : string ->this : this +>this : A >_property : string set property(value: string) { this._property = value } @@ -64,7 +64,7 @@ class A { >value : string >this._property = value : string >this._property : string ->this : this +>this : A >_property : string >value : string } diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 99668ca4901..5b6b5213524 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -9,7 +9,7 @@ class C { this.x = (() => { >this.x = (() => { var x = 1; return this.x; })() : number >this.x : number ->this : this +>this : C >x : number >(() => { var x = 1; return this.x; })() : number >(() => { var x = 1; return this.x; }) : () => number @@ -21,14 +21,14 @@ class C { return this.x; >this.x : number ->this : this +>this : C >x : number })(); this.x = function() { >this.x = function() { var x = 1; return this.x; }() : any >this.x : number ->this : this +>this : C >x : number >function() { var x = 1; return this.x; }() : any >function() { var x = 1; return this.x; } : () => any diff --git a/tests/baselines/reference/thisCapture1.types b/tests/baselines/reference/thisCapture1.types index eb4501203ca..05eabf5c914 100644 --- a/tests/baselines/reference/thisCapture1.types +++ b/tests/baselines/reference/thisCapture1.types @@ -25,7 +25,7 @@ class X { this.y = 0; >this.y = 0 : number >this.y : number ->this : this +>this : X >y : number >0 : number diff --git a/tests/baselines/reference/thisInLambda.types b/tests/baselines/reference/thisInLambda.types index aea7fb08bd6..fbbb7f8a124 100644 --- a/tests/baselines/reference/thisInLambda.types +++ b/tests/baselines/reference/thisInLambda.types @@ -11,14 +11,14 @@ class Foo { this.x; // 'this' is type 'Foo' >this.x : string ->this : this +>this : Foo >x : string var f = () => this.x; // 'this' should be type 'Foo' as well >f : () => string >() => this.x : () => string >this.x : string ->this : this +>this : Foo >x : string } } diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.types b/tests/baselines/reference/thisInPropertyBoundDeclarations.types index f871e78d219..2a75450f510 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.types +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.types @@ -32,7 +32,7 @@ class Bug { this.name = name; >this.name = name : string >this.name : string ->this : this +>this : Bug >name : string >name : string } diff --git a/tests/baselines/reference/typeConstraintsWithConstructSignatures.types b/tests/baselines/reference/typeConstraintsWithConstructSignatures.types index 9141aec0496..3814c014ece 100644 --- a/tests/baselines/reference/typeConstraintsWithConstructSignatures.types +++ b/tests/baselines/reference/typeConstraintsWithConstructSignatures.types @@ -23,14 +23,14 @@ class C { >x : any >new this.data() : any >this.data : T ->this : this +>this : C >data : T var x2 = new this.data2(); // should not error >x2 : any >new this.data2() : any >this.data2 : Constructable ->this : this +>this : C >data2 : Constructable } } diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index ca4d8b94527..2167eb88642 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -35,11 +35,11 @@ class C1 { >typeof this.pp1 === "string" : boolean >typeof this.pp1 : string >this.pp1 : string | number ->this : this +>this : C1 >pp1 : string | number >"string" : string >this.pp1 : string | number ->this : this +>this : C1 >pp1 : string | number strOrNum = typeof this.pp2 === "string" && this.pp2; // string | number @@ -49,11 +49,11 @@ class C1 { >typeof this.pp2 === "string" : boolean >typeof this.pp2 : string >this.pp2 : string | number ->this : this +>this : C1 >pp2 : string | number >"string" : string >this.pp2 : string | number ->this : this +>this : C1 >pp2 : string | number strOrNum = typeof this.pp3 === "string" && this.pp3; // string | number @@ -63,11 +63,11 @@ class C1 { >typeof this.pp3 === "string" : boolean >typeof this.pp3 : string >this.pp3 : string | number ->this : this +>this : C1 >pp3 : string | number >"string" : string >this.pp3 : string | number ->this : this +>this : C1 >pp3 : string | number } } diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.types b/tests/baselines/reference/typeInferenceReturnTypeCallback.types index 408e60f90ec..fb26424d892 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.types +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.types @@ -54,7 +54,7 @@ class Cons implements IList{ return this.foldRight(new Nil(), (t, acc) => { >this.foldRight(new Nil(), (t, acc) => { return new Cons(); }) : Nil >this.foldRight : (z: E, f: (t: T, acc: E) => E) => E ->this : this +>this : Cons >foldRight : (z: E, f: (t: T, acc: E) => E) => E >new Nil() : Nil >Nil : typeof Nil diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index 60cbcccda2b..4de320604bd 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -124,7 +124,7 @@ class MyView extends View { >this.model.get("data") : any >this.model.get : any >this.model : any ->this : this +>this : MyView >model : any >get : any >"data" : string diff --git a/tests/baselines/reference/varArgsOnConstructorTypes.types b/tests/baselines/reference/varArgsOnConstructorTypes.types index 44987506101..5ac9babd426 100644 --- a/tests/baselines/reference/varArgsOnConstructorTypes.types +++ b/tests/baselines/reference/varArgsOnConstructorTypes.types @@ -28,14 +28,14 @@ export class B extends A { this.p1 = element; >this.p1 = element : any >this.p1 : number ->this : this +>this : B >p1 : number >element : any this.p2 = url; >this.p2 = url : string >this.p2 : string ->this : this +>this : B >p2 : string >url : string } From f06423bffc705488f0f6c14ea70b8135a2421e34 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 9 Mar 2016 17:08:26 -0800 Subject: [PATCH 195/342] Revert "add part of test baselines" This reverts commit 502b2ba321943f52e1fef53014e0748d0db6b916. --- tests/baselines/reference/2dArrays.types | 2 +- .../accessOverriddenBaseClassMember1.types | 6 +- .../aliasUsageInAccessorsOfClass.types | 2 +- .../ambiguousCallsWhereReturnTypesAgree.types | 4 +- .../baselines/reference/amdModuleName1.types | 2 +- .../reference/arrayBestCommonTypes.types | 52 +++++------ .../reference/arrayOfExportedClass.types | 2 +- tests/baselines/reference/arrayconcat.types | 4 +- .../binopAssignmentShouldHaveType.types | 2 +- .../baselines/reference/callWithSpread.types | 4 +- .../reference/callWithSpreadES6.types | 4 +- .../reference/captureThisInSuperCall.types | 2 +- .../reference/capturedLetConstInLoop10.types | 12 +-- .../capturedLetConstInLoop10_ES6.types | 12 +-- .../reference/capturedLetConstInLoop9.types | 2 +- .../capturedLetConstInLoop9_ES6.types | 2 +- .../checkSuperCallBeforeThisAccessing3.types | 2 +- ...sConstructorParametersAccessibility3.types | 2 +- tests/baselines/reference/classOrder2.types | 2 +- tests/baselines/reference/classOrderBug.types | 2 +- .../reference/commentsClassMembers.types | 88 +++++++++---------- .../reference/commentsInheritance.types | 2 +- .../reference/commentsdoNotEmitComments.types | 6 +- .../reference/commentsemitComments.types | 6 +- .../computedPropertyNames22_ES5.types | 2 +- .../computedPropertyNames22_ES6.types | 2 +- .../computedPropertyNames29_ES5.types | 2 +- .../computedPropertyNames29_ES6.types | 2 +- ...DeclarationShadowedByVarDeclaration3.types | 2 +- .../reference/declFileForTypeParameters.types | 2 +- .../reference/declFileGenericType2.types | 2 +- .../declarationEmit_protectedMembers.types | 4 +- .../reference/declarationMerging1.types | 2 +- .../reference/declarationMerging2.types | 2 +- ...taWithImportDeclarationNameCollision.types | 4 +- ...aWithImportDeclarationNameCollision2.types | 4 +- ...aWithImportDeclarationNameCollision3.types | 4 +- ...aWithImportDeclarationNameCollision5.types | 4 +- ...aWithImportDeclarationNameCollision6.types | 4 +- ...aWithImportDeclarationNameCollision8.types | 4 +- .../baselines/reference/derivedClasses.types | 4 +- ...detachedCommentAtStartOfConstructor1.types | 4 +- ...detachedCommentAtStartOfConstructor2.types | 4 +- ...achedCommentAtStartOfLambdaFunction1.types | 2 +- ...achedCommentAtStartOfLambdaFunction2.types | 2 +- ...ClassDeclarationWithConstructorInES6.types | 4 +- ...lassDeclarationWithGetterSetterInES6.types | 2 +- .../emitClassDeclarationWithMethodInES6.types | 2 +- ...clarationWithPropertyAssignmentInES6.types | 4 +- ...ClassDeclarationWithThisKeywordInES6.types | 8 +- ...tionWithTypeArgumentAndOverloadInES6.types | 8 +- ...lassDeclarationWithTypeArgumentInES6.types | 8 +- tests/baselines/reference/es6ClassTest3.types | 4 +- tests/baselines/reference/es6ClassTest8.types | 14 +-- tests/baselines/reference/fatArrowSelf.types | 4 +- .../reference/functionOverloads7.types | 4 +- .../functionSubtypingOfVarArgs.types | 2 +- .../functionSubtypingOfVarArgs2.types | 2 +- .../functionsInClassExpressions.types | 6 +- .../genericBaseClassLiteralProperty.types | 4 +- .../genericBaseClassLiteralProperty2.types | 4 +- .../baselines/reference/genericClasses4.types | 8 +- ...ericConstraintOnExtendedBuiltinTypes.types | 2 +- ...ricConstraintOnExtendedBuiltinTypes2.types | 2 +- .../reference/genericInstanceOf.types | 4 +- .../genericTypeWithCallableMembers.types | 4 +- .../genericWithCallSignatures1.types | 2 +- ...nericWithIndexerOfTypeParameterType1.types | 2 +- .../instanceAndStaticDeclarations1.types | 4 +- .../reference/interfaceClassMerging.types | 4 +- .../reference/interfaceContextualType.types | 6 +- ...onClassMethodContainingArrowFunction.types | 2 +- tests/baselines/reference/listFailure.types | 8 +- .../memberVariableDeclarations1.types | 6 +- .../reference/mergedDeclarations6.types | 2 +- tests/baselines/reference/missingSelf.types | 4 +- .../moduleMemberWithoutTypeAnnotation1.types | 2 +- .../reference/moduleMergeConstructor.types | 2 +- tests/baselines/reference/nestedSelf.types | 2 +- tests/baselines/reference/newArrays.types | 6 +- tests/baselines/reference/objectIndexer.types | 2 +- ...orRecovery_IncompleteMemberVariable1.types | 8 +- .../reference/privateInstanceVisibility.types | 4 +- .../baselines/reference/privateVisibles.types | 4 +- .../baselines/reference/promiseChaining.types | 4 +- ...edClassPropertyAccessibleWithinClass.types | 16 ++-- ...lassPropertyAccessibleWithinSubclass.types | 10 +-- .../baselines/reference/protoInIndexer.types | 2 +- .../reference/quotedPropertyName3.types | 2 +- .../recursiveComplicatedClasses.types | 2 +- .../reference/recursiveProperties.types | 4 +- .../scopeResolutionIdentifiers.types | 4 +- .../baselines/reference/selfInCallback.types | 4 +- tests/baselines/reference/selfInLambdas.types | 4 +- .../sourceMap-FileWithComments.types | 8 +- .../reference/sourceMapValidationClass.types | 8 +- ...tConstructorAndCapturedThisStatement.types | 2 +- .../sourceMapValidationClasses.types | 2 +- .../sourceMapValidationDecorators.types | 8 +- .../reference/superAccessInFatArrow1.types | 2 +- .../superCallBeforeThisAccessing1.types | 2 +- .../superCallBeforeThisAccessing2.types | 2 +- .../superCallBeforeThisAccessing5.types | 2 +- .../superCallBeforeThisAccessing8.types | 2 +- .../reference/superPropertyAccess_ES6.types | 4 +- tests/baselines/reference/thisBinding2.types | 6 +- tests/baselines/reference/thisCapture1.types | 2 +- tests/baselines/reference/thisInLambda.types | 4 +- .../thisInPropertyBoundDeclarations.types | 2 +- ...peConstraintsWithConstructSignatures.types | 4 +- .../reference/typeGuardsInProperties.types | 12 +-- .../typeInferenceReturnTypeCallback.types | 2 +- .../reference/underscoreMapFirst.types | 2 +- .../reference/varArgsOnConstructorTypes.types | 4 +- 114 files changed, 294 insertions(+), 294 deletions(-) diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index b113ccdce7b..00805899294 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -28,7 +28,7 @@ class Board { >this.ships.every(function (val) { return val.isSunk; }) : boolean >this.ships.every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean >this.ships : Ship[] ->this : Board +>this : this >ships : Ship[] >every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean >function (val) { return val.isSunk; } : (val: Ship) => boolean diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.types b/tests/baselines/reference/accessOverriddenBaseClassMember1.types index 2aeb541d723..f444544ea48 100644 --- a/tests/baselines/reference/accessOverriddenBaseClassMember1.types +++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.types @@ -15,11 +15,11 @@ class Point { >"x=" + this.x : string >"x=" : string >this.x : number ->this : Point +>this : this >x : number >" y=" : string >this.y : number ->this : Point +>this : this >y : number } } @@ -50,7 +50,7 @@ class ColoredPoint extends Point { >toString : () => string >" color=" : string >this.color : string ->this : ColoredPoint +>this : this >color : string } } diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types index ea6ab451b11..c66f4c5c193 100644 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types @@ -26,7 +26,7 @@ class C2 { return this.x; >this.x : IHasVisualizationModel ->this : C2 +>this : this >x : IHasVisualizationModel } set A(x) { diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index d4df0f75d16..65f26f25770 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -31,7 +31,7 @@ class TestClass { this.bar(x); // should not error >this.bar(x) : void >this.bar : { (x: string): void; (x: string[]): void; } ->this : TestClass +>this : this >bar : { (x: string): void; (x: string[]): void; } >x : any } @@ -71,7 +71,7 @@ class TestClass2 { return this.bar(x); // should not error >this.bar(x) : number >this.bar : { (x: string): number; (x: string[]): number; } ->this : TestClass2 +>this : this >bar : { (x: string): number; (x: string[]): number; } >x : any } diff --git a/tests/baselines/reference/amdModuleName1.types b/tests/baselines/reference/amdModuleName1.types index 64bc7842451..c0db9c8b1b5 100644 --- a/tests/baselines/reference/amdModuleName1.types +++ b/tests/baselines/reference/amdModuleName1.types @@ -10,7 +10,7 @@ class Foo { this.x = 5; >this.x = 5 : number >this.x : number ->this : Foo +>this : this >x : number >5 : number } diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index 20f36e5c459..fca66793f40 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -51,7 +51,7 @@ module EmptyTypes { >(this.voidIfAny([4, 2][0])) : number >this.voidIfAny([4, 2][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] @@ -64,7 +64,7 @@ module EmptyTypes { >(this.voidIfAny([4, 2, undefined][0])) : number >this.voidIfAny([4, 2, undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] @@ -78,7 +78,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, 2, 4][0])) : number >this.voidIfAny([undefined, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] @@ -92,7 +92,7 @@ module EmptyTypes { >(this.voidIfAny([null, 2, 4][0])) : number >this.voidIfAny([null, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, 2, 4][0] : number >[null, 2, 4] : number[] @@ -106,7 +106,7 @@ module EmptyTypes { >(this.voidIfAny([2, 4, null][0])) : number >this.voidIfAny([2, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] @@ -120,7 +120,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, 4, null][0])) : number >this.voidIfAny([undefined, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] @@ -134,7 +134,7 @@ module EmptyTypes { >(this.voidIfAny(['', "q"][0])) : number >this.voidIfAny(['', "q"][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] @@ -147,7 +147,7 @@ module EmptyTypes { >(this.voidIfAny(['', "q", undefined][0])) : number >this.voidIfAny(['', "q", undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] @@ -161,7 +161,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, "q", ''][0])) : number >this.voidIfAny([undefined, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] @@ -175,7 +175,7 @@ module EmptyTypes { >(this.voidIfAny([null, "q", ''][0])) : number >this.voidIfAny([null, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, "q", ''][0] : string >[null, "q", ''] : string[] @@ -189,7 +189,7 @@ module EmptyTypes { >(this.voidIfAny(["q", '', null][0])) : number >this.voidIfAny(["q", '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] @@ -203,7 +203,7 @@ module EmptyTypes { >(this.voidIfAny([undefined, '', null][0])) : number >this.voidIfAny([undefined, '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, '', null][0] : string >[undefined, '', null] : string[] @@ -217,7 +217,7 @@ module EmptyTypes { >(this.voidIfAny([[3, 4], [null]][0][0])) : number >this.voidIfAny([[3, 4], [null]][0][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[[3, 4], [null]][0][0] : number >[[3, 4], [null]][0] : number[] @@ -454,7 +454,7 @@ module NonEmptyTypes { >(this.voidIfAny([4, 2][0])) : number >this.voidIfAny([4, 2][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] @@ -467,7 +467,7 @@ module NonEmptyTypes { >(this.voidIfAny([4, 2, undefined][0])) : number >this.voidIfAny([4, 2, undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] @@ -481,7 +481,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, 2, 4][0])) : number >this.voidIfAny([undefined, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] @@ -495,7 +495,7 @@ module NonEmptyTypes { >(this.voidIfAny([null, 2, 4][0])) : number >this.voidIfAny([null, 2, 4][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, 2, 4][0] : number >[null, 2, 4] : number[] @@ -509,7 +509,7 @@ module NonEmptyTypes { >(this.voidIfAny([2, 4, null][0])) : number >this.voidIfAny([2, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] @@ -523,7 +523,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, 4, null][0])) : number >this.voidIfAny([undefined, 4, null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] @@ -537,7 +537,7 @@ module NonEmptyTypes { >(this.voidIfAny(['', "q"][0])) : number >this.voidIfAny(['', "q"][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] @@ -550,7 +550,7 @@ module NonEmptyTypes { >(this.voidIfAny(['', "q", undefined][0])) : number >this.voidIfAny(['', "q", undefined][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] @@ -564,7 +564,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, "q", ''][0])) : number >this.voidIfAny([undefined, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] @@ -578,7 +578,7 @@ module NonEmptyTypes { >(this.voidIfAny([null, "q", ''][0])) : number >this.voidIfAny([null, "q", ''][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[null, "q", ''][0] : string >[null, "q", ''] : string[] @@ -592,7 +592,7 @@ module NonEmptyTypes { >(this.voidIfAny(["q", '', null][0])) : number >this.voidIfAny(["q", '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] @@ -606,7 +606,7 @@ module NonEmptyTypes { >(this.voidIfAny([undefined, '', null][0])) : number >this.voidIfAny([undefined, '', null][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[undefined, '', null][0] : string >[undefined, '', null] : string[] @@ -620,7 +620,7 @@ module NonEmptyTypes { >(this.voidIfAny([[3, 4], [null]][0][0])) : number >this.voidIfAny([[3, 4], [null]][0][0]) : number >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } ->this : f +>this : this >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[[3, 4], [null]][0][0] : number >[[3, 4], [null]][0] : number[] diff --git a/tests/baselines/reference/arrayOfExportedClass.types b/tests/baselines/reference/arrayOfExportedClass.types index 1e41e82e448..8447ed2841f 100644 --- a/tests/baselines/reference/arrayOfExportedClass.types +++ b/tests/baselines/reference/arrayOfExportedClass.types @@ -18,7 +18,7 @@ class Road { this.cars = cars; >this.cars = cars : Car[] >this.cars : Car[] ->this : Road +>this : this >cars : Car[] >cars : Car[] } diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 3560272a363..45615cd63b8 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -38,12 +38,12 @@ class parser { this.options = this.options.sort(function(a, b) { >this.options = this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options : IOptions[] ->this : parser +>this : this >options : IOptions[] >this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] >this.options : IOptions[] ->this : parser +>this : this >options : IOptions[] >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] >function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => number diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.types b/tests/baselines/reference/binopAssignmentShouldHaveType.types index fdef2fbcabd..d09138bbb88 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.types +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.types @@ -32,7 +32,7 @@ module Test { >name : string >this.getName() : string >this.getName : () => string ->this : Bug +>this : this >getName : () => string >length : number >0 : number diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index 8964708c05e..eae92c471e9 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -180,7 +180,7 @@ class C { this.foo(x, y); >this.foo(x, y) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : C +>this : this >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number @@ -188,7 +188,7 @@ class C { this.foo(x, y, ...z); >this.foo(x, y, ...z) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : C +>this : this >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index 9c9e795ce24..b0c118855fe 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -181,7 +181,7 @@ class C { this.foo(x, y); >this.foo(x, y) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : C +>this : this >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number @@ -189,7 +189,7 @@ class C { this.foo(x, y, ...z); >this.foo(x, y, ...z) : void >this.foo : (x: number, y: number, ...z: string[]) => void ->this : C +>this : this >foo : (x: number, y: number, ...z: string[]) => void >x : number >y : number diff --git a/tests/baselines/reference/captureThisInSuperCall.types b/tests/baselines/reference/captureThisInSuperCall.types index faa7d2ad97e..4a0902e9f1e 100644 --- a/tests/baselines/reference/captureThisInSuperCall.types +++ b/tests/baselines/reference/captureThisInSuperCall.types @@ -18,7 +18,7 @@ class B extends A { >() => this.someMethod() : () => void >this.someMethod() : void >this.someMethod : () => void ->this : B +>this : this >someMethod : () => void someMethod() {} diff --git a/tests/baselines/reference/capturedLetConstInLoop10.types b/tests/baselines/reference/capturedLetConstInLoop10.types index 915805325a8..e4bca4d906a 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.types +++ b/tests/baselines/reference/capturedLetConstInLoop10.types @@ -18,7 +18,7 @@ class A { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >f() : number >f : () => number @@ -55,7 +55,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >b() : number >b : () => number @@ -63,7 +63,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >a() : number >a : () => number @@ -85,7 +85,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >a() : number >a : () => number @@ -103,7 +103,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >b() : number >b : () => number @@ -137,7 +137,7 @@ class B { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : B +>this : this >bar : (a: number) => void >f() : number >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types index e497fb5c406..068c124582d 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types @@ -18,7 +18,7 @@ class A { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >f() : number >f : () => number @@ -55,7 +55,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >b() : number >b : () => number @@ -63,7 +63,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >a() : number >a : () => number @@ -85,7 +85,7 @@ class A { this.bar(a()); >this.bar(a()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >a() : number >a : () => number @@ -103,7 +103,7 @@ class A { this.bar(b()); >this.bar(b()) : void >this.bar : (a: number) => void ->this : A +>this : this >bar : (a: number) => void >b() : number >b : () => number @@ -137,7 +137,7 @@ class B { this.bar(f()); >this.bar(f()) : void >this.bar : (a: number) => void ->this : B +>this : this >bar : (a: number) => void >f() : number >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop9.types b/tests/baselines/reference/capturedLetConstInLoop9.types index 71dde507aa6..7f793ab6601 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.types +++ b/tests/baselines/reference/capturedLetConstInLoop9.types @@ -319,7 +319,7 @@ class C { >() => this.N * i : () => number >this.N * i : number >this.N : number ->this : C +>this : this >N : number >i : number } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types index 9ad6e1cf83d..dfbfa387ed4 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types @@ -319,7 +319,7 @@ class C { >() => this.N * i : () => number >this.N * i : number >this.N : number ->this : C +>this : this >N : number >i : number } diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types index 0eb026c1160..c4e9e15ed8e 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types @@ -20,7 +20,7 @@ class Derived extends Based { this.y = true; >this.y = true : boolean >this.y : boolean ->this : innver +>this : this >y : boolean >true : boolean } diff --git a/tests/baselines/reference/classConstructorParametersAccessibility3.types b/tests/baselines/reference/classConstructorParametersAccessibility3.types index 3372044569c..d664aaf3172 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility3.types +++ b/tests/baselines/reference/classConstructorParametersAccessibility3.types @@ -20,7 +20,7 @@ class Derived extends Base { this.p; // OK >this.p : number ->this : Derived +>this : this >p : number } } diff --git a/tests/baselines/reference/classOrder2.types b/tests/baselines/reference/classOrder2.types index 07bd6ba45a5..ac65da2ec9d 100644 --- a/tests/baselines/reference/classOrder2.types +++ b/tests/baselines/reference/classOrder2.types @@ -8,7 +8,7 @@ class A extends B { >foo : () => void >this.bar() : void >this.bar : () => void ->this : A +>this : this >bar : () => void } diff --git a/tests/baselines/reference/classOrderBug.types b/tests/baselines/reference/classOrderBug.types index 979b65b8008..703a87adc4f 100644 --- a/tests/baselines/reference/classOrderBug.types +++ b/tests/baselines/reference/classOrderBug.types @@ -11,7 +11,7 @@ class bar { this.baz = new foo(); >this.baz = new foo() : foo >this.baz : foo ->this : bar +>this : this >baz : foo >new foo() : foo >foo : typeof foo diff --git a/tests/baselines/reference/commentsClassMembers.types b/tests/baselines/reference/commentsClassMembers.types index fbd514bf77b..b599edc0463 100644 --- a/tests/baselines/reference/commentsClassMembers.types +++ b/tests/baselines/reference/commentsClassMembers.types @@ -16,7 +16,7 @@ class c1 { return this.p1 + b; >this.p1 + b : number >this.p1 : number ->this : c1 +>this : this >p1 : number >b : number @@ -28,10 +28,10 @@ class c1 { return this.p2(this.p1); >this.p2(this.p1) : number >this.p2 : (b: number) => number ->this : c1 +>this : this >p2 : (b: number) => number >this.p1 : number ->this : c1 +>this : this >p1 : number }// trailing comment Getter @@ -43,11 +43,11 @@ class c1 { this.p1 = this.p2(value); >this.p1 = this.p2(value) : number >this.p1 : number ->this : c1 +>this : this >p1 : number >this.p2(value) : number >this.p2 : (b: number) => number ->this : c1 +>this : this >p2 : (b: number) => number >value : number @@ -64,7 +64,7 @@ class c1 { return this.p1 + b; >this.p1 + b : number >this.p1 : number ->this : c1 +>this : this >p1 : number >b : number @@ -76,10 +76,10 @@ class c1 { return this.pp2(this.pp1); >this.pp2(this.pp1) : number >this.pp2 : (b: number) => number ->this : c1 +>this : this >pp2 : (b: number) => number >this.pp1 : number ->this : c1 +>this : this >pp1 : number } /** setter property*/ @@ -90,11 +90,11 @@ class c1 { this.pp1 = this.pp2(value); >this.pp1 = this.pp2(value) : number >this.pp1 : number ->this : c1 +>this : this >pp1 : number >this.pp2(value) : number >this.pp2 : (b: number) => number ->this : c1 +>this : this >pp2 : (b: number) => number >value : number } @@ -158,7 +158,7 @@ class c1 { return this.nc_p1 + b; >this.nc_p1 + b : number >this.nc_p1 : number ->this : c1 +>this : this >nc_p1 : number >b : number } @@ -168,10 +168,10 @@ class c1 { return this.nc_p2(this.nc_p1); >this.nc_p2(this.nc_p1) : number >this.nc_p2 : (b: number) => number ->this : c1 +>this : this >nc_p2 : (b: number) => number >this.nc_p1 : number ->this : c1 +>this : this >nc_p1 : number } public set nc_p3(value: number) { @@ -181,11 +181,11 @@ class c1 { this.nc_p1 = this.nc_p2(value); >this.nc_p1 = this.nc_p2(value) : number >this.nc_p1 : number ->this : c1 +>this : this >nc_p1 : number >this.nc_p2(value) : number >this.nc_p2 : (b: number) => number ->this : c1 +>this : this >nc_p2 : (b: number) => number >value : number } @@ -199,7 +199,7 @@ class c1 { return this.nc_pp1 + b; >this.nc_pp1 + b : number >this.nc_pp1 : number ->this : c1 +>this : this >nc_pp1 : number >b : number } @@ -209,10 +209,10 @@ class c1 { return this.nc_pp2(this.nc_pp1); >this.nc_pp2(this.nc_pp1) : number >this.nc_pp2 : (b: number) => number ->this : c1 +>this : this >nc_pp2 : (b: number) => number >this.nc_pp1 : number ->this : c1 +>this : this >nc_pp1 : number } private set nc_pp3(value: number) { @@ -222,11 +222,11 @@ class c1 { this.nc_pp1 = this.nc_pp2(value); >this.nc_pp1 = this.nc_pp2(value) : number >this.nc_pp1 : number ->this : c1 +>this : this >nc_pp1 : number >this.nc_pp2(value) : number >this.nc_pp2 : (b: number) => number ->this : c1 +>this : this >nc_pp2 : (b: number) => number >value : number } @@ -284,7 +284,7 @@ class c1 { return this.a_p1 + b; >this.a_p1 + b : number >this.a_p1 : number ->this : c1 +>this : this >a_p1 : number >b : number } @@ -295,10 +295,10 @@ class c1 { return this.a_p2(this.a_p1); >this.a_p2(this.a_p1) : number >this.a_p2 : (b: number) => number ->this : c1 +>this : this >a_p2 : (b: number) => number >this.a_p1 : number ->this : c1 +>this : this >a_p1 : number } // setter property @@ -309,11 +309,11 @@ class c1 { this.a_p1 = this.a_p2(value); >this.a_p1 = this.a_p2(value) : number >this.a_p1 : number ->this : c1 +>this : this >a_p1 : number >this.a_p2(value) : number >this.a_p2 : (b: number) => number ->this : c1 +>this : this >a_p2 : (b: number) => number >value : number } @@ -329,7 +329,7 @@ class c1 { return this.a_p1 + b; >this.a_p1 + b : number >this.a_p1 : number ->this : c1 +>this : this >a_p1 : number >b : number } @@ -340,10 +340,10 @@ class c1 { return this.a_pp2(this.a_pp1); >this.a_pp2(this.a_pp1) : number >this.a_pp2 : (b: number) => number ->this : c1 +>this : this >a_pp2 : (b: number) => number >this.a_pp1 : number ->this : c1 +>this : this >a_pp1 : number } // setter property @@ -354,11 +354,11 @@ class c1 { this.a_pp1 = this.a_pp2(value); >this.a_pp1 = this.a_pp2(value) : number >this.a_pp1 : number ->this : c1 +>this : this >a_pp1 : number >this.a_pp2(value) : number >this.a_pp2 : (b: number) => number ->this : c1 +>this : this >a_pp2 : (b: number) => number >value : number } @@ -422,7 +422,7 @@ class c1 { return this.b_p1 + b; >this.b_p1 + b : number >this.b_p1 : number ->this : c1 +>this : this >b_p1 : number >b : number } @@ -433,10 +433,10 @@ class c1 { return this.b_p2(this.b_p1); >this.b_p2(this.b_p1) : number >this.b_p2 : (b: number) => number ->this : c1 +>this : this >b_p2 : (b: number) => number >this.b_p1 : number ->this : c1 +>this : this >b_p1 : number } /** setter property */ @@ -447,11 +447,11 @@ class c1 { this.b_p1 = this.b_p2(value); >this.b_p1 = this.b_p2(value) : number >this.b_p1 : number ->this : c1 +>this : this >b_p1 : number >this.b_p2(value) : number >this.b_p2 : (b: number) => number ->this : c1 +>this : this >b_p2 : (b: number) => number >value : number } @@ -467,7 +467,7 @@ class c1 { return this.b_p1 + b; >this.b_p1 + b : number >this.b_p1 : number ->this : c1 +>this : this >b_p1 : number >b : number } @@ -478,10 +478,10 @@ class c1 { return this.b_pp2(this.b_pp1); >this.b_pp2(this.b_pp1) : number >this.b_pp2 : (b: number) => number ->this : c1 +>this : this >b_pp2 : (b: number) => number >this.b_pp1 : number ->this : c1 +>this : this >b_pp1 : number } /** setter property */ @@ -492,11 +492,11 @@ class c1 { this.b_pp1 = this.b_pp2(value); >this.b_pp1 = this.b_pp2(value) : number >this.b_pp1 : number ->this : c1 +>this : this >b_pp1 : number >this.b_pp2(value) : number >this.b_pp2 : (b: number) => number ->this : c1 +>this : this >b_pp2 : (b: number) => number >value : number } @@ -704,7 +704,7 @@ class cProperties { return this.val; >this.val : number ->this : cProperties +>this : this >val : number } // trailing comment of only getter @@ -713,7 +713,7 @@ class cProperties { return this.val; >this.val : number ->this : cProperties +>this : this >val : number } /**setter only property*/ @@ -724,7 +724,7 @@ class cProperties { this.val = value; >this.val = value : number >this.val : number ->this : cProperties +>this : this >val : number >value : number } @@ -735,7 +735,7 @@ class cProperties { this.val = value; >this.val = value : number >this.val : number ->this : cProperties +>this : this >val : number >value : number diff --git a/tests/baselines/reference/commentsInheritance.types b/tests/baselines/reference/commentsInheritance.types index 1c25f13937b..21dcde99dbf 100644 --- a/tests/baselines/reference/commentsInheritance.types +++ b/tests/baselines/reference/commentsInheritance.types @@ -170,7 +170,7 @@ class c2 { this.c2_p1 = a; >this.c2_p1 = a : number >this.c2_p1 : number ->this : c2 +>this : this >c2_p1 : number >a : number } diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index 024f1c2a21f..067275f2151 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -43,7 +43,7 @@ class c { return this.b; >this.b : number ->this : c +>this : this >b : number } @@ -53,7 +53,7 @@ class c { return this.b; >this.b : number ->this : c +>this : this >b : number } @@ -65,7 +65,7 @@ class c { this.b = val; >this.b = val : number >this.b : number ->this : c +>this : this >b : number >val : number } diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 2311ca09dd0..2594fb53fe9 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -43,7 +43,7 @@ class c { return this.b; >this.b : number ->this : c +>this : this >b : number } @@ -53,7 +53,7 @@ class c { return this.b; >this.b : number ->this : c +>this : this >b : number } @@ -65,7 +65,7 @@ class c { this.b = val; >this.b = val : number >this.b : number ->this : c +>this : this >b : number >val : number } diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.types b/tests/baselines/reference/computedPropertyNames22_ES5.types index 51dce2d9a03..eeec22d2e61 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.types +++ b/tests/baselines/reference/computedPropertyNames22_ES5.types @@ -12,7 +12,7 @@ class C { [this.bar()]() { } >this.bar() : number >this.bar : () => number ->this : C +>this : this >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames22_ES6.types b/tests/baselines/reference/computedPropertyNames22_ES6.types index 4a249e34d08..af9ef9d3a31 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES6.types +++ b/tests/baselines/reference/computedPropertyNames22_ES6.types @@ -12,7 +12,7 @@ class C { [this.bar()]() { } >this.bar() : number >this.bar : () => number ->this : C +>this : this >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.types b/tests/baselines/reference/computedPropertyNames29_ES5.types index 0162b4171b3..d2f89ef6b18 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.types +++ b/tests/baselines/reference/computedPropertyNames29_ES5.types @@ -15,7 +15,7 @@ class C { [this.bar()]() { } // needs capture >this.bar() : number >this.bar : () => number ->this : C +>this : this >bar : () => number }; diff --git a/tests/baselines/reference/computedPropertyNames29_ES6.types b/tests/baselines/reference/computedPropertyNames29_ES6.types index 42d9bd99ae5..bb324b2b382 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES6.types +++ b/tests/baselines/reference/computedPropertyNames29_ES6.types @@ -15,7 +15,7 @@ class C { [this.bar()]() { } // needs capture >this.bar() : number >this.bar : () => number ->this : C +>this : this >bar : () => number }; diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types index c5b9ec9a6f2..1271d4ef869 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types @@ -20,7 +20,7 @@ class Rule { this.name = name; >this.name = name : string >this.name : string ->this : Rule +>this : this >name : string >name : string } diff --git a/tests/baselines/reference/declFileForTypeParameters.types b/tests/baselines/reference/declFileForTypeParameters.types index 6308a0c92ba..fe69da2cd0f 100644 --- a/tests/baselines/reference/declFileForTypeParameters.types +++ b/tests/baselines/reference/declFileForTypeParameters.types @@ -16,7 +16,7 @@ class C { return this.x; >this.x : T ->this : C +>this : this >x : T } } diff --git a/tests/baselines/reference/declFileGenericType2.types b/tests/baselines/reference/declFileGenericType2.types index 07bcba3e85a..c2a43db1921 100644 --- a/tests/baselines/reference/declFileGenericType2.types +++ b/tests/baselines/reference/declFileGenericType2.types @@ -142,7 +142,7 @@ module templa.dom.mvc.composite { this._controllers = []; >this._controllers = [] : undefined[] >this._controllers : templa.mvc.IController[] ->this : AbstractCompositeElementController +>this : this >_controllers : templa.mvc.IController[] >[] : undefined[] } diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.types b/tests/baselines/reference/declarationEmit_protectedMembers.types index 89aa3f56332..d541e1d14d2 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.types +++ b/tests/baselines/reference/declarationEmit_protectedMembers.types @@ -12,7 +12,7 @@ class C1 { return this.x; >this.x : number ->this : C1 +>this : this >x : number } @@ -60,7 +60,7 @@ class C2 extends C1 { >super : C1 >f : () => number >this.x : number ->this : C2 +>this : this >x : number } protected static sf() { diff --git a/tests/baselines/reference/declarationMerging1.types b/tests/baselines/reference/declarationMerging1.types index 4fddb6a1e4b..9802d2ab542 100644 --- a/tests/baselines/reference/declarationMerging1.types +++ b/tests/baselines/reference/declarationMerging1.types @@ -8,7 +8,7 @@ class A { getF() { return this._f; } >getF : () => number >this._f : number ->this : A +>this : this >_f : number } diff --git a/tests/baselines/reference/declarationMerging2.types b/tests/baselines/reference/declarationMerging2.types index 665eda8b4c1..79e2818cf52 100644 --- a/tests/baselines/reference/declarationMerging2.types +++ b/tests/baselines/reference/declarationMerging2.types @@ -9,7 +9,7 @@ export class A { getF() { return this._f; } >getF : () => number >this._f : number ->this : A +>this : this >_f : number } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types index 60cf7f10cea..aa705735f3e 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : db >this.db : db ->this : MyClass +>this : this >db : db >db : db @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db ->this : MyClass +>this : this >db : db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types index 73005b4673f..3d8ad0937bc 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.types @@ -36,7 +36,7 @@ class MyClass { this.db = db; >this.db = db : Database >this.db : Database ->this : MyClass +>this : this >db : Database >db : Database @@ -44,7 +44,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : Database ->this : MyClass +>this : this >db : Database >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types index 0eea3e13b66..634c45e650c 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.types @@ -28,7 +28,7 @@ class MyClass { this.db = db; >this.db = db : db.db >this.db : db.db ->this : MyClass +>this : this >db : db.db >db : db.db @@ -36,7 +36,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db.db ->this : MyClass +>this : this >db : db.db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types index 0fbc48db157..987d7a532e8 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : db >this.db : db ->this : MyClass +>this : this >db : db >db : db @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : db ->this : MyClass +>this : this >db : db >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types index e3a68882dfb..3bd8df0eff3 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.types @@ -35,7 +35,7 @@ class MyClass { this.db = db; >this.db = db : database >this.db : database ->this : MyClass +>this : this >db : database >db : database @@ -43,7 +43,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : database ->this : MyClass +>this : this >db : database >doSomething : () => void } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types index faaab056885..f0f1ca190aa 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.types @@ -28,7 +28,7 @@ class MyClass { this.db = db; >this.db = db : database.db >this.db : database.db ->this : MyClass +>this : this >db : database.db >db : database.db @@ -36,7 +36,7 @@ class MyClass { >this.db.doSomething() : void >this.db.doSomething : () => void >this.db : database.db ->this : MyClass +>this : this >db : database.db >doSomething : () => void } diff --git a/tests/baselines/reference/derivedClasses.types b/tests/baselines/reference/derivedClasses.types index 906cfb2741c..7fc585e29ce 100644 --- a/tests/baselines/reference/derivedClasses.types +++ b/tests/baselines/reference/derivedClasses.types @@ -11,7 +11,7 @@ class Red extends Color { >() => { return this.hue(); } : () => string >this.hue() : string >this.hue : () => string ->this : Red +>this : this >hue : () => string return getHue() + " red"; @@ -46,7 +46,7 @@ class Blue extends Color { >() => { return this.hue(); } : () => string >this.hue() : string >this.hue : () => string ->this : Blue +>this : this >hue : () => string return getHue() + " blue"; diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types index 392821de751..7cbae62f83d 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.types @@ -19,13 +19,13 @@ class TestFile { >message + this.name : string >message : string >this.name : any ->this : TestFile +>this : this >name : any this.message = getMessage(); >this.message = getMessage() : string >this.message : string ->this : TestFile +>this : this >message : string >getMessage() : string >getMessage : () => string diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types index b413cd557a5..830be456e9a 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.types @@ -20,13 +20,13 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : TestFile +>this : this >name : string this.message = getMessage(); >this.message = getMessage() : string >this.message : string ->this : TestFile +>this : this >message : string >getMessage() : string >getMessage : () => string diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types index 016a123c5c1..e05a4c083cb 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types @@ -20,7 +20,7 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : TestFile +>this : this >name : string } } diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types index 2199a4490b5..8dde223dad0 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types @@ -21,7 +21,7 @@ class TestFile { >message + this.name : string >message : string >this.name : string ->this : TestFile +>this : this >name : string } } diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types index ecb48cb3047..3bdf5af2ba5 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types @@ -38,7 +38,7 @@ class B { this.y = 10; >this.y = 10 : number >this.y : number ->this : B +>this : this >y : number >10 : number } @@ -53,7 +53,7 @@ class B { return this._bar; >this._bar : string ->this : B +>this : this >_bar : string } } diff --git a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types index c254a641b52..e4f7d6c00b4 100644 --- a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types @@ -10,7 +10,7 @@ class C { return this._name; >this._name : string ->this : C +>this : this >_name : string } static get name2(): string { diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types index e6fa57d0749..02a90729486 100644 --- a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types @@ -25,7 +25,7 @@ class D { return this._bar; >this._bar : string ->this : D +>this : this >_bar : string } baz(a: any, x: string): string { diff --git a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types index f3504d655ed..ccf4ca3ca9d 100644 --- a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types @@ -21,7 +21,7 @@ class D { this.y = 10; >this.y = 10 : number >this.y : number ->this : D +>this : this >y : number >10 : number } @@ -55,7 +55,7 @@ class F extends D{ this.j = "HI"; >this.j = "HI" : string >this.j : string ->this : F +>this : this >j : string >"HI" : string } diff --git a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types index 14c57a60bc4..7c0159fbd63 100644 --- a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types @@ -10,7 +10,7 @@ class B { this.x = 10; >this.x = 10 : number >this.x : number ->this : B +>this : this >x : number >10 : number } @@ -27,7 +27,7 @@ class B { >B : typeof B >log : (a: number) => void >this.x : number ->this : B +>this : this >x : number } @@ -36,7 +36,7 @@ class B { return this.x; >this.x : number ->this : B +>this : this >x : number } @@ -47,7 +47,7 @@ class B { this.x = y; >this.x = y : number >this.x : number ->this : B +>this : this >x : number >y : number } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types index ba515168a5d..4bc2bfdfa92 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.types @@ -24,7 +24,7 @@ class B { >T : T >this.B = a : T >this.B : T ->this : B +>this : this >B : T >a : T @@ -47,7 +47,7 @@ class B { return this.x; >this.x : T ->this : B +>this : this >x : T } @@ -57,7 +57,7 @@ class B { return this.B; >this.B : T ->this : B +>this : this >B : T } set BBWith(c: T) { @@ -68,7 +68,7 @@ class B { this.B = c; >this.B = c : T >this.B : T ->this : B +>this : this >B : T >c : T } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types index 8081d044e35..b4d2df96712 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.types @@ -16,7 +16,7 @@ class B { >T : T >this.B = a : T >this.B : T ->this : B +>this : this >B : T >a : T @@ -26,7 +26,7 @@ class B { return this.x; >this.x : T ->this : B +>this : this >x : T } get BB(): T { @@ -35,7 +35,7 @@ class B { return this.B; >this.B : T ->this : B +>this : this >B : T } set BBWith(c: T) { @@ -46,7 +46,7 @@ class B { this.B = c; >this.B = c : T >this.B : T ->this : B +>this : this >B : T >c : T } diff --git a/tests/baselines/reference/es6ClassTest3.types b/tests/baselines/reference/es6ClassTest3.types index d73007f211b..208d8cdf4d9 100644 --- a/tests/baselines/reference/es6ClassTest3.types +++ b/tests/baselines/reference/es6ClassTest3.types @@ -24,14 +24,14 @@ module M { this.x = 1; >this.x = 1 : number >this.x : number ->this : Visibility +>this : this >x : number >1 : number this.y = 2; >this.y = 2 : number >this.y : number ->this : Visibility +>this : this >y : number >2 : number } diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index 622f81f1d10..b12d65e595f 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -119,7 +119,7 @@ class Camera { this.forward = Vector.norm(Vector.minus(lookAt,this.pos)); >this.forward = Vector.norm(Vector.minus(lookAt,this.pos)) : Vector >this.forward : Vector ->this : Camera +>this : this >forward : Vector >Vector.norm(Vector.minus(lookAt,this.pos)) : Vector >Vector.norm : (v: Vector) => Vector @@ -131,13 +131,13 @@ class Camera { >minus : (v1: Vector, v2: Vector) => Vector >lookAt : Vector >this.pos : Vector ->this : Camera +>this : this >pos : Vector this.right = Vector.times(down, Vector.norm(Vector.cross(this.forward, down))); >this.right = Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector >this.right : Vector ->this : Camera +>this : this >right : Vector >Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector >Vector.times : (v1: Vector, v2: Vector) => Vector @@ -153,14 +153,14 @@ class Camera { >Vector : typeof Vector >cross : (v1: Vector, v2: Vector) => Vector >this.forward : Vector ->this : Camera +>this : this >forward : Vector >down : Vector this.up = Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))); >this.up = Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector >this.up : Vector ->this : Camera +>this : this >up : Vector >Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector >Vector.times : (v1: Vector, v2: Vector) => Vector @@ -176,10 +176,10 @@ class Camera { >Vector : typeof Vector >cross : (v1: Vector, v2: Vector) => Vector >this.forward : Vector ->this : Camera +>this : this >forward : Vector >this.right : Vector ->this : Camera +>this : this >right : Vector } } diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index c4b2936fd37..574262265bc 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -38,7 +38,7 @@ module Consumer { >this.emitter.addListener('change', (e) => { this.changed(); }) : void >this.emitter.addListener : (type: string, listener: Events.ListenerCallback) => void >this.emitter : Events.EventEmitter ->this : EventEmitterConsummer +>this : this >emitter : Events.EventEmitter >addListener : (type: string, listener: Events.ListenerCallback) => void >'change' : string @@ -48,7 +48,7 @@ module Consumer { this.changed(); >this.changed() : void >this.changed : () => void ->this : EventEmitterConsummer +>this : this >changed : () => void }); diff --git a/tests/baselines/reference/functionOverloads7.types b/tests/baselines/reference/functionOverloads7.types index c57f042b354..7160068126f 100644 --- a/tests/baselines/reference/functionOverloads7.types +++ b/tests/baselines/reference/functionOverloads7.types @@ -21,7 +21,7 @@ class foo { >foo : any >this.bar() : any >this.bar : { (): any; (foo: string): any; } ->this : foo +>this : this >bar : { (): any; (foo: string): any; } foo = this.bar("test"); @@ -29,7 +29,7 @@ class foo { >foo : any >this.bar("test") : any >this.bar : { (): any; (foo: string): any; } ->this : foo +>this : this >bar : { (): any; (foo: string): any; } >"test" : string } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.types b/tests/baselines/reference/functionSubtypingOfVarArgs.types index ebd706e94cf..ec48ff26c66 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.types @@ -15,7 +15,7 @@ class EventBase { >this._listeners.push(listener) : number >this._listeners.push : (...items: any[]) => number >this._listeners : any[] ->this : EventBase +>this : this >_listeners : any[] >push : (...items: any[]) => number >listener : (...args: any[]) => void diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.types b/tests/baselines/reference/functionSubtypingOfVarArgs2.types index 5e2b14ffc7a..3aa5b7a7a00 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.types @@ -16,7 +16,7 @@ class EventBase { >this._listeners.push(listener) : number >this._listeners.push : (...items: ((...args: any[]) => void)[]) => number >this._listeners : ((...args: any[]) => void)[] ->this : EventBase +>this : this >_listeners : ((...args: any[]) => void)[] >push : (...items: ((...args: any[]) => void)[]) => number >listener : (...args: any[]) => void diff --git a/tests/baselines/reference/functionsInClassExpressions.types b/tests/baselines/reference/functionsInClassExpressions.types index ae5ba1ff686..ee4b5696cc1 100644 --- a/tests/baselines/reference/functionsInClassExpressions.types +++ b/tests/baselines/reference/functionsInClassExpressions.types @@ -7,7 +7,7 @@ let Foo = class { this.bar++; >this.bar++ : number >this.bar : number ->this : (Anonymous class) +>this : this >bar : number } bar = 0; @@ -21,12 +21,12 @@ let Foo = class { this.bar++; >this.bar++ : number >this.bar : number ->this : (Anonymous class) +>this : this >bar : number } m() { return this.bar; } >m : () => number >this.bar : number ->this : (Anonymous class) +>this : this >bar : number } diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty.types b/tests/baselines/reference/genericBaseClassLiteralProperty.types index 87f1c55c42d..69468f9b679 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty.types +++ b/tests/baselines/reference/genericBaseClassLiteralProperty.types @@ -23,14 +23,14 @@ class SubClass extends BaseClass { >x : number >this._getValue1() : number >this._getValue1 : () => number ->this : SubClass +>this : this >_getValue1 : () => number var y : number = this._getValue2(); >y : number >this._getValue2() : number >this._getValue2 : () => number ->this : SubClass +>this : this >_getValue2 : () => number } } diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty2.types b/tests/baselines/reference/genericBaseClassLiteralProperty2.types index 8d928d44006..3e320824925 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty2.types +++ b/tests/baselines/reference/genericBaseClassLiteralProperty2.types @@ -16,7 +16,7 @@ class BaseCollection2 { this._itemsByKey = {}; >this._itemsByKey = {} : {} >this._itemsByKey : { [key: string]: TItem; } ->this : BaseCollection2 +>this : this >_itemsByKey : { [key: string]: TItem; } >{} : {} } @@ -36,7 +36,7 @@ class DataView2 extends BaseCollection2 { >this._itemsByKey['dummy'] = item : CollectionItem2 >this._itemsByKey['dummy'] : CollectionItem2 >this._itemsByKey : { [key: string]: CollectionItem2; } ->this : DataView2 +>this : this >_itemsByKey : { [key: string]: CollectionItem2; } >'dummy' : string >item : CollectionItem2 diff --git a/tests/baselines/reference/genericClasses4.types b/tests/baselines/reference/genericClasses4.types index ac3d05be84d..3a2ae3b997c 100644 --- a/tests/baselines/reference/genericClasses4.types +++ b/tests/baselines/reference/genericClasses4.types @@ -26,7 +26,7 @@ class Vec2_T
>f(this.x) : B >f : (a: A) => B >this.x : A ->this : Vec2_T +>this : this >x : A var y:B = f(this.y); @@ -35,7 +35,7 @@ class Vec2_T >f(this.y) : B >f : (a: A) => B >this.y : A ->this : Vec2_T +>this : this >y : A var retval: Vec2_T = new Vec2_T(x, y); @@ -69,7 +69,7 @@ class Vec2_T >f : Vec2_T<(a: A) => B> >x : (a: A) => B >this.x : A ->this : Vec2_T +>this : this >x : A var y:B = f.y(this.y); @@ -80,7 +80,7 @@ class Vec2_T >f : Vec2_T<(a: A) => B> >y : (a: A) => B >this.y : A ->this : Vec2_T +>this : this >y : A var retval: Vec2_T = new Vec2_T(x, y); diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types index 9a4b209bc97..f0396074b94 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types @@ -37,7 +37,7 @@ module EndGate.Tweening { this._from = from.Clone(); >this._from = from.Clone() : any >this._from : T ->this : Tween +>this : this >_from : T >from.Clone() : any >from.Clone : () => any diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types index ba42e42ae0c..3745a5f6a17 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types @@ -36,7 +36,7 @@ module EndGate.Tweening { this._from = from.Clone(); >this._from = from.Clone() : any >this._from : T ->this : Tween +>this : this >_from : T >from.Clone() : any >from.Clone : () => any diff --git a/tests/baselines/reference/genericInstanceOf.types b/tests/baselines/reference/genericInstanceOf.types index 726fa38fbf8..3c08c35e44a 100644 --- a/tests/baselines/reference/genericInstanceOf.types +++ b/tests/baselines/reference/genericInstanceOf.types @@ -21,10 +21,10 @@ class C { if (this.a instanceof this.b) { >this.a instanceof this.b : boolean >this.a : T ->this : C +>this : this >a : T >this.b : F ->this : C +>this : this >b : F } } diff --git a/tests/baselines/reference/genericTypeWithCallableMembers.types b/tests/baselines/reference/genericTypeWithCallableMembers.types index e0068d5ff2b..8f62f077d54 100644 --- a/tests/baselines/reference/genericTypeWithCallableMembers.types +++ b/tests/baselines/reference/genericTypeWithCallableMembers.types @@ -24,14 +24,14 @@ class C { >x : Constructable >new this.data() : Constructable >this.data : T ->this : C +>this : this >data : T var x2 = new this.data2(); // was error, shouldn't be >x2 : Constructable >new this.data2() : Constructable >this.data2 : Constructable ->this : C +>this : this >data2 : Constructable } } diff --git a/tests/baselines/reference/genericWithCallSignatures1.types b/tests/baselines/reference/genericWithCallSignatures1.types index b55b4bbc64b..b4a12129027 100644 --- a/tests/baselines/reference/genericWithCallSignatures1.types +++ b/tests/baselines/reference/genericWithCallSignatures1.types @@ -15,7 +15,7 @@ class MyClass { > this.callableThing() : string >this.callableThing() : string >this.callableThing : CallableExtention ->this : MyClass +>this : this >callableThing : CallableExtention } } diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types index 0debf18b2b9..a316773e5c8 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types @@ -15,7 +15,7 @@ class LazyArray { return this.objects; >this.objects : { [objectId: string]: T; } ->this : LazyArray +>this : this >objects : { [objectId: string]: T; } } } diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.types b/tests/baselines/reference/instanceAndStaticDeclarations1.types index 9d6ba692735..cbed990690d 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.types +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.types @@ -17,7 +17,7 @@ class Point { >dx : number >this.x - p.x : number >this.x : number ->this : Point +>this : this >x : number >p.x : number >p : Point @@ -27,7 +27,7 @@ class Point { >dy : number >this.y - p.y : number >this.y : number ->this : Point +>this : this >y : number >p.y : number >p : Point diff --git a/tests/baselines/reference/interfaceClassMerging.types b/tests/baselines/reference/interfaceClassMerging.types index 38887232274..0b17005c868 100644 --- a/tests/baselines/reference/interfaceClassMerging.types +++ b/tests/baselines/reference/interfaceClassMerging.types @@ -30,7 +30,7 @@ class Foo { return this.method(0); >this.method(0) : string >this.method : (a: number) => string ->this : Foo +>this : this >method : (a: number) => string >0 : number } @@ -46,7 +46,7 @@ class Bar extends Foo { return this.optionalProperty; >this.optionalProperty : string ->this : Bar +>this : this >optionalProperty : string } } diff --git a/tests/baselines/reference/interfaceContextualType.types b/tests/baselines/reference/interfaceContextualType.types index 38049f9d6d3..0e835a2f1f9 100644 --- a/tests/baselines/reference/interfaceContextualType.types +++ b/tests/baselines/reference/interfaceContextualType.types @@ -29,7 +29,7 @@ class Bug { this.values = {}; >this.values = {} : {} >this.values : IMap ->this : Bug +>this : this >values : IMap >{} : {} @@ -37,7 +37,7 @@ class Bug { >this.values['comments'] = { italic: true } : { italic: boolean; } >this.values['comments'] : IOptions >this.values : IMap ->this : Bug +>this : this >values : IMap >'comments' : string >{ italic: true } : { italic: boolean; } @@ -50,7 +50,7 @@ class Bug { this.values = { >this.values = { comments: { italic: true } } : { comments: { italic: boolean; }; } >this.values : IMap ->this : Bug +>this : this >values : IMap >{ comments: { italic: true } } : { comments: { italic: boolean; }; } diff --git a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types index 645e1c35fc7..f429cc88516 100644 --- a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types +++ b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.types @@ -13,7 +13,7 @@ class c { >a : any >this.method(a) : void >this.method : (a: any) => void ->this : c +>this : this >method : (a: any) => void >a : any } diff --git a/tests/baselines/reference/listFailure.types b/tests/baselines/reference/listFailure.types index 05c3cb5dfad..03725efeca4 100644 --- a/tests/baselines/reference/listFailure.types +++ b/tests/baselines/reference/listFailure.types @@ -30,7 +30,7 @@ module Editor { >this.lines.add(line) : List >this.lines.add : (data: Line) => List >this.lines : List ->this : Buffer +>this : this >lines : List >add : (data: Line) => List >line : Line @@ -94,7 +94,7 @@ module Editor { this.next = ListMakeEntry(data); >this.next = ListMakeEntry(data) : List >this.next : List ->this : List +>this : this >next : List >ListMakeEntry(data) : List >ListMakeEntry : (data: U) => List @@ -102,7 +102,7 @@ module Editor { return this.next; >this.next : List ->this : List +>this : this >next : List } @@ -119,7 +119,7 @@ module Editor { >ListRemoveEntry(this.next) : List >ListRemoveEntry : (entry: List) => List >this.next : List ->this : List +>this : this >next : List } } diff --git a/tests/baselines/reference/memberVariableDeclarations1.types b/tests/baselines/reference/memberVariableDeclarations1.types index 9aec8aa12aa..b7ec0fbaba0 100644 --- a/tests/baselines/reference/memberVariableDeclarations1.types +++ b/tests/baselines/reference/memberVariableDeclarations1.types @@ -49,21 +49,21 @@ class Employee2 { this.retired = false; >this.retired = false : boolean >this.retired : boolean ->this : Employee2 +>this : this >retired : boolean >false : boolean this.manager = null; >this.manager = null : null >this.manager : Employee ->this : Employee2 +>this : this >manager : Employee >null : null this.reports = []; >this.reports = [] : undefined[] >this.reports : Employee[] ->this : Employee2 +>this : this >reports : Employee[] >[] : undefined[] } diff --git a/tests/baselines/reference/mergedDeclarations6.types b/tests/baselines/reference/mergedDeclarations6.types index 2e2e115b108..6198c08f6b5 100644 --- a/tests/baselines/reference/mergedDeclarations6.types +++ b/tests/baselines/reference/mergedDeclarations6.types @@ -13,7 +13,7 @@ export class A { this.protected = val; >this.protected = val : any >this.protected : any ->this : A +>this : this >protected : any >val : any } diff --git a/tests/baselines/reference/missingSelf.types b/tests/baselines/reference/missingSelf.types index 5b46bf85db1..ea275e41a0c 100644 --- a/tests/baselines/reference/missingSelf.types +++ b/tests/baselines/reference/missingSelf.types @@ -6,7 +6,7 @@ class CalcButton >a : () => void >this.onClick() : void >this.onClick : () => void ->this : CalcButton +>this : this >onClick : () => void public onClick() { } @@ -21,7 +21,7 @@ class CalcButton2 >() => this.onClick() : () => void >this.onClick() : void >this.onClick : () => void ->this : CalcButton2 +>this : this >onClick : () => void public onClick() { } diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types index 342bb526bf7..c308f535a7a 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types @@ -71,7 +71,7 @@ module TypeScript { >positionedToken : any >this.findTokenInternal(null, position, 0) : any >this.findTokenInternal : (x: any, y: any, z: any) => any ->this : SyntaxNode +>this : this >findTokenInternal : (x: any, y: any, z: any) => any >null : null >position : number diff --git a/tests/baselines/reference/moduleMergeConstructor.types b/tests/baselines/reference/moduleMergeConstructor.types index 77aa3eb8852..48a2f010293 100644 --- a/tests/baselines/reference/moduleMergeConstructor.types +++ b/tests/baselines/reference/moduleMergeConstructor.types @@ -36,7 +36,7 @@ class Test { this.bar = new foo.Foo(); >this.bar = new foo.Foo() : foo.Foo >this.bar : foo.Foo ->this : Test +>this : this >bar : foo.Foo >new foo.Foo() : foo.Foo >foo.Foo : typeof foo.Foo diff --git a/tests/baselines/reference/nestedSelf.types b/tests/baselines/reference/nestedSelf.types index 2c8f3f41dd6..ed7f084246a 100644 --- a/tests/baselines/reference/nestedSelf.types +++ b/tests/baselines/reference/nestedSelf.types @@ -22,7 +22,7 @@ module M { >x : number >this.n * x : number >this.n : number ->this : C +>this : this >n : number >x : number } diff --git a/tests/baselines/reference/newArrays.types b/tests/baselines/reference/newArrays.types index 4600f5efaf8..3c0928a46ea 100644 --- a/tests/baselines/reference/newArrays.types +++ b/tests/baselines/reference/newArrays.types @@ -26,17 +26,17 @@ module M { this.fa = new Array(this.x * this.y); >this.fa = new Array(this.x * this.y) : Foo[] >this.fa : Foo[] ->this : Gar +>this : this >fa : Foo[] >new Array(this.x * this.y) : Foo[] >Array : ArrayConstructor >Foo : Foo >this.x * this.y : number >this.x : number ->this : Gar +>this : this >x : number >this.y : number ->this : Gar +>this : this >y : number } } diff --git a/tests/baselines/reference/objectIndexer.types b/tests/baselines/reference/objectIndexer.types index 23c0e280fbd..b11c475a386 100644 --- a/tests/baselines/reference/objectIndexer.types +++ b/tests/baselines/reference/objectIndexer.types @@ -25,7 +25,7 @@ class Emitter { this.listeners = {}; >this.listeners = {} : {} >this.listeners : IMap ->this : Emitter +>this : this >listeners : IMap >{} : {} } diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types index bb51151cfd7..b38bbbfe64d 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types @@ -34,17 +34,17 @@ module Shapes { >this.x * this.x + this.y * this.y : number >this.x * this.x : number >this.x : number ->this : Point +>this : this >x : number >this.x : number ->this : Point +>this : this >x : number >this.y * this.y : number >this.y : number ->this : Point +>this : this >y : number >this.y : number ->this : Point +>this : this >y : number // Static member diff --git a/tests/baselines/reference/privateInstanceVisibility.types b/tests/baselines/reference/privateInstanceVisibility.types index 8c8f1409a76..54a2c51ec14 100644 --- a/tests/baselines/reference/privateInstanceVisibility.types +++ b/tests/baselines/reference/privateInstanceVisibility.types @@ -45,7 +45,7 @@ class C { getX() { return this.x; } >getX : () => number >this.x : number ->this : C +>this : this >x : number clone(other: C) { @@ -56,7 +56,7 @@ class C { this.x = other.x; >this.x = other.x : number >this.x : number ->this : C +>this : this >x : number >other.x : number >other : C diff --git a/tests/baselines/reference/privateVisibles.types b/tests/baselines/reference/privateVisibles.types index e7c192d54db..71e26d7e264 100644 --- a/tests/baselines/reference/privateVisibles.types +++ b/tests/baselines/reference/privateVisibles.types @@ -10,7 +10,7 @@ class Foo { var n = this.pvar; >n : number >this.pvar : number ->this : Foo +>this : this >pvar : number } @@ -18,7 +18,7 @@ class Foo { >meth : () => void >q : number >this.pvar : number ->this : Foo +>this : this >pvar : number } diff --git a/tests/baselines/reference/promiseChaining.types b/tests/baselines/reference/promiseChaining.types index 981a19ef0a9..23a8b276fdc 100644 --- a/tests/baselines/reference/promiseChaining.types +++ b/tests/baselines/reference/promiseChaining.types @@ -22,7 +22,7 @@ class Chain { >cb(this.value) : S >cb : (x: T) => S >this.value : T ->this : Chain +>this : this >value : T // should get a fresh type parameter which each then call @@ -34,7 +34,7 @@ class Chain { >this.then(x => result)/*S*/.then : (cb: (x: S) => S) => Chain >this.then(x => result) : Chain >this.then : (cb: (x: T) => S) => Chain ->this : Chain +>this : this >then : (cb: (x: T) => S) => Chain >x => result : (x: T) => S >x : T diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types index 98e5c120c3d..1e325d1d6f5 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.types @@ -10,7 +10,7 @@ class C { protected get y() { return this.x; } >y : string >this.x : string ->this : C +>this : this >x : string protected set y(x) { this.y = this.x; } @@ -18,16 +18,16 @@ class C { >x : string >this.y = this.x : string >this.y : string ->this : C +>this : this >y : string >this.x : string ->this : C +>this : this >x : string protected foo() { return this.foo; } >foo : () => any >this.foo : () => any ->this : C +>this : this >foo : () => any protected static x: string; @@ -75,7 +75,7 @@ class C2 { >y : any >() => this.x : () => string >this.x : string ->this : C2 +>this : this >x : string >null : null @@ -85,17 +85,17 @@ class C2 { >() => { this.y = this.x; } : () => void >this.y = this.x : string >this.y : any ->this : C2 +>this : this >y : any >this.x : string ->this : C2 +>this : this >x : string protected foo() { () => this.foo; } >foo : () => void >() => this.foo : () => () => void >this.foo : () => void ->this : C2 +>this : this >foo : () => void protected static x: string; diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types index bd230239d47..863f3100599 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.types @@ -18,7 +18,7 @@ class C extends B { protected get y() { return this.x; } >y : string >this.x : string ->this : C +>this : this >x : string protected set y(x) { this.y = this.x; } @@ -26,23 +26,23 @@ class C extends B { >x : string >this.y = this.x : string >this.y : string ->this : C +>this : this >y : string >this.x : string ->this : C +>this : this >x : string protected foo() { return this.x; } >foo : () => string >this.x : string ->this : C +>this : this >x : string protected bar() { return this.foo(); } >bar : () => string >this.foo() : string >this.foo : () => string ->this : C +>this : this >foo : () => string protected static get y() { return this.x; } diff --git a/tests/baselines/reference/protoInIndexer.types b/tests/baselines/reference/protoInIndexer.types index 48e8b5d56dc..bfafc56404a 100644 --- a/tests/baselines/reference/protoInIndexer.types +++ b/tests/baselines/reference/protoInIndexer.types @@ -6,7 +6,7 @@ class X { this['__proto__'] = null; // used to cause ICE >this['__proto__'] = null : null >this['__proto__'] : any ->this : X +>this : this >'__proto__' : string >null : null } diff --git a/tests/baselines/reference/quotedPropertyName3.types b/tests/baselines/reference/quotedPropertyName3.types index 53d375f7621..7c957372e0d 100644 --- a/tests/baselines/reference/quotedPropertyName3.types +++ b/tests/baselines/reference/quotedPropertyName3.types @@ -10,7 +10,7 @@ class Test { >x : () => number >() => this["prop1"] : () => number >this["prop1"] : number ->this : Test +>this : this >"prop1" : string var y: number = x(); diff --git a/tests/baselines/reference/recursiveComplicatedClasses.types b/tests/baselines/reference/recursiveComplicatedClasses.types index 247b9ee27c5..1bb48a3c0c9 100644 --- a/tests/baselines/reference/recursiveComplicatedClasses.types +++ b/tests/baselines/reference/recursiveComplicatedClasses.types @@ -24,7 +24,7 @@ class Symbol { >bound : boolean public visible() { ->visible : () => boolean +>visible : () => any var b: TypeSymbol; >b : TypeSymbol diff --git a/tests/baselines/reference/recursiveProperties.types b/tests/baselines/reference/recursiveProperties.types index 2c3f90c6503..1e8a4ed3c1a 100644 --- a/tests/baselines/reference/recursiveProperties.types +++ b/tests/baselines/reference/recursiveProperties.types @@ -5,7 +5,7 @@ class A { get testProp() { return this.testProp; } >testProp : any >this.testProp : any ->this : A +>this : this >testProp : any } @@ -17,7 +17,7 @@ class B { >value : string >this.testProp = value : string >this.testProp : string ->this : B +>this : this >testProp : string >value : string } diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.types b/tests/baselines/reference/scopeResolutionIdentifiers.types index 37fa897863d..7c4eae23813 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.types +++ b/tests/baselines/reference/scopeResolutionIdentifiers.types @@ -56,7 +56,7 @@ class C { n = this.s; >n : Date >this.s : Date ->this : C +>this : this >s : Date x() { @@ -65,7 +65,7 @@ class C { var p = this.n; >p : Date >this.n : Date ->this : C +>this : this >n : Date var p: Date; diff --git a/tests/baselines/reference/selfInCallback.types b/tests/baselines/reference/selfInCallback.types index 0f9b0f3a671..6010a64d80f 100644 --- a/tests/baselines/reference/selfInCallback.types +++ b/tests/baselines/reference/selfInCallback.types @@ -18,12 +18,12 @@ class C { this.callback(()=>{this.p1+1}); >this.callback(()=>{this.p1+1}) : void >this.callback : (cb: () => void) => void ->this : C +>this : this >callback : (cb: () => void) => void >()=>{this.p1+1} : () => void >this.p1+1 : number >this.p1 : number ->this : C +>this : this >p1 : number >1 : number } diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index e8905432e75..3addf07c75a 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -79,7 +79,7 @@ class X { var x = this.value; >x : string >this.value : string ->this : X +>this : this >value : string var inner = () => { @@ -89,7 +89,7 @@ class X { var y = this.value; >y : string >this.value : string ->this : X +>this : this >value : string } diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index f6b87c2e4c4..6f9ca201085 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -32,17 +32,17 @@ module Shapes { >this.x * this.x + this.y * this.y : number >this.x * this.x : number >this.x : number ->this : Point +>this : this >x : number >this.x : number ->this : Point +>this : this >x : number >this.y * this.y : number >this.y : number ->this : Point +>this : this >y : number >this.y : number ->this : Point +>this : this >y : number // Static member diff --git a/tests/baselines/reference/sourceMapValidationClass.types b/tests/baselines/reference/sourceMapValidationClass.types index e3b30a37227..3e5234b0d6e 100644 --- a/tests/baselines/reference/sourceMapValidationClass.types +++ b/tests/baselines/reference/sourceMapValidationClass.types @@ -14,7 +14,7 @@ class Greeter { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : Greeter +>this : this >greeting : string >"

" : string } @@ -30,7 +30,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : Greeter +>this : this >greeting : string } get greetings() { @@ -38,7 +38,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : Greeter +>this : this >greeting : string } set greetings(greetings: string) { @@ -48,7 +48,7 @@ class Greeter { this.greeting = greetings; >this.greeting = greetings : string >this.greeting : string ->this : Greeter +>this : this >greeting : string >greetings : string } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types index 266fe496193..a20410aa842 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types @@ -10,6 +10,6 @@ class Greeter { >returnA : () => number >() => this.a : () => number >this.a : number ->this : Greeter +>this : this >a : number } diff --git a/tests/baselines/reference/sourceMapValidationClasses.types b/tests/baselines/reference/sourceMapValidationClasses.types index 97e168d4701..5b3512c06c1 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.types +++ b/tests/baselines/reference/sourceMapValidationClasses.types @@ -21,7 +21,7 @@ module Foo.Bar { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : Greeter +>this : this >greeting : string >"

" : string } diff --git a/tests/baselines/reference/sourceMapValidationDecorators.types b/tests/baselines/reference/sourceMapValidationDecorators.types index 9e83bb03509..2fc05972307 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.types +++ b/tests/baselines/reference/sourceMapValidationDecorators.types @@ -93,7 +93,7 @@ class Greeter { >"

" + this.greeting : string >"

" : string >this.greeting : string ->this : Greeter +>this : this >greeting : string >"

" : string } @@ -137,7 +137,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : Greeter +>this : this >greeting : string } @@ -154,7 +154,7 @@ class Greeter { return this.greeting; >this.greeting : string ->this : Greeter +>this : this >greeting : string } @@ -175,7 +175,7 @@ class Greeter { this.greeting = greetings; >this.greeting = greetings : string >this.greeting : string ->this : Greeter +>this : this >greeting : string >greetings : string } diff --git a/tests/baselines/reference/superAccessInFatArrow1.types b/tests/baselines/reference/superAccessInFatArrow1.types index 0c50015c051..95f0d769655 100644 --- a/tests/baselines/reference/superAccessInFatArrow1.types +++ b/tests/baselines/reference/superAccessInFatArrow1.types @@ -23,7 +23,7 @@ module test { this.bar(() => { >this.bar(() => { super.foo(); }) : void >this.bar : (callback: () => void) => void ->this : B +>this : this >bar : (callback: () => void) => void >() => { super.foo(); } : () => void diff --git a/tests/baselines/reference/superCallBeforeThisAccessing1.types b/tests/baselines/reference/superCallBeforeThisAccessing1.types index 2eeaca024ff..e947653584a 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing1.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing1.types @@ -28,7 +28,7 @@ class D extends Base { t: this._t >t : any >this._t : any ->this : D +>this : this >_t : any } var i = Factory.create(s); diff --git a/tests/baselines/reference/superCallBeforeThisAccessing2.types b/tests/baselines/reference/superCallBeforeThisAccessing2.types index 2b819cd698d..cf0f54b6246 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing2.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing2.types @@ -18,7 +18,7 @@ class D extends Base { >super : typeof Base >() => { this._t } : () => void >this._t : any ->this : D +>this : this >_t : any } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing5.types b/tests/baselines/reference/superCallBeforeThisAccessing5.types index a31eb45730c..2c0fc33c4dc 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing5.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing5.types @@ -9,7 +9,7 @@ class D extends null { constructor() { this._t; // No error >this._t : any ->this : D +>this : this >_t : any } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing8.types b/tests/baselines/reference/superCallBeforeThisAccessing8.types index c7828ee6028..dd92d924ceb 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing8.types +++ b/tests/baselines/reference/superCallBeforeThisAccessing8.types @@ -26,7 +26,7 @@ class D extends Base { j: this._t, // no error >j : any >this._t : any ->this : D +>this : this >_t : any } } diff --git a/tests/baselines/reference/superPropertyAccess_ES6.types b/tests/baselines/reference/superPropertyAccess_ES6.types index 19f5ce0e796..b10b1944a44 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.types +++ b/tests/baselines/reference/superPropertyAccess_ES6.types @@ -56,7 +56,7 @@ class A { get property() { return this._property; } >property : string >this._property : string ->this : A +>this : this >_property : string set property(value: string) { this._property = value } @@ -64,7 +64,7 @@ class A { >value : string >this._property = value : string >this._property : string ->this : A +>this : this >_property : string >value : string } diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 5b6b5213524..99668ca4901 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -9,7 +9,7 @@ class C { this.x = (() => { >this.x = (() => { var x = 1; return this.x; })() : number >this.x : number ->this : C +>this : this >x : number >(() => { var x = 1; return this.x; })() : number >(() => { var x = 1; return this.x; }) : () => number @@ -21,14 +21,14 @@ class C { return this.x; >this.x : number ->this : C +>this : this >x : number })(); this.x = function() { >this.x = function() { var x = 1; return this.x; }() : any >this.x : number ->this : C +>this : this >x : number >function() { var x = 1; return this.x; }() : any >function() { var x = 1; return this.x; } : () => any diff --git a/tests/baselines/reference/thisCapture1.types b/tests/baselines/reference/thisCapture1.types index 05eabf5c914..eb4501203ca 100644 --- a/tests/baselines/reference/thisCapture1.types +++ b/tests/baselines/reference/thisCapture1.types @@ -25,7 +25,7 @@ class X { this.y = 0; >this.y = 0 : number >this.y : number ->this : X +>this : this >y : number >0 : number diff --git a/tests/baselines/reference/thisInLambda.types b/tests/baselines/reference/thisInLambda.types index fbbb7f8a124..aea7fb08bd6 100644 --- a/tests/baselines/reference/thisInLambda.types +++ b/tests/baselines/reference/thisInLambda.types @@ -11,14 +11,14 @@ class Foo { this.x; // 'this' is type 'Foo' >this.x : string ->this : Foo +>this : this >x : string var f = () => this.x; // 'this' should be type 'Foo' as well >f : () => string >() => this.x : () => string >this.x : string ->this : Foo +>this : this >x : string } } diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.types b/tests/baselines/reference/thisInPropertyBoundDeclarations.types index 2a75450f510..f871e78d219 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.types +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.types @@ -32,7 +32,7 @@ class Bug { this.name = name; >this.name = name : string >this.name : string ->this : Bug +>this : this >name : string >name : string } diff --git a/tests/baselines/reference/typeConstraintsWithConstructSignatures.types b/tests/baselines/reference/typeConstraintsWithConstructSignatures.types index 3814c014ece..9141aec0496 100644 --- a/tests/baselines/reference/typeConstraintsWithConstructSignatures.types +++ b/tests/baselines/reference/typeConstraintsWithConstructSignatures.types @@ -23,14 +23,14 @@ class C { >x : any >new this.data() : any >this.data : T ->this : C +>this : this >data : T var x2 = new this.data2(); // should not error >x2 : any >new this.data2() : any >this.data2 : Constructable ->this : C +>this : this >data2 : Constructable } } diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index 2167eb88642..ca4d8b94527 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -35,11 +35,11 @@ class C1 { >typeof this.pp1 === "string" : boolean >typeof this.pp1 : string >this.pp1 : string | number ->this : C1 +>this : this >pp1 : string | number >"string" : string >this.pp1 : string | number ->this : C1 +>this : this >pp1 : string | number strOrNum = typeof this.pp2 === "string" && this.pp2; // string | number @@ -49,11 +49,11 @@ class C1 { >typeof this.pp2 === "string" : boolean >typeof this.pp2 : string >this.pp2 : string | number ->this : C1 +>this : this >pp2 : string | number >"string" : string >this.pp2 : string | number ->this : C1 +>this : this >pp2 : string | number strOrNum = typeof this.pp3 === "string" && this.pp3; // string | number @@ -63,11 +63,11 @@ class C1 { >typeof this.pp3 === "string" : boolean >typeof this.pp3 : string >this.pp3 : string | number ->this : C1 +>this : this >pp3 : string | number >"string" : string >this.pp3 : string | number ->this : C1 +>this : this >pp3 : string | number } } diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.types b/tests/baselines/reference/typeInferenceReturnTypeCallback.types index fb26424d892..408e60f90ec 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.types +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.types @@ -54,7 +54,7 @@ class Cons implements IList{ return this.foldRight(new Nil(), (t, acc) => { >this.foldRight(new Nil(), (t, acc) => { return new Cons(); }) : Nil >this.foldRight : (z: E, f: (t: T, acc: E) => E) => E ->this : Cons +>this : this >foldRight : (z: E, f: (t: T, acc: E) => E) => E >new Nil() : Nil >Nil : typeof Nil diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index 4de320604bd..60cbcccda2b 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -124,7 +124,7 @@ class MyView extends View { >this.model.get("data") : any >this.model.get : any >this.model : any ->this : MyView +>this : this >model : any >get : any >"data" : string diff --git a/tests/baselines/reference/varArgsOnConstructorTypes.types b/tests/baselines/reference/varArgsOnConstructorTypes.types index 5ac9babd426..44987506101 100644 --- a/tests/baselines/reference/varArgsOnConstructorTypes.types +++ b/tests/baselines/reference/varArgsOnConstructorTypes.types @@ -28,14 +28,14 @@ export class B extends A { this.p1 = element; >this.p1 = element : any >this.p1 : number ->this : B +>this : this >p1 : number >element : any this.p2 = url; >this.p2 = url : string >this.p2 : string ->this : B +>this : this >p2 : string >url : string } From 4ec4ce814ddd3c7d76ab2921635cb578fb163969 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Thu, 25 Feb 2016 12:37:55 -0800 Subject: [PATCH 196/342] Updated binding for module.exports (cherry picked from commit 62bf4aefe23aeb67513af1b4961288244e9716a1) --- src/compiler/binder.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 9363a8796ee..b44ca51a33e 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -278,9 +278,11 @@ namespace ts { function declareSymbol(symbolTable: SymbolTable, parent: Symbol, node: Declaration, includes: SymbolFlags, excludes: SymbolFlags): Symbol { Debug.assert(!hasDynamicName(node)); + const isJsModuleExport = node.kind === SyntaxKind.BinaryExpression ? getSpecialPropertyAssignmentKind(node) === SpecialPropertyAssignmentKind.ModuleExports : false; const isDefaultExport = node.flags & NodeFlags.Default; + // The exported symbol for an export default function/class node is always named "default" - const name = isDefaultExport && parent ? "default" : getDeclarationName(node); + const name = isJsModuleExport ? "export=" : isDefaultExport && parent ? "default" : getDeclarationName(node); let symbol: Symbol; if (name !== undefined) { @@ -1438,7 +1440,7 @@ namespace ts { function bindModuleExportsAssignment(node: BinaryExpression) { // 'module.exports = expr' assignment setCommonJsModuleIndicator(node); - bindExportAssignment(node); + declareSymbol(file.symbol.exports, file.symbol, node, SymbolFlags.Property | SymbolFlags.Export | SymbolFlags.ValueModule, SymbolFlags.None); } function bindThisPropertyAssignment(node: BinaryExpression) { From b760fc0ae0415948fe1b09055cbcc9c756f9c366 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Thu, 25 Feb 2016 17:06:31 -0800 Subject: [PATCH 197/342] Fixed es2015 imports from export= (cherry picked from commit 9e46c180b4063e56eb947928615a3ebd46ecbe5e) --- src/compiler/checker.ts | 10 +++++++++- tests/cases/fourslash/javascriptModules20.ts | 13 ++++++++++++ tests/cases/fourslash/javascriptModules21.ts | 14 +++++++++++++ tests/cases/fourslash/javascriptModules22.ts | 13 ++++++++++++ tests/cases/fourslash/javascriptModules23.ts | 12 +++++++++++ tests/cases/fourslash/javascriptModules24.ts | 21 ++++++++++++++++++++ 6 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/javascriptModules20.ts create mode 100644 tests/cases/fourslash/javascriptModules21.ts create mode 100644 tests/cases/fourslash/javascriptModules22.ts create mode 100644 tests/cases/fourslash/javascriptModules23.ts create mode 100644 tests/cases/fourslash/javascriptModules24.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b0d0e2cbcdb..7ef8578d959 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -964,8 +964,16 @@ namespace ts { if (targetSymbol) { const name = specifier.propertyName || specifier.name; if (name.text) { + let symbolFromVariable: Symbol; + // First check if module was specified with "export=". If so, get the member from the resolved type + if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { + const members = (getTypeOfSymbol(targetSymbol) as ResolvedType).members; + symbolFromVariable = members && members[name.text]; + } + else { + symbolFromVariable = getPropertyOfVariable(targetSymbol, name.text); + } const symbolFromModule = getExportOfModule(targetSymbol, name.text); - const symbolFromVariable = getPropertyOfVariable(targetSymbol, name.text); const symbol = symbolFromModule && symbolFromVariable ? combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) : symbolFromModule || symbolFromVariable; diff --git a/tests/cases/fourslash/javascriptModules20.ts b/tests/cases/fourslash/javascriptModules20.ts new file mode 100644 index 00000000000..7ef5c73e1c3 --- /dev/null +++ b/tests/cases/fourslash/javascriptModules20.ts @@ -0,0 +1,13 @@ +/// +// @allowJs: true + +// @Filename: mod.js +//// function foo() { return {a: true}; } +//// module.exports = foo(); + +// @Filename: app.js +//// import * as mod from "./mod" +//// mod./**/ + +goTo.marker(); +verify.completionListContains('a'); diff --git a/tests/cases/fourslash/javascriptModules21.ts b/tests/cases/fourslash/javascriptModules21.ts new file mode 100644 index 00000000000..3a046515924 --- /dev/null +++ b/tests/cases/fourslash/javascriptModules21.ts @@ -0,0 +1,14 @@ +/// +// @allowJs: true +// @module: system + +// @Filename: mod.js +//// function foo() { return {a: true}; } +//// module.exports = foo(); + +// @Filename: app.js +//// import mod from "./mod" +//// mod./**/ + +goTo.marker(); +verify.completionListContains('a'); diff --git a/tests/cases/fourslash/javascriptModules22.ts b/tests/cases/fourslash/javascriptModules22.ts new file mode 100644 index 00000000000..67e3423ec40 --- /dev/null +++ b/tests/cases/fourslash/javascriptModules22.ts @@ -0,0 +1,13 @@ +/// +// @allowJs: true + +// @Filename: mod.js +//// function foo() { return {a: "hello, world"}; } +//// module.exports = foo(); + +// @Filename: app.js +//// import {a} from "./mod" +//// a./**/ + +goTo.marker(); +verify.completionListContains('toString'); diff --git a/tests/cases/fourslash/javascriptModules23.ts b/tests/cases/fourslash/javascriptModules23.ts new file mode 100644 index 00000000000..eafbea87baa --- /dev/null +++ b/tests/cases/fourslash/javascriptModules23.ts @@ -0,0 +1,12 @@ +/// + +// @Filename: mod.ts +//// var foo = {a: "test"}; +//// export = foo; + +// @Filename: app.ts +//// import {a} from "./mod" +//// a./**/ + +goTo.marker(); +verify.completionListContains('toString'); diff --git a/tests/cases/fourslash/javascriptModules24.ts b/tests/cases/fourslash/javascriptModules24.ts new file mode 100644 index 00000000000..5a0dd892db7 --- /dev/null +++ b/tests/cases/fourslash/javascriptModules24.ts @@ -0,0 +1,21 @@ +/// + +// @Filename: mod.ts +//// function foo() { return 42; } +//// namespace foo { +//// export function bar (a: string) { return a; } +//// } +//// export = foo; + +// @Filename: app.ts +//// import * as foo from "./mod" +//// foo/*1*/(); +//// foo.bar(/*2*/"test"); + +goTo.marker('1'); + +/**** BUG: Should be an error to invoke a call signature on a namespace import ****/ +//verify.errorExistsBeforeMarker('1'); +verify.quickInfoIs("(alias) foo(): number\nimport foo"); +goTo.marker('2'); +verify.signatureHelpArgumentCountIs(1); From 3ebf0fc383554ddc84dba8f85fb3fd56d68144fe Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Sun, 28 Feb 2016 18:25:04 -0800 Subject: [PATCH 198/342] Fixed default import from export equals (cherry picked from commit c4a10cfcdd51f831c3039e305c1c465a85c93b0b) --- src/compiler/binder.ts | 2 +- src/compiler/checker.ts | 9 ++++-- src/compiler/utilities.ts | 3 ++ .../reference/exportEqualsDefaultProperty.js | 27 ++++++++++++++++++ .../exportEqualsDefaultProperty.symbols | 21 ++++++++++++++ .../exportEqualsDefaultProperty.types | 28 +++++++++++++++++++ .../compiler/exportEqualsDefaultProperty.ts | 12 ++++++++ tests/cases/fourslash/javascriptModules22.ts | 19 +++++++++++++ 8 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 tests/baselines/reference/exportEqualsDefaultProperty.js create mode 100644 tests/baselines/reference/exportEqualsDefaultProperty.symbols create mode 100644 tests/baselines/reference/exportEqualsDefaultProperty.types create mode 100644 tests/cases/compiler/exportEqualsDefaultProperty.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index b44ca51a33e..5f5d7c46b04 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -278,7 +278,7 @@ namespace ts { function declareSymbol(symbolTable: SymbolTable, parent: Symbol, node: Declaration, includes: SymbolFlags, excludes: SymbolFlags): Symbol { Debug.assert(!hasDynamicName(node)); - const isJsModuleExport = node.kind === SyntaxKind.BinaryExpression ? getSpecialPropertyAssignmentKind(node) === SpecialPropertyAssignmentKind.ModuleExports : false; + const isJsModuleExport = getSpecialPropertyAssignmentKind(node) === SpecialPropertyAssignmentKind.ModuleExports; const isDefaultExport = node.flags & NodeFlags.Default; // The exported symbol for an export default function/class node is always named "default" diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7ef8578d959..c046780f07d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -892,8 +892,12 @@ namespace ts { function getTargetOfImportClause(node: ImportClause): Symbol { const moduleSymbol = resolveExternalModuleName(node, (node.parent).moduleSpecifier); + if (moduleSymbol) { - const exportDefaultSymbol = resolveSymbol(moduleSymbol.exports["default"]); + const exportDefaultSymbol = moduleSymbol.exports["export="] ? + getPropertyOfType(getTypeOfSymbol(moduleSymbol.exports["export="]), "default") : + resolveSymbol(moduleSymbol.exports["default"]); + if (!exportDefaultSymbol && !allowSyntheticDefaultImports) { error(node.name, Diagnostics.Module_0_has_no_default_export, symbolToString(moduleSymbol)); } @@ -967,8 +971,7 @@ namespace ts { let symbolFromVariable: Symbol; // First check if module was specified with "export=". If so, get the member from the resolved type if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { - const members = (getTypeOfSymbol(targetSymbol) as ResolvedType).members; - symbolFromVariable = members && members[name.text]; + symbolFromVariable = getPropertyOfType(getTypeOfSymbol(targetSymbol), name.text); } else { symbolFromVariable = getPropertyOfVariable(targetSymbol, name.text); diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 3916d0022c8..5d18009ee83 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1105,6 +1105,9 @@ namespace ts { /// Given a BinaryExpression, returns SpecialPropertyAssignmentKind for the various kinds of property /// assignments we treat as special in the binder export function getSpecialPropertyAssignmentKind(expression: Node): SpecialPropertyAssignmentKind { + if (!isInJavaScriptFile(expression)) { + return SpecialPropertyAssignmentKind.None; + } if (expression.kind !== SyntaxKind.BinaryExpression) { return SpecialPropertyAssignmentKind.None; } diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.js b/tests/baselines/reference/exportEqualsDefaultProperty.js new file mode 100644 index 00000000000..6d75ef5d95d --- /dev/null +++ b/tests/baselines/reference/exportEqualsDefaultProperty.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/exportEqualsDefaultProperty.ts] //// + +//// [exp.ts] + +var x = { + "greeting": "hello, world", + "default": 42 +}; + +export = x + +//// [imp.ts] +import foo from "./exp"; +foo.toExponential(2); + + +//// [exp.js] +"use strict"; +var x = { + "greeting": "hello, world", + "default": 42 +}; +module.exports = x; +//// [imp.js] +"use strict"; +var exp_1 = require("./exp"); +exp_1["default"].toExponential(2); diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.symbols b/tests/baselines/reference/exportEqualsDefaultProperty.symbols new file mode 100644 index 00000000000..54bbbde6956 --- /dev/null +++ b/tests/baselines/reference/exportEqualsDefaultProperty.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/exp.ts === + +var x = { +>x : Symbol(x, Decl(exp.ts, 1, 3)) + + "greeting": "hello, world", + "default": 42 +}; + +export = x +>x : Symbol(x, Decl(exp.ts, 1, 3)) + +=== tests/cases/compiler/imp.ts === +import foo from "./exp"; +>foo : Symbol(foo, Decl(imp.ts, 0, 6)) + +foo.toExponential(2); +>foo.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>foo : Symbol(foo, Decl(imp.ts, 0, 6)) +>toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.types b/tests/baselines/reference/exportEqualsDefaultProperty.types new file mode 100644 index 00000000000..31a6c8052f9 --- /dev/null +++ b/tests/baselines/reference/exportEqualsDefaultProperty.types @@ -0,0 +1,28 @@ +=== tests/cases/compiler/exp.ts === + +var x = { +>x : { "greeting": string; "default": number; } +>{ "greeting": "hello, world", "default": 42} : { "greeting": string; "default": number; } + + "greeting": "hello, world", +>"hello, world" : string + + "default": 42 +>42 : number + +}; + +export = x +>x : { "greeting": string; "default": number; } + +=== tests/cases/compiler/imp.ts === +import foo from "./exp"; +>foo : number + +foo.toExponential(2); +>foo.toExponential(2) : string +>foo.toExponential : (fractionDigits?: number) => string +>foo : number +>toExponential : (fractionDigits?: number) => string +>2 : number + diff --git a/tests/cases/compiler/exportEqualsDefaultProperty.ts b/tests/cases/compiler/exportEqualsDefaultProperty.ts new file mode 100644 index 00000000000..1adce3cabe1 --- /dev/null +++ b/tests/cases/compiler/exportEqualsDefaultProperty.ts @@ -0,0 +1,12 @@ + +// @Filename: exp.ts +var x = { + "greeting": "hello, world", + "default": 42 +}; + +export = x + +// @Filename: imp.ts +import foo from "./exp"; +foo.toExponential(2); diff --git a/tests/cases/fourslash/javascriptModules22.ts b/tests/cases/fourslash/javascriptModules22.ts index 67e3423ec40..89fa99b5ea2 100644 --- a/tests/cases/fourslash/javascriptModules22.ts +++ b/tests/cases/fourslash/javascriptModules22.ts @@ -5,9 +5,28 @@ //// function foo() { return {a: "hello, world"}; } //// module.exports = foo(); +// @Filename: mod2.js +//// var x = {name: 'test'}; +//// (function createExport(obj){ +//// module.exports = { +//// "default": x, +//// "sausages": {eggs: 2} +//// }; +//// })(); + // @Filename: app.js //// import {a} from "./mod" +//// import def, {sausages} from "./mod2" //// a./**/ goTo.marker(); verify.completionListContains('toString'); + +edit.backspace(2); +edit.insert("def."); +verify.completionListContains("name"); + +edit.insert("name;\nsausages."); +verify.completionListContains("eggs"); +edit.insert("eggs;"); +verify.numberOfErrorsInCurrentFile(0); From 9924e0a801948a0797dad5fdcd031a9cca227104 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Wed, 9 Mar 2016 14:57:55 -0800 Subject: [PATCH 199/342] Addressed feedback (cherry picked from commit fa6db1b8c95e28209a4147838dc7fd2ca433b9df) --- src/compiler/binder.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 5f5d7c46b04..92b5bae4c4a 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -278,11 +278,10 @@ namespace ts { function declareSymbol(symbolTable: SymbolTable, parent: Symbol, node: Declaration, includes: SymbolFlags, excludes: SymbolFlags): Symbol { Debug.assert(!hasDynamicName(node)); - const isJsModuleExport = getSpecialPropertyAssignmentKind(node) === SpecialPropertyAssignmentKind.ModuleExports; const isDefaultExport = node.flags & NodeFlags.Default; // The exported symbol for an export default function/class node is always named "default" - const name = isJsModuleExport ? "export=" : isDefaultExport && parent ? "default" : getDeclarationName(node); + const name = isDefaultExport && parent ? "default" : getDeclarationName(node); let symbol: Symbol; if (name !== undefined) { From 796613ce09dd25bdac8a3189f45f85210979126c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 06:51:57 -0800 Subject: [PATCH 200/342] Better error message + fix assignment analysis of 'switch' statement --- src/compiler/checker.ts | 29 +++++++++++++++++++--------- src/compiler/diagnosticMessages.json | 4 ++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 117c66d3625..7eceab0956f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7222,6 +7222,7 @@ namespace ts { case SyntaxKind.ReturnStatement: case SyntaxKind.WithStatement: case SyntaxKind.SwitchStatement: + case SyntaxKind.CaseBlock: case SyntaxKind.CaseClause: case SyntaxKind.DefaultClause: case SyntaxKind.LabeledStatement: @@ -7683,6 +7684,7 @@ namespace ts { case SyntaxKind.ReturnStatement: case SyntaxKind.WithStatement: case SyntaxKind.SwitchStatement: + case SyntaxKind.CaseBlock: case SyntaxKind.CaseClause: case SyntaxKind.DefaultClause: case SyntaxKind.LabeledStatement: @@ -9541,6 +9543,15 @@ namespace ts { return true; } + function checkNonNullExpression(node: Expression | QualifiedName) { + const type = checkExpression(node); + if (strictNullChecks && getNullableKind(type)) { + error(node, Diagnostics.Object_is_possibly_null_or_undefined); + return getNonNullableType(type); + } + return type; + } + function checkPropertyAccessExpression(node: PropertyAccessExpression) { return checkPropertyAccessExpressionOrQualifiedName(node, node.expression, node.name); } @@ -9550,7 +9561,7 @@ namespace ts { } function checkPropertyAccessExpressionOrQualifiedName(node: PropertyAccessExpression | QualifiedName, left: Expression | QualifiedName, right: Identifier) { - const type = checkExpression(left); + let type = checkNonNullExpression(left); if (isTypeAny(type)) { return type; } @@ -9661,7 +9672,7 @@ namespace ts { } // Obtain base constraint such that we can bail out if the constraint is an unknown type - const objectType = getApparentType(checkExpression(node.expression)); + const objectType = getApparentType(checkNonNullExpression(node.expression)); const indexType = node.argumentExpression ? checkExpression(node.argumentExpression) : unknownType; if (objectType === unknownType) { @@ -10676,7 +10687,7 @@ namespace ts { return resolveUntypedCall(node); } - const funcType = checkExpression(node.expression); + const funcType = checkNonNullExpression(node.expression); const apparentType = getApparentType(funcType); if (apparentType === unknownType) { @@ -10729,7 +10740,7 @@ namespace ts { } } - let expressionType = checkExpression(node.expression); + let expressionType = checkNonNullExpression(node.expression); // If expressionType's apparent type(section 3.8.1) is an object type with one or // more construct signatures, the expression is processed in the same manner as a @@ -10993,7 +11004,7 @@ namespace ts { return targetType; } - function checkNonNullExpression(node: NonNullExpression) { + function checkNonNullAssertion(node: NonNullExpression) { return getNonNullableType(checkExpression(node.expression)); } @@ -12178,7 +12189,7 @@ namespace ts { case SyntaxKind.AsExpression: return checkAssertion(node); case SyntaxKind.NonNullExpression: - return checkNonNullExpression(node); + return checkNonNullAssertion(node); case SyntaxKind.DeleteExpression: return checkDeleteExpression(node); case SyntaxKind.VoidExpression: @@ -14048,7 +14059,7 @@ namespace ts { } } - const rightType = checkExpression(node.expression); + const rightType = checkNonNullExpression(node.expression); // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved // in this case error about missing name is already reported - do not report extra one if (!isTypeAnyOrAllConstituentTypesHaveKind(rightType, TypeFlags.ObjectType | TypeFlags.TypeParameter)) { @@ -14068,7 +14079,7 @@ namespace ts { } function checkRightHandSideOfForOf(rhsExpression: Expression): Type { - const expressionType = getTypeOfExpression(rhsExpression); + const expressionType = checkNonNullExpression(rhsExpression); return checkIteratedTypeOrElementType(expressionType, rhsExpression, /*allowStringInput*/ true); } @@ -14339,7 +14350,7 @@ namespace ts { const signature = getSignatureFromDeclaration(func); const returnType = getReturnTypeOfSignature(signature); if (strictNullChecks || node.expression) { - const exprType = checkExpressionCached(node.expression); + const exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (func.asteriskToken) { // A generator does not need its return expressions checked against its return type. diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 01005bffe73..e47dc96fa22 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1715,6 +1715,10 @@ "category": "Error", "code": 2530 }, + "Object is possibly 'null' or 'undefined'.": { + "category": "Error", + "code": 2531 + }, "JSX element attributes type '{0}' may not be a union type.": { "category": "Error", "code": 2600 From 7344d9ca470a292cdced39a65b3b359b8153049e Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Thu, 10 Mar 2016 09:59:09 -0800 Subject: [PATCH 201/342] correctly recognize captured loop variables in destructuring assignment --- src/compiler/checker.ts | 7 +- .../reference/capturedLetConstInLoop12.js | 42 ++++++++++++ .../capturedLetConstInLoop12.symbols | 30 +++++++++ .../reference/capturedLetConstInLoop12.types | 65 +++++++++++++++++++ .../compiler/capturedLetConstInLoop12.ts | 15 +++++ 5 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 tests/baselines/reference/capturedLetConstInLoop12.js create mode 100644 tests/baselines/reference/capturedLetConstInLoop12.symbols create mode 100644 tests/baselines/reference/capturedLetConstInLoop12.types create mode 100644 tests/cases/compiler/capturedLetConstInLoop12.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b0d0e2cbcdb..cb08d23828b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7474,11 +7474,10 @@ namespace ts { // check if node is used as LHS in some assignment expression let isAssigned = false; - if (current.parent.kind === SyntaxKind.BinaryExpression) { - isAssigned = (current.parent).left === current && isAssignmentOperator((current.parent).operatorToken.kind); + if (isAssignmentTarget(current)) { + isAssigned = true; } - - if ((current.parent.kind === SyntaxKind.PrefixUnaryExpression || current.parent.kind === SyntaxKind.PostfixUnaryExpression)) { + else if ((current.parent.kind === SyntaxKind.PrefixUnaryExpression || current.parent.kind === SyntaxKind.PostfixUnaryExpression)) { const expr = current.parent; isAssigned = expr.operator === SyntaxKind.PlusPlusToken || expr.operator === SyntaxKind.MinusMinusToken; } diff --git a/tests/baselines/reference/capturedLetConstInLoop12.js b/tests/baselines/reference/capturedLetConstInLoop12.js new file mode 100644 index 00000000000..7235c959a59 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop12.js @@ -0,0 +1,42 @@ +//// [capturedLetConstInLoop12.ts] +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { + (() => [i] = [i + 1])(); + } +})(); + +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { + (() => ({a:i} = {a:i + 1}))(); + } +})(); + +//// [capturedLetConstInLoop12.js] +(function () { + "use strict"; + var _loop_1 = function(i) { + (function () { return (_a = [i + 1], i = _a[0], _a); var _a; })(); + out_i_1 = i; + }; + var out_i_1; + for (var i = 0; i < 4; i++) { + _loop_1(i); + i = out_i_1; + } +})(); +(function () { + "use strict"; + var _loop_2 = function(i) { + (function () { return (_a = { a: i + 1 }, i = _a.a, _a); var _a; })(); + out_i_2 = i; + }; + var out_i_2; + for (var i = 0; i < 4; i++) { + _loop_2(i); + i = out_i_2; + } +})(); diff --git a/tests/baselines/reference/capturedLetConstInLoop12.symbols b/tests/baselines/reference/capturedLetConstInLoop12.symbols new file mode 100644 index 00000000000..8c0338ea84e --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop12.symbols @@ -0,0 +1,30 @@ +=== tests/cases/compiler/capturedLetConstInLoop12.ts === +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 3, 12)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 3, 12)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 3, 12)) + + (() => [i] = [i + 1])(); +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 3, 12)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 3, 12)) + } +})(); + +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 11, 12)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 11, 12)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 11, 12)) + + (() => ({a:i} = {a:i + 1}))(); +>a : Symbol(a, Decl(capturedLetConstInLoop12.ts, 12, 17)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 11, 12)) +>a : Symbol(a, Decl(capturedLetConstInLoop12.ts, 12, 25)) +>i : Symbol(i, Decl(capturedLetConstInLoop12.ts, 11, 12)) + } +})(); diff --git a/tests/baselines/reference/capturedLetConstInLoop12.types b/tests/baselines/reference/capturedLetConstInLoop12.types new file mode 100644 index 00000000000..aee671b4d36 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop12.types @@ -0,0 +1,65 @@ +=== tests/cases/compiler/capturedLetConstInLoop12.ts === +(function() { +>(function() { "use strict"; for (let i = 0; i < 4; i++) { (() => [i] = [i + 1])(); }})() : void +>(function() { "use strict"; for (let i = 0; i < 4; i++) { (() => [i] = [i + 1])(); }}) : () => void +>function() { "use strict"; for (let i = 0; i < 4; i++) { (() => [i] = [i + 1])(); }} : () => void + + "use strict"; +>"use strict" : string + + for (let i = 0; i < 4; i++) { +>i : number +>0 : number +>i < 4 : boolean +>i : number +>4 : number +>i++ : number +>i : number + + (() => [i] = [i + 1])(); +>(() => [i] = [i + 1])() : [number] +>(() => [i] = [i + 1]) : () => [number] +>() => [i] = [i + 1] : () => [number] +>[i] = [i + 1] : [number] +>[i] : [number] +>i : number +>[i + 1] : [number] +>i + 1 : number +>i : number +>1 : number + } +})(); + +(function() { +>(function() { "use strict"; for (let i = 0; i < 4; i++) { (() => ({a:i} = {a:i + 1}))(); }})() : void +>(function() { "use strict"; for (let i = 0; i < 4; i++) { (() => ({a:i} = {a:i + 1}))(); }}) : () => void +>function() { "use strict"; for (let i = 0; i < 4; i++) { (() => ({a:i} = {a:i + 1}))(); }} : () => void + + "use strict"; +>"use strict" : string + + for (let i = 0; i < 4; i++) { +>i : number +>0 : number +>i < 4 : boolean +>i : number +>4 : number +>i++ : number +>i : number + + (() => ({a:i} = {a:i + 1}))(); +>(() => ({a:i} = {a:i + 1}))() : { a: number; } +>(() => ({a:i} = {a:i + 1})) : () => { a: number; } +>() => ({a:i} = {a:i + 1}) : () => { a: number; } +>({a:i} = {a:i + 1}) : { a: number; } +>{a:i} = {a:i + 1} : { a: number; } +>{a:i} : { a: number; } +>a : number +>i : number +>{a:i + 1} : { a: number; } +>a : number +>i + 1 : number +>i : number +>1 : number + } +})(); diff --git a/tests/cases/compiler/capturedLetConstInLoop12.ts b/tests/cases/compiler/capturedLetConstInLoop12.ts new file mode 100644 index 00000000000..5540f75635e --- /dev/null +++ b/tests/cases/compiler/capturedLetConstInLoop12.ts @@ -0,0 +1,15 @@ +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { + (() => [i] = [i + 1])(); + } +})(); + +(function() { + "use strict"; + + for (let i = 0; i < 4; i++) { + (() => ({a:i} = {a:i + 1}))(); + } +})(); \ No newline at end of file From 043b3380248509193dae8fe49a1c908d158869ed Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 10 Mar 2016 10:11:48 -0800 Subject: [PATCH 202/342] Add `export = class` scenario --- tests/baselines/reference/umd8.js | 21 +++++++++++++++ tests/baselines/reference/umd8.symbols | 25 +++++++++++++++++ tests/baselines/reference/umd8.types | 27 +++++++++++++++++++ .../cases/conformance/externalModules/umd8.ts | 15 +++++++++++ 4 files changed, 88 insertions(+) create mode 100644 tests/baselines/reference/umd8.js create mode 100644 tests/baselines/reference/umd8.symbols create mode 100644 tests/baselines/reference/umd8.types create mode 100644 tests/cases/conformance/externalModules/umd8.ts diff --git a/tests/baselines/reference/umd8.js b/tests/baselines/reference/umd8.js new file mode 100644 index 00000000000..b4c6e0fa76b --- /dev/null +++ b/tests/baselines/reference/umd8.js @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/externalModules/umd8.ts] //// + +//// [foo.d.ts] + +declare class Thing { + foo(): number; +} +export = Thing; +export as namespace Foo; + +//// [a.ts] +/// +let y: Foo; +y.foo(); + + + +//// [a.js] +/// +var y; +y.foo(); diff --git a/tests/baselines/reference/umd8.symbols b/tests/baselines/reference/umd8.symbols new file mode 100644 index 00000000000..347038e6b33 --- /dev/null +++ b/tests/baselines/reference/umd8.symbols @@ -0,0 +1,25 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: Foo; +>y : Symbol(y, Decl(a.ts, 1, 3)) +>Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) + +y.foo(); +>y.foo : Symbol(Foo.foo, Decl(foo.d.ts, 1, 21)) +>y : Symbol(y, Decl(a.ts, 1, 3)) +>foo : Symbol(Foo.foo, Decl(foo.d.ts, 1, 21)) + + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare class Thing { +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + + foo(): number; +>foo : Symbol(foo, Decl(foo.d.ts, 1, 21)) +} +export = Thing; +>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) + +export as namespace Foo; + diff --git a/tests/baselines/reference/umd8.types b/tests/baselines/reference/umd8.types new file mode 100644 index 00000000000..0e66a49b963 --- /dev/null +++ b/tests/baselines/reference/umd8.types @@ -0,0 +1,27 @@ +=== tests/cases/conformance/externalModules/a.ts === +/// +let y: Foo; +>y : Foo +>Foo : Foo + +y.foo(); +>y.foo() : number +>y.foo : () => number +>y : Foo +>foo : () => number + + +=== tests/cases/conformance/externalModules/foo.d.ts === + +declare class Thing { +>Thing : Thing + + foo(): number; +>foo : () => number +} +export = Thing; +>Thing : Thing + +export as namespace Foo; +>Foo : any + diff --git a/tests/cases/conformance/externalModules/umd8.ts b/tests/cases/conformance/externalModules/umd8.ts new file mode 100644 index 00000000000..caab734f5e0 --- /dev/null +++ b/tests/cases/conformance/externalModules/umd8.ts @@ -0,0 +1,15 @@ +// @module: commonjs +// @noImplicitReferences: true + +// @filename: foo.d.ts +declare class Thing { + foo(): number; +} +export = Thing; +export as namespace Foo; + +// @filename: a.ts +/// +let y: Foo; +y.foo(); + From dad05642d71408a864e80e0aad34fc43091e38ac Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 11:13:30 -0800 Subject: [PATCH 203/342] Support 'this' in type guards --- src/compiler/checker.ts | 79 ++++++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 32 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7eceab0956f..f2a41ea5de8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7144,6 +7144,9 @@ namespace ts { const symbol = getResolvedSymbol(node); return symbol !== unknownSymbol ? "" + getSymbolId(symbol) : undefined; } + if (node.kind === SyntaxKind.ThisKeyword) { + return "0"; + } if (node.kind === SyntaxKind.PropertyAccessExpression) { const key = getAssignmentKey((node).expression); return key && key + "." + (node).name.text; @@ -7242,10 +7245,12 @@ namespace ts { } function isReferenceAssignedWithin(reference: Node, node: Node): boolean { - const key = getAssignmentKey(reference); - if (key) { - const links = getNodeLinks(node); - return (links.assignmentMap || (links.assignmentMap = getAssignmentMap(node)))[key]; + if (reference.kind !== SyntaxKind.ThisKeyword) { + const key = getAssignmentKey(reference); + if (key) { + const links = getNodeLinks(node); + return (links.assignmentMap || (links.assignmentMap = getAssignmentMap(node)))[key]; + } } return false; } @@ -7267,47 +7272,53 @@ namespace ts { node.kind === SyntaxKind.Identifier && getResolvedSymbol(node) === undefinedSymbol; } - function getLeftmostIdentifier(node: Node): Identifier { + function getLeftmostIdentifierOrThis(node: Node): Node { switch (node.kind) { case SyntaxKind.Identifier: - return node; + case SyntaxKind.ThisKeyword: + return node; case SyntaxKind.PropertyAccessExpression: - return getLeftmostIdentifier((node).expression); + return getLeftmostIdentifierOrThis((node).expression); } return undefined; } function isMatchingReference(source: Node, target: Node): boolean { if (source.kind === target.kind) { - if (source.kind === SyntaxKind.Identifier) { - return getResolvedSymbol(source) === getResolvedSymbol(target); - } - if (source.kind === SyntaxKind.PropertyAccessExpression) { - return (source).name.text === (target).name.text && - isMatchingReference((source).expression, (target).expression); + switch (source.kind) { + case SyntaxKind.Identifier: + return getResolvedSymbol(source) === getResolvedSymbol(target); + case SyntaxKind.ThisKeyword: + return true; + case SyntaxKind.PropertyAccessExpression: + return (source).name.text === (target).name.text && + isMatchingReference((source).expression, (target).expression); } } return false; } // Get the narrowed type of a given symbol at a given location - function getNarrowedTypeOfReference(type: Type, reference: IdentifierOrPropertyAccess) { + function getNarrowedTypeOfReference(type: Type, reference: Node) { if (!(type.flags & (TypeFlags.Any | TypeFlags.ObjectType | TypeFlags.Union | TypeFlags.TypeParameter))) { return type; } - const leftmostIdentifier = getLeftmostIdentifier(reference); - if (!leftmostIdentifier) { + const leftmostNode = getLeftmostIdentifierOrThis(reference); + if (!leftmostNode) { return type; } - const leftmostSymbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(leftmostIdentifier)); - if (!leftmostSymbol) { - return type; + let top: Node; + if (leftmostNode.kind === SyntaxKind.Identifier) { + const leftmostSymbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(leftmostNode)); + if (!leftmostSymbol) { + return type; + } + const declaration = leftmostSymbol.valueDeclaration; + if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.Parameter && declaration.kind !== SyntaxKind.BindingElement) { + return type; + } + top = getDeclarationContainer(declaration); } - const declaration = leftmostSymbol.valueDeclaration; - if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.Parameter && declaration.kind !== SyntaxKind.BindingElement) { - return type; - } - const top = getDeclarationContainer(declaration); const originalType = type; const nodeStack: { node: Node, child: Node }[] = []; let node: Node = reference; @@ -7322,11 +7333,12 @@ namespace ts { break; case SyntaxKind.SourceFile: case SyntaxKind.ModuleDeclaration: - // Stop at the first containing file or module declaration break loop; - } - if (node === top) { - break; + default: + if (node === top || isFunctionLikeKind(node.kind)) { + break loop; + } + break; } } @@ -7374,7 +7386,7 @@ namespace ts { return type; - function narrowTypeByTruthiness(type: Type, expr: Identifier, assumeTrue: boolean): Type { + function narrowTypeByTruthiness(type: Type, expr: Expression, assumeTrue: boolean): Type { return strictNullChecks && assumeTrue && isMatchingReference(expr, reference) ? getNonNullableType(type) : type; } @@ -7551,7 +7563,8 @@ namespace ts { } } - if (isTypeAssignableTo(narrowedTypeCandidate, originalType)) { + const targetType = originalType.flags & TypeFlags.TypeParameter ? getApparentType(originalType) : originalType; + if (isTypeAssignableTo(narrowedTypeCandidate, targetType)) { // Narrow to the target type if it's assignable to the current type return narrowedTypeCandidate; } @@ -7592,8 +7605,9 @@ namespace ts { function narrowType(type: Type, expr: Expression, assumeTrue: boolean): Type { switch (expr.kind) { case SyntaxKind.Identifier: + case SyntaxKind.ThisKeyword: case SyntaxKind.PropertyAccessExpression: - return narrowTypeByTruthiness(type, expr, assumeTrue); + return narrowTypeByTruthiness(type, expr, assumeTrue); case SyntaxKind.CallExpression: return narrowTypeByTypePredicate(type, expr, assumeTrue); case SyntaxKind.ParenthesizedExpression: @@ -8007,7 +8021,8 @@ namespace ts { if (isClassLike(container.parent)) { const symbol = getSymbolOfNode(container.parent); - return container.flags & NodeFlags.Static ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; + const type = container.flags & NodeFlags.Static ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; + return getNarrowedTypeOfReference(type, node); } if (isInJavaScriptFile(node)) { From 6772c3451945dea5e4fdbad60ea991d82e49fffb Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 11:14:40 -0800 Subject: [PATCH 204/342] Accepting new baselines --- ...ationCollidingNamesInAugmentation1.symbols | 57 --------- ...ntationCollidingNamesInAugmentation1.types | 69 ----------- .../reference/typeGuardInClass.errors.txt | 30 +++++ .../reference/typeGuardInClass.symbols | 29 ----- .../reference/typeGuardInClass.types | 34 ------ .../reference/typeGuardsDefeat.errors.txt | 52 ++++++++ .../reference/typeGuardsDefeat.symbols | 82 ------------- .../reference/typeGuardsDefeat.types | 105 ---------------- ...typeGuardsInFunctionAndModuleBlock.symbols | 16 +-- .../typeGuardsInFunctionAndModuleBlock.types | 36 +++--- .../reference/typeGuardsInProperties.types | 16 +-- .../typeGuardsOnClassProperty.errors.txt | 34 ------ .../typeGuardsOnClassProperty.symbols | 86 ++++++++++++++ .../reference/typeGuardsOnClassProperty.types | 112 ++++++++++++++++++ 14 files changed, 314 insertions(+), 444 deletions(-) delete mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols delete mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types create mode 100644 tests/baselines/reference/typeGuardInClass.errors.txt delete mode 100644 tests/baselines/reference/typeGuardInClass.symbols delete mode 100644 tests/baselines/reference/typeGuardInClass.types create mode 100644 tests/baselines/reference/typeGuardsDefeat.errors.txt delete mode 100644 tests/baselines/reference/typeGuardsDefeat.symbols delete mode 100644 tests/baselines/reference/typeGuardsDefeat.types delete mode 100644 tests/baselines/reference/typeGuardsOnClassProperty.errors.txt create mode 100644 tests/baselines/reference/typeGuardsOnClassProperty.symbols create mode 100644 tests/baselines/reference/typeGuardsOnClassProperty.types diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols deleted file mode 100644 index ec933695900..00000000000 --- a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols +++ /dev/null @@ -1,57 +0,0 @@ -=== tests/cases/compiler/map1.ts === - -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) - -(Observable.prototype).map = function() { } ->Observable.prototype : Symbol(Observable.prototype) ->Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) ->prototype : Symbol(Observable.prototype) - -declare module "./observable" { - interface I {x0} ->I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) ->x0 : Symbol(x0, Decl(map1.ts, 6, 17)) -} - -=== tests/cases/compiler/map2.ts === -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) - -(Observable.prototype).map = function() { } ->Observable.prototype : Symbol(Observable.prototype) ->Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) ->prototype : Symbol(Observable.prototype) - -declare module "./observable" { - interface I {x1} ->I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) ->x1 : Symbol(x1, Decl(map2.ts, 5, 17)) -} - - -=== tests/cases/compiler/observable.ts === -export declare class Observable { ->Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) - - filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) ->pred : Symbol(pred, Decl(observable.ts, 1, 11)) ->e : Symbol(e, Decl(observable.ts, 1, 18)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) ->Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) -} - -=== tests/cases/compiler/main.ts === -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(main.ts, 0, 8)) - -import "./map1"; -import "./map2"; - -let x: Observable; ->x : Symbol(x, Decl(main.ts, 4, 3)) ->Observable : Symbol(Observable, Decl(main.ts, 0, 8)) - diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types deleted file mode 100644 index e87560c6a3d..00000000000 --- a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types +++ /dev/null @@ -1,69 +0,0 @@ -=== tests/cases/compiler/map1.ts === - -import { Observable } from "./observable" ->Observable : typeof Observable - -(Observable.prototype).map = function() { } ->(Observable.prototype).map = function() { } : () => void ->(Observable.prototype).map : any ->(Observable.prototype) : any ->Observable.prototype : any ->Observable.prototype : Observable ->Observable : typeof Observable ->prototype : Observable ->map : any ->function() { } : () => void - -declare module "./observable" { - interface I {x0} ->I : I ->x0 : any -} - -=== tests/cases/compiler/map2.ts === -import { Observable } from "./observable" ->Observable : typeof Observable - -(Observable.prototype).map = function() { } ->(Observable.prototype).map = function() { } : () => void ->(Observable.prototype).map : any ->(Observable.prototype) : any ->Observable.prototype : any ->Observable.prototype : Observable ->Observable : typeof Observable ->prototype : Observable ->map : any ->function() { } : () => void - -declare module "./observable" { - interface I {x1} ->I : I ->x1 : any -} - - -=== tests/cases/compiler/observable.ts === -export declare class Observable { ->Observable : Observable ->T : T - - filter(pred: (e:T) => boolean): Observable; ->filter : (pred: (e: T) => boolean) => Observable ->pred : (e: T) => boolean ->e : T ->T : T ->Observable : Observable ->T : T -} - -=== tests/cases/compiler/main.ts === -import { Observable } from "./observable" ->Observable : typeof Observable - -import "./map1"; -import "./map2"; - -let x: Observable; ->x : Observable ->Observable : Observable - diff --git a/tests/baselines/reference/typeGuardInClass.errors.txt b/tests/baselines/reference/typeGuardInClass.errors.txt new file mode 100644 index 00000000000..aa86067576f --- /dev/null +++ b/tests/baselines/reference/typeGuardInClass.errors.txt @@ -0,0 +1,30 @@ +tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts(6,17): error TS2322: Type 'string | number' is not assignable to type 'string'. + Type 'number' is not assignable to type 'string'. +tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts(13,17): error TS2322: Type 'string | number' is not assignable to type 'number'. + Type 'string' is not assignable to type 'number'. + + +==== tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts (2 errors) ==== + let x: string | number; + + if (typeof x === "string") { + let n = class { + constructor() { + let y: string = x; + ~ +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. + } + } + } + else { + let m = class { + constructor() { + let y: number = x; + ~ +!!! error TS2322: Type 'string | number' is not assignable to type 'number'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardInClass.symbols b/tests/baselines/reference/typeGuardInClass.symbols deleted file mode 100644 index cc0e745e4de..00000000000 --- a/tests/baselines/reference/typeGuardInClass.symbols +++ /dev/null @@ -1,29 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts === -let x: string | number; ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) - -if (typeof x === "string") { ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) - - let n = class { ->n : Symbol(n, Decl(typeGuardInClass.ts, 3, 7)) - - constructor() { - let y: string = x; ->y : Symbol(y, Decl(typeGuardInClass.ts, 5, 15)) ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) - } - } -} -else { - let m = class { ->m : Symbol(m, Decl(typeGuardInClass.ts, 10, 7)) - - constructor() { - let y: number = x; ->y : Symbol(y, Decl(typeGuardInClass.ts, 12, 15)) ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) - } - } -} - diff --git a/tests/baselines/reference/typeGuardInClass.types b/tests/baselines/reference/typeGuardInClass.types deleted file mode 100644 index 93fe9f28c5e..00000000000 --- a/tests/baselines/reference/typeGuardInClass.types +++ /dev/null @@ -1,34 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts === -let x: string | number; ->x : string | number - -if (typeof x === "string") { ->typeof x === "string" : boolean ->typeof x : string ->x : string | number ->"string" : string - - let n = class { ->n : typeof (Anonymous class) ->class { constructor() { let y: string = x; } } : typeof (Anonymous class) - - constructor() { - let y: string = x; ->y : string ->x : string - } - } -} -else { - let m = class { ->m : typeof (Anonymous class) ->class { constructor() { let y: number = x; } } : typeof (Anonymous class) - - constructor() { - let y: number = x; ->y : number ->x : number - } - } -} - diff --git a/tests/baselines/reference/typeGuardsDefeat.errors.txt b/tests/baselines/reference/typeGuardsDefeat.errors.txt new file mode 100644 index 00000000000..d4006711d45 --- /dev/null +++ b/tests/baselines/reference/typeGuardsDefeat.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts(21,20): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. +tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts(21,24): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. +tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts(32,23): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. +tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts(32,27): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. + + +==== tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts (4 errors) ==== + // Also note that it is possible to defeat a type guard by calling a function that changes the + // type of the guarded variable. + function foo(x: number | string) { + function f() { + x = 10; + } + if (typeof x === "string") { + f(); + return x.length; // string + } + else { + return x++; // number + } + } + function foo2(x: number | string) { + if (typeof x === "string") { + return x.length; // string + } + else { + var f = function () { + return x * x; + ~ +!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. + ~ +!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. + }; + } + x = "hello"; + f(); + } + function foo3(x: number | string) { + if (typeof x === "string") { + return x.length; // string + } + else { + var f = () => x * x; + ~ +!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. + ~ +!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. + } + x = "hello"; + f(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsDefeat.symbols b/tests/baselines/reference/typeGuardsDefeat.symbols deleted file mode 100644 index 388b69b5789..00000000000 --- a/tests/baselines/reference/typeGuardsDefeat.symbols +++ /dev/null @@ -1,82 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts === -// Also note that it is possible to defeat a type guard by calling a function that changes the -// type of the guarded variable. -function foo(x: number | string) { ->foo : Symbol(foo, Decl(typeGuardsDefeat.ts, 0, 0)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) - - function f() { ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 2, 34)) - - x = 10; ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) - } - if (typeof x === "string") { ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) - - f(); ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 2, 34)) - - return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) - } - else { - return x++; // number ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) - } -} -function foo2(x: number | string) { ->foo2 : Symbol(foo2, Decl(typeGuardsDefeat.ts, 13, 1)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) - - if (typeof x === "string") { ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) - - return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) - } - else { - var f = function () { ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 19, 11)) - - return x * x; ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) - - }; - } - x = "hello"; ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) - - f(); ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 19, 11)) -} -function foo3(x: number | string) { ->foo3 : Symbol(foo3, Decl(typeGuardsDefeat.ts, 25, 1)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) - - if (typeof x === "string") { ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) - - return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) - } - else { - var f = () => x * x; ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 31, 11)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) - } - x = "hello"; ->x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) - - f(); ->f : Symbol(f, Decl(typeGuardsDefeat.ts, 31, 11)) -} - diff --git a/tests/baselines/reference/typeGuardsDefeat.types b/tests/baselines/reference/typeGuardsDefeat.types deleted file mode 100644 index cc655d3ce0f..00000000000 --- a/tests/baselines/reference/typeGuardsDefeat.types +++ /dev/null @@ -1,105 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardsDefeat.ts === -// Also note that it is possible to defeat a type guard by calling a function that changes the -// type of the guarded variable. -function foo(x: number | string) { ->foo : (x: number | string) => number ->x : number | string - - function f() { ->f : () => void - - x = 10; ->x = 10 : number ->x : number | string ->10 : number - } - if (typeof x === "string") { ->typeof x === "string" : boolean ->typeof x : string ->x : number | string ->"string" : string - - f(); ->f() : void ->f : () => void - - return x.length; // string ->x.length : number ->x : string ->length : number - } - else { - return x++; // number ->x++ : number ->x : number - } -} -function foo2(x: number | string) { ->foo2 : (x: number | string) => number ->x : number | string - - if (typeof x === "string") { ->typeof x === "string" : boolean ->typeof x : string ->x : number | string ->"string" : string - - return x.length; // string ->x.length : number ->x : string ->length : number - } - else { - var f = function () { ->f : () => number ->function () { return x * x; } : () => number - - return x * x; ->x * x : number ->x : number ->x : number - - }; - } - x = "hello"; ->x = "hello" : string ->x : number | string ->"hello" : string - - f(); ->f() : number ->f : () => number -} -function foo3(x: number | string) { ->foo3 : (x: number | string) => number ->x : number | string - - if (typeof x === "string") { ->typeof x === "string" : boolean ->typeof x : string ->x : number | string ->"string" : string - - return x.length; // string ->x.length : number ->x : string ->length : number - } - else { - var f = () => x * x; ->f : () => number ->() => x * x : () => number ->x * x : number ->x : number ->x : number - } - x = "hello"; ->x = "hello" : string ->x : number | string ->"hello" : string - - f(); ->f() : number ->f : () => number -} - diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols index 34810f303db..bf21641624e 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols @@ -27,9 +27,9 @@ function foo(x: number | string | boolean) { >toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 2, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } (); } @@ -60,9 +60,9 @@ function foo2(x: number | string | boolean) { >toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } (x); // x here is narrowed to number | boolean >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) @@ -91,9 +91,9 @@ function foo3(x: number | string | boolean) { >toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 22, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) })(); } @@ -123,9 +123,9 @@ function foo4(x: number | string | boolean) { >toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) })(x); // x here is narrowed to number | boolean >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types index f7d56ed17d1..67d1816cfc3 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types @@ -21,14 +21,14 @@ function foo(x: number | string | boolean) { >f : () => string var b = x; // number | boolean ->b : number | boolean ->x : number | boolean +>b : number | string | boolean +>x : number | string | boolean return typeof x === "boolean" >typeof x === "boolean" ? x.toString() // boolean : x.toString() : string >typeof x === "boolean" : boolean >typeof x : string ->x : number | boolean +>x : number | string | boolean >"boolean" : string ? x.toString() // boolean @@ -40,7 +40,7 @@ function foo(x: number | string | boolean) { : x.toString(); // number >x.toString() : string >x.toString : (radix?: number) => string ->x : number +>x : number | string >toString : (radix?: number) => string } (); @@ -66,14 +66,14 @@ function foo2(x: number | string | boolean) { >a : number | boolean var b = x; // new scope - number | boolean ->b : number | boolean ->x : number | boolean +>b : number | string | boolean +>x : number | string | boolean return typeof x === "boolean" >typeof x === "boolean" ? x.toString() // boolean : x.toString() : string >typeof x === "boolean" : boolean >typeof x : string ->x : number | boolean +>x : number | string | boolean >"boolean" : string ? x.toString() // boolean @@ -85,7 +85,7 @@ function foo2(x: number | string | boolean) { : x.toString(); // number >x.toString() : string >x.toString : (radix?: number) => string ->x : number +>x : number | string >toString : (radix?: number) => string } (x); // x here is narrowed to number | boolean @@ -111,14 +111,14 @@ function foo3(x: number | string | boolean) { >() => { var b = x; // new scope - number | boolean return typeof x === "boolean" ? x.toString() // boolean : x.toString(); // number } : () => string var b = x; // new scope - number | boolean ->b : number | boolean ->x : number | boolean +>b : number | string | boolean +>x : number | string | boolean return typeof x === "boolean" >typeof x === "boolean" ? x.toString() // boolean : x.toString() : string >typeof x === "boolean" : boolean >typeof x : string ->x : number | boolean +>x : number | string | boolean >"boolean" : string ? x.toString() // boolean @@ -130,7 +130,7 @@ function foo3(x: number | string | boolean) { : x.toString(); // number >x.toString() : string >x.toString : (radix?: number) => string ->x : number +>x : number | string >toString : (radix?: number) => string })(); @@ -156,14 +156,14 @@ function foo4(x: number | string | boolean) { >a : number | boolean var b = x; // new scope - number | boolean ->b : number | boolean ->x : number | boolean +>b : number | string | boolean +>x : number | string | boolean return typeof x === "boolean" >typeof x === "boolean" ? x.toString() // boolean : x.toString() : string >typeof x === "boolean" : boolean >typeof x : string ->x : number | boolean +>x : number | string | boolean >"boolean" : string ? x.toString() // boolean @@ -175,7 +175,7 @@ function foo4(x: number | string | boolean) { : x.toString(); // number >x.toString() : string >x.toString : (radix?: number) => string ->x : number +>x : number | string >toString : (radix?: number) => string })(x); // x here is narrowed to number | boolean @@ -200,8 +200,8 @@ function foo5(x: number | string | boolean) { >foo : () => void var z = x; // string ->z : string ->x : string +>z : number | string | boolean +>x : number | string | boolean } } } diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index d6c9602a450..ef4cfbb5b05 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -29,32 +29,32 @@ class C1 { >method : () => void strOrNum = typeof this.pp1 === "string" && this.pp1; // string | number ->strOrNum = typeof this.pp1 === "string" && this.pp1 : string | number +>strOrNum = typeof this.pp1 === "string" && this.pp1 : string >strOrNum : string | number ->typeof this.pp1 === "string" && this.pp1 : string | number +>typeof this.pp1 === "string" && this.pp1 : string >typeof this.pp1 === "string" : boolean >typeof this.pp1 : string >this.pp1 : string | number >this : this >pp1 : string | number >"string" : string ->this.pp1 : string | number +>this.pp1 : string >this : this ->pp1 : string | number +>pp1 : string strOrNum = typeof this.pp2 === "string" && this.pp2; // string | number ->strOrNum = typeof this.pp2 === "string" && this.pp2 : string | number +>strOrNum = typeof this.pp2 === "string" && this.pp2 : string >strOrNum : string | number ->typeof this.pp2 === "string" && this.pp2 : string | number +>typeof this.pp2 === "string" && this.pp2 : string >typeof this.pp2 === "string" : boolean >typeof this.pp2 : string >this.pp2 : string | number >this : this >pp2 : string | number >"string" : string ->this.pp2 : string | number +>this.pp2 : string >this : this ->pp2 : string | number +>pp2 : string strOrNum = typeof this.pp3 === "string" && this.pp3; // string | number >strOrNum = typeof this.pp3 === "string" && this.pp3 : string | number diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt b/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt deleted file mode 100644 index 660962ec1a7..00000000000 --- a/tests/baselines/reference/typeGuardsOnClassProperty.errors.txt +++ /dev/null @@ -1,34 +0,0 @@ -tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts(14,70): error TS2339: Property 'join' does not exist on type 'string | string[]'. - - -==== tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts (1 errors) ==== - // Note that type guards affect types of variables and parameters only and - // have no effect on members of objects such as properties. - - // Note that the class's property must be copied to a local variable for - // the type guard to have an effect - class D { - data: string | string[]; - getData() { - var data = this.data; - return typeof data === "string" ? data : data.join(" "); - } - - getData1() { - return typeof this.data === "string" ? this.data : this.data.join(" "); - ~~~~ -!!! error TS2339: Property 'join' does not exist on type 'string | string[]'. - } - } - - var o: { - prop1: number|string; - prop2: boolean|string; - } = { - prop1: "string" , - prop2: true - } - - if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} - var prop1 = o.prop1; - if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.symbols b/tests/baselines/reference/typeGuardsOnClassProperty.symbols new file mode 100644 index 00000000000..f82df71e46a --- /dev/null +++ b/tests/baselines/reference/typeGuardsOnClassProperty.symbols @@ -0,0 +1,86 @@ +=== tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts === +// Note that type guards affect types of variables and parameters only and +// have no effect on members of objects such as properties. + +// Note that the class's property must be copied to a local variable for +// the type guard to have an effect +class D { +>D : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) + + data: string | string[]; +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) + + getData() { +>getData : Symbol(getData, Decl(typeGuardsOnClassProperty.ts, 6, 28)) + + var data = this.data; +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) +>this.data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) + + return typeof data === "string" ? data : data.join(" "); +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) +>data.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) +>join : Symbol(Array.join, Decl(lib.d.ts, --, --)) + } + + getData1() { +>getData1 : Symbol(getData1, Decl(typeGuardsOnClassProperty.ts, 10, 5)) + + return typeof this.data === "string" ? this.data : this.data.join(" "); +>this.data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this.data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this.data.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>this.data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) +>data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) +>join : Symbol(Array.join, Decl(lib.d.ts, --, --)) + } +} + +var o: { +>o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) + + prop1: number|string; +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) + + prop2: boolean|string; +>prop2 : Symbol(prop2, Decl(typeGuardsOnClassProperty.ts, 18, 25)) + +} = { + prop1: "string" , +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 20, 5)) + + prop2: true +>prop2 : Symbol(prop2, Decl(typeGuardsOnClassProperty.ts, 21, 25)) + } + +if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} +>o.prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) +>o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) +>o.prop1.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>o.prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) +>o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) + +var prop1 = o.prop1; +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) +>o.prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) +>o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) + +if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) +>prop1.toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) +>prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) +>toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.types b/tests/baselines/reference/typeGuardsOnClassProperty.types new file mode 100644 index 00000000000..6d524ccf674 --- /dev/null +++ b/tests/baselines/reference/typeGuardsOnClassProperty.types @@ -0,0 +1,112 @@ +=== tests/cases/conformance/expressions/typeGuards/typeGuardsOnClassProperty.ts === +// Note that type guards affect types of variables and parameters only and +// have no effect on members of objects such as properties. + +// Note that the class's property must be copied to a local variable for +// the type guard to have an effect +class D { +>D : D + + data: string | string[]; +>data : string | string[] + + getData() { +>getData : () => string + + var data = this.data; +>data : string | string[] +>this.data : string | string[] +>this : this +>data : string | string[] + + return typeof data === "string" ? data : data.join(" "); +>typeof data === "string" ? data : data.join(" ") : string +>typeof data === "string" : boolean +>typeof data : string +>data : string | string[] +>"string" : string +>data : string +>data.join(" ") : string +>data.join : (separator?: string) => string +>data : string[] +>join : (separator?: string) => string +>" " : string + } + + getData1() { +>getData1 : () => string + + return typeof this.data === "string" ? this.data : this.data.join(" "); +>typeof this.data === "string" ? this.data : this.data.join(" ") : string +>typeof this.data === "string" : boolean +>typeof this.data : string +>this.data : string | string[] +>this : this +>data : string | string[] +>"string" : string +>this.data : string +>this : this +>data : string +>this.data.join(" ") : string +>this.data.join : (separator?: string) => string +>this.data : string[] +>this : this +>data : string[] +>join : (separator?: string) => string +>" " : string + } +} + +var o: { +>o : { prop1: number | string; prop2: boolean | string; } + + prop1: number|string; +>prop1 : number | string + + prop2: boolean|string; +>prop2 : boolean | string + +} = { +>{ prop1: "string" , prop2: true } : { prop1: string; prop2: boolean; } + + prop1: "string" , +>prop1 : string +>"string" : string + + prop2: true +>prop2 : boolean +>true : boolean + } + +if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} +>typeof o.prop1 === "string" && o.prop1.toLowerCase() : string +>typeof o.prop1 === "string" : boolean +>typeof o.prop1 : string +>o.prop1 : number | string +>o : { prop1: number | string; prop2: boolean | string; } +>prop1 : number | string +>"string" : string +>o.prop1.toLowerCase() : string +>o.prop1.toLowerCase : () => string +>o.prop1 : string +>o : { prop1: number | string; prop2: boolean | string; } +>prop1 : string +>toLowerCase : () => string + +var prop1 = o.prop1; +>prop1 : number | string +>o.prop1 : number | string +>o : { prop1: number | string; prop2: boolean | string; } +>prop1 : number | string + +if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } +>typeof prop1 === "string" && prop1.toLocaleLowerCase() : string +>typeof prop1 === "string" : boolean +>typeof prop1 : string +>prop1 : number | string +>"string" : string +>prop1.toLocaleLowerCase() : string +>prop1.toLocaleLowerCase : () => string +>prop1 : string +>toLocaleLowerCase : () => string + From 9c58875f416177335932e1ff9292119955443aec Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 11:27:20 -0800 Subject: [PATCH 205/342] Fix linting error --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f2a41ea5de8..52373640f57 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9576,7 +9576,7 @@ namespace ts { } function checkPropertyAccessExpressionOrQualifiedName(node: PropertyAccessExpression | QualifiedName, left: Expression | QualifiedName, right: Identifier) { - let type = checkNonNullExpression(left); + const type = checkNonNullExpression(left); if (isTypeAny(type)) { return type; } From 59d5df0a5664207d895353412f138c66c860f0d4 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Thu, 10 Mar 2016 10:26:53 -0800 Subject: [PATCH 206/342] AllowJS files in tsserver when no project is given (cherry picked from commit 16d76561603478a3f4648ee483892e7807e88c49) --- src/server/editorServices.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 71907735b91..42a2bded6a5 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1317,6 +1317,7 @@ namespace ts.server { else { const defaultOpts = ts.getDefaultCompilerOptions(); defaultOpts.allowNonTsExtensions = true; + defaultOpts.allowJs = true; this.setCompilerOptions(defaultOpts); } this.languageService = ts.createLanguageService(this.host, this.documentRegistry); From 4c641c4147a87c87c83eb4e47cccc1557f38e266 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 13:09:11 -0800 Subject: [PATCH 207/342] Add 'undefined' to type of parameter with default value in signature --- src/compiler/checker.ts | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 52373640f57..3511305e168 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5428,8 +5428,8 @@ namespace ts { const sourceParams = source.parameters; const targetParams = target.parameters; for (let i = 0; i < checkCount; i++) { - const s = i < sourceMax ? getTypeOfSymbol(sourceParams[i]) : getRestTypeOfSignature(source); - const t = i < targetMax ? getTypeOfSymbol(targetParams[i]) : getRestTypeOfSignature(target); + const s = i < sourceMax ? getTypeOfParameter(sourceParams[i]) : getRestTypeOfSignature(source); + const t = i < targetMax ? getTypeOfParameter(targetParams[i]) : getRestTypeOfSignature(target); const related = compareTypes(s, t, /*reportErrors*/ false) || compareTypes(t, s, reportErrors); if (!related) { if (reportErrors) { @@ -6409,8 +6409,8 @@ namespace ts { let result = Ternary.True; const targetLen = target.parameters.length; for (let i = 0; i < targetLen; i++) { - const s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]); - const t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]); + const s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfParameter(source.parameters[i]); + const t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfParameter(target.parameters[i]); const related = compareTypes(s, t); if (!related) { return Ternary.False; @@ -6777,8 +6777,8 @@ namespace ts { count = sourceMax < targetMax ? sourceMax : targetMax; } for (let i = 0; i < count; i++) { - const s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); - const t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); + const s = i < sourceMax ? getTypeOfParameter(source.parameters[i]) : getRestTypeOfSignature(source); + const t = i < targetMax ? getTypeOfParameter(target.parameters[i]) : getRestTypeOfSignature(target); callback(s, t); } } @@ -11023,10 +11023,21 @@ namespace ts { return getNonNullableType(checkExpression(node.expression)); } + function getTypeOfParameter(symbol: Symbol) { + const type = getTypeOfSymbol(symbol); + if (strictNullChecks) { + const declaration = symbol.valueDeclaration; + if (declaration && (declaration).initializer) { + return addNullableKind(type, TypeFlags.Undefined); + } + } + return type; + } + function getTypeAtPosition(signature: Signature, pos: number): Type { return signature.hasRestParameter ? - pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : - pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + pos < signature.parameters.length - 1 ? getTypeOfParameter(signature.parameters[pos]) : getRestTypeOfSignature(signature) : + pos < signature.parameters.length ? getTypeOfParameter(signature.parameters[pos]) : anyType; } function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { From f774ecf4ec1e86b83f251720467d8f4732bf244f Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 10 Mar 2016 14:30:42 -0800 Subject: [PATCH 208/342] Remove 'undefined' from type of binding element with non-undefined default value --- src/compiler/checker.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 3511305e168..10e4d50d930 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2678,6 +2678,11 @@ namespace ts { type = createArrayType(elementType); } } + // In strict null checking mode, if a default value of a non-undefined type is specified, remove + // undefined from the final type. + if (strictNullChecks && declaration.initializer && !(getNullableKind(checkExpressionCached(declaration.initializer)) & TypeFlags.Undefined)) { + type = removeNullableKind(type, TypeFlags.Undefined); + } return type; } From a75a02cc7b206fe4643d518d9903e036d8c172ae Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 10 Mar 2016 16:59:56 -0800 Subject: [PATCH 209/342] Fix issue writing too many files asynchronuslly --- scripts/ior.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/ior.ts b/scripts/ior.ts index f0c142a266c..eb67e62a275 100644 --- a/scripts/ior.ts +++ b/scripts/ior.ts @@ -76,8 +76,11 @@ module Commands { fs.mkdirSync(directoryPath); } } + function normalizeSlashes(path: string): string { + return path.replace(/\\/g, "/"); + } function transalatePath(outputFolder:string, path: string): string { - return outputFolder + directorySeparator + path.replace(":", ""); + return normalizeSlashes(outputFolder + directorySeparator + path.replace(":", "")); } function fileExists(path: string): boolean { return fs.existsSync(path); @@ -86,7 +89,7 @@ module Commands { var filename = transalatePath(outputFolder, f.path); ensureDirectoriesExist(getDirectoryPath(filename)); console.log("writing filename: " + filename); - fs.writeFile(filename, f.result.contents, (err) => { }); + fs.writeFileSync(filename, f.result.contents); }); console.log("Command: tsc "); From 1032cc54089c48025e361f91303942b9b7a54122 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Fri, 11 Mar 2016 13:24:31 -0800 Subject: [PATCH 210/342] Rename --strictThis to --strictThisChecks Use the upcoming naming scheme for --strict.*Checks and --strictChecks flags. --- src/compiler/binder.ts | 2 +- src/compiler/checker.ts | 4 ++-- src/compiler/commandLineParser.ts | 2 +- src/compiler/types.ts | 2 +- tests/baselines/reference/thisTypeInFunctions.js | 3 ++- tests/cases/conformance/types/thisType/thisTypeInFunctions.ts | 4 ++-- .../conformance/types/thisType/thisTypeInFunctionsNegative.ts | 2 +- .../conformance/types/thisType/unionThisTypeInFunctions.ts | 2 +- tests/cases/fourslash/memberListOnExplicitThis.ts | 2 +- tests/cases/fourslash/quickInfoOnThis.ts | 4 ++-- 10 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 10183f9a63f..7ae21a6338e 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1307,7 +1307,7 @@ namespace ts { // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. - if (options.strictThis) { + if (options.strictThisChecks) { seenThisKeyword = true; } return bindPropertyOrMethodOrAccessor(node, SymbolFlags.Method | ((node).questionToken ? SymbolFlags.Optional : SymbolFlags.None), diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4a1299196f1..5017f0dcd2c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3520,7 +3520,7 @@ namespace ts { return isIndependentVariableLikeDeclaration(declaration); case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: - return compilerOptions.strictThis ? false : isIndependentFunctionLikeDeclaration(declaration); + return compilerOptions.strictThisChecks ? false : isIndependentFunctionLikeDeclaration(declaration); case SyntaxKind.Constructor: return isIndependentFunctionLikeDeclaration(declaration); } @@ -4234,7 +4234,7 @@ namespace ts { if (minArgumentCount < 0) { minArgumentCount = declaration.parameters.length - (hasThisParameter ? 1 : 0); } - if (!hasThisParameter && compilerOptions.strictThis) { + if (!hasThisParameter && compilerOptions.strictThisChecks) { if (declaration.kind === SyntaxKind.FunctionDeclaration || declaration.kind === SyntaxKind.CallSignature || declaration.kind == SyntaxKind.FunctionExpression || diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 01d18d3a755..f6e1d9b48d7 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -138,7 +138,7 @@ namespace ts { type: "boolean", }, { - name: "strictThis", + name: "strictThisChecks", type: "boolean", }, { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 4d12e0bce99..dfa1b54e428 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2407,7 +2407,7 @@ namespace ts { rootDir?: string; sourceMap?: boolean; sourceRoot?: string; - strictThis?: boolean; + strictThisChecks?: boolean; suppressExcessPropertyErrors?: boolean; suppressImplicitAnyIndexErrors?: boolean; target?: ScriptTarget; diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js index 8d34f9bc2cf..e963dad60f7 100644 --- a/tests/baselines/reference/thisTypeInFunctions.js +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -206,7 +206,8 @@ declare var f: { }; let n: number = f.call(12); -function missingTypeIsImplicitAny(this, a: number) { return a; } +function missingTypeIsImplicitAny(this, a: number) { return a; } + //// [thisTypeInFunctions.js] var __extends = (this && this.__extends) || function (d, b) { diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts index 8676d12c5ab..3a1de178eea 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -1,4 +1,4 @@ -// @strictThis: true +// @strictThisChecks: true // body checking class B { n: number; @@ -206,4 +206,4 @@ declare var f: { }; let n: number = f.call(12); -function missingTypeIsImplicitAny(this, a: number) { return a; } \ No newline at end of file +function missingTypeIsImplicitAny(this, a: number) { return a; } diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts index 3afc5a5c69b..bec0b9ab434 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts @@ -1,4 +1,4 @@ -// @strictThis: true +// @strictThisChecks: true class C { n: number; explicitThis(this: this, m: number): number { diff --git a/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts index a140c3fba95..c0a55f138ce 100644 --- a/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/unionThisTypeInFunctions.ts @@ -1,4 +1,4 @@ -// @strictThis: true +// @strictThisChecks: true interface Real { method(n: number): void; data: string; diff --git a/tests/cases/fourslash/memberListOnExplicitThis.ts b/tests/cases/fourslash/memberListOnExplicitThis.ts index cf57717183c..207ec8796fa 100644 --- a/tests/cases/fourslash/memberListOnExplicitThis.ts +++ b/tests/cases/fourslash/memberListOnExplicitThis.ts @@ -1,4 +1,4 @@ -// @strictThis: true +// @strictThisChecks: true /// ////interface Restricted { diff --git a/tests/cases/fourslash/quickInfoOnThis.ts b/tests/cases/fourslash/quickInfoOnThis.ts index 57bbb6c5a3e..bfed13ea89c 100644 --- a/tests/cases/fourslash/quickInfoOnThis.ts +++ b/tests/cases/fourslash/quickInfoOnThis.ts @@ -1,4 +1,4 @@ -// @strictThis: true +// @strictThisChecks: true /// ////interface Restricted { //// n: number; @@ -93,4 +93,4 @@ verify.quickInfoIs('this: {\n n: number;\n}'); goTo.marker('16'); verify.quickInfoIs('this: ContextualInterface'); goTo.marker('17'); -verify.quickInfoIs('(parameter) this: void'); \ No newline at end of file +verify.quickInfoIs('(parameter) this: void'); From cde06b65858650ed6002e3bbc6ea92cfb42aed62 Mon Sep 17 00:00:00 2001 From: Anil Anar Date: Sun, 6 Mar 2016 16:08:37 +0100 Subject: [PATCH 211/342] Fix #7397: Remove error checks for noEmit and out* compiler options combined. --- src/compiler/program.ts | 19 +------------------ ...ompilerOptionsDeclarationAndNoEmit.symbols | 6 ++++++ .../compilerOptionsDeclarationAndNoEmit.types | 6 ++++++ .../compilerOptionsOutAndNoEmit.symbols | 6 ++++++ .../compilerOptionsOutAndNoEmit.types | 6 ++++++ .../compilerOptionsOutDirAndNoEmit.symbols | 6 ++++++ .../compilerOptionsOutDirAndNoEmit.types | 6 ++++++ .../compilerOptionsOutFileAndNoEmit.symbols | 6 ++++++ .../compilerOptionsOutFileAndNoEmit.types | 6 ++++++ .../compilerOptionsDeclarationAndNoEmit.ts | 6 ++++++ .../compiler/compilerOptionsOutAndNoEmit.ts | 6 ++++++ .../compilerOptionsOutDirAndNoEmit.ts | 6 ++++++ .../compilerOptionsOutFileAndNoEmit.ts | 6 ++++++ 13 files changed, 73 insertions(+), 18 deletions(-) create mode 100644 tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.symbols create mode 100644 tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.types create mode 100644 tests/baselines/reference/compilerOptionsOutAndNoEmit.symbols create mode 100644 tests/baselines/reference/compilerOptionsOutAndNoEmit.types create mode 100644 tests/baselines/reference/compilerOptionsOutDirAndNoEmit.symbols create mode 100644 tests/baselines/reference/compilerOptionsOutDirAndNoEmit.types create mode 100644 tests/baselines/reference/compilerOptionsOutFileAndNoEmit.symbols create mode 100644 tests/baselines/reference/compilerOptionsOutFileAndNoEmit.types create mode 100644 tests/cases/compiler/compilerOptionsDeclarationAndNoEmit.ts create mode 100644 tests/cases/compiler/compilerOptionsOutAndNoEmit.ts create mode 100644 tests/cases/compiler/compilerOptionsOutDirAndNoEmit.ts create mode 100644 tests/cases/compiler/compilerOptionsOutFileAndNoEmit.ts diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 495fbde5a99..60ec5cb4294 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1746,24 +1746,7 @@ namespace ts { } } - if (options.noEmit) { - if (options.out) { - programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out")); - } - - if (options.outFile) { - programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile")); - } - - if (options.outDir) { - programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir")); - } - - if (options.declaration) { - programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration")); - } - } - else if (options.allowJs && options.declaration) { + if (options.allowJs && options.declaration) { programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "declaration")); } diff --git a/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.symbols b/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.symbols new file mode 100644 index 00000000000..4448defa95e --- /dev/null +++ b/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : Symbol(c, Decl(a.ts, 0, 0)) +} + diff --git a/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.types b/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.types new file mode 100644 index 00000000000..6f5caf9d48b --- /dev/null +++ b/tests/baselines/reference/compilerOptionsDeclarationAndNoEmit.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : c +} + diff --git a/tests/baselines/reference/compilerOptionsOutAndNoEmit.symbols b/tests/baselines/reference/compilerOptionsOutAndNoEmit.symbols new file mode 100644 index 00000000000..4448defa95e --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutAndNoEmit.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : Symbol(c, Decl(a.ts, 0, 0)) +} + diff --git a/tests/baselines/reference/compilerOptionsOutAndNoEmit.types b/tests/baselines/reference/compilerOptionsOutAndNoEmit.types new file mode 100644 index 00000000000..6f5caf9d48b --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutAndNoEmit.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : c +} + diff --git a/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.symbols b/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.symbols new file mode 100644 index 00000000000..4448defa95e --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : Symbol(c, Decl(a.ts, 0, 0)) +} + diff --git a/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.types b/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.types new file mode 100644 index 00000000000..6f5caf9d48b --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutDirAndNoEmit.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : c +} + diff --git a/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.symbols b/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.symbols new file mode 100644 index 00000000000..4448defa95e --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : Symbol(c, Decl(a.ts, 0, 0)) +} + diff --git a/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.types b/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.types new file mode 100644 index 00000000000..6f5caf9d48b --- /dev/null +++ b/tests/baselines/reference/compilerOptionsOutFileAndNoEmit.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/a.ts === + +class c { +>c : c +} + diff --git a/tests/cases/compiler/compilerOptionsDeclarationAndNoEmit.ts b/tests/cases/compiler/compilerOptionsDeclarationAndNoEmit.ts new file mode 100644 index 00000000000..41a89011020 --- /dev/null +++ b/tests/cases/compiler/compilerOptionsDeclarationAndNoEmit.ts @@ -0,0 +1,6 @@ +// @declaration: true +// @noEmit: true +// @fileName: a.ts + +class c { +} diff --git a/tests/cases/compiler/compilerOptionsOutAndNoEmit.ts b/tests/cases/compiler/compilerOptionsOutAndNoEmit.ts new file mode 100644 index 00000000000..126043826bd --- /dev/null +++ b/tests/cases/compiler/compilerOptionsOutAndNoEmit.ts @@ -0,0 +1,6 @@ +// @out: outDir +// @noEmit: true +// @fileName: a.ts + +class c { +} diff --git a/tests/cases/compiler/compilerOptionsOutDirAndNoEmit.ts b/tests/cases/compiler/compilerOptionsOutDirAndNoEmit.ts new file mode 100644 index 00000000000..fb701a52661 --- /dev/null +++ b/tests/cases/compiler/compilerOptionsOutDirAndNoEmit.ts @@ -0,0 +1,6 @@ +// @outDir: outDir +// @noEmit: true +// @fileName: a.ts + +class c { +} diff --git a/tests/cases/compiler/compilerOptionsOutFileAndNoEmit.ts b/tests/cases/compiler/compilerOptionsOutFileAndNoEmit.ts new file mode 100644 index 00000000000..2e75c0a976f --- /dev/null +++ b/tests/cases/compiler/compilerOptionsOutFileAndNoEmit.ts @@ -0,0 +1,6 @@ +// @outFile: a.js +// @noEmit: true +// @fileName: a.ts + +class c { +} From 8e35cdd52cda9156d642a5a1de43c97ad6b99061 Mon Sep 17 00:00:00 2001 From: Anil Anar Date: Sat, 12 Mar 2016 21:14:00 +0100 Subject: [PATCH 212/342] add missing conditional check --- src/compiler/program.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 60ec5cb4294..c0f769078e0 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1746,7 +1746,7 @@ namespace ts { } } - if (options.allowJs && options.declaration) { + if (!options.noEmit && options.allowJs && options.declaration) { programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "declaration")); } From e0a79bcd63d3d86f5502b30c4702d61c6ca77005 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Sun, 13 Mar 2016 15:31:55 -0700 Subject: [PATCH 213/342] don't check that return statement has expression in constructors --- src/compiler/checker.ts | 2 +- .../reference/noImplicitReturnInConstructors.js | 14 ++++++++++++++ .../noImplicitReturnInConstructors.symbols | 8 ++++++++ .../reference/noImplicitReturnInConstructors.types | 8 ++++++++ .../compiler/noImplicitReturnInConstructors.ts | 6 ++++++ 5 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/noImplicitReturnInConstructors.js create mode 100644 tests/baselines/reference/noImplicitReturnInConstructors.symbols create mode 100644 tests/baselines/reference/noImplicitReturnInConstructors.types create mode 100644 tests/cases/compiler/noImplicitReturnInConstructors.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cbda24e6a6e..09672f5c09c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13965,7 +13965,7 @@ namespace ts { } } } - else if (compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType)) { + else if (func.kind !== SyntaxKind.Constructor && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType)) { // The function has a return type, but the return statement doesn't have an expression. error(node, Diagnostics.Not_all_code_paths_return_a_value); } diff --git a/tests/baselines/reference/noImplicitReturnInConstructors.js b/tests/baselines/reference/noImplicitReturnInConstructors.js new file mode 100644 index 00000000000..f1c4c8caa60 --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnInConstructors.js @@ -0,0 +1,14 @@ +//// [noImplicitReturnInConstructors.ts] +class C { + constructor() { + return; + } +} + +//// [noImplicitReturnInConstructors.js] +var C = (function () { + function C() { + return; + } + return C; +}()); diff --git a/tests/baselines/reference/noImplicitReturnInConstructors.symbols b/tests/baselines/reference/noImplicitReturnInConstructors.symbols new file mode 100644 index 00000000000..326a390ead8 --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnInConstructors.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/noImplicitReturnInConstructors.ts === +class C { +>C : Symbol(C, Decl(noImplicitReturnInConstructors.ts, 0, 0)) + + constructor() { + return; + } +} diff --git a/tests/baselines/reference/noImplicitReturnInConstructors.types b/tests/baselines/reference/noImplicitReturnInConstructors.types new file mode 100644 index 00000000000..304c7b5db50 --- /dev/null +++ b/tests/baselines/reference/noImplicitReturnInConstructors.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/noImplicitReturnInConstructors.ts === +class C { +>C : C + + constructor() { + return; + } +} diff --git a/tests/cases/compiler/noImplicitReturnInConstructors.ts b/tests/cases/compiler/noImplicitReturnInConstructors.ts new file mode 100644 index 00000000000..ac6f5145318 --- /dev/null +++ b/tests/cases/compiler/noImplicitReturnInConstructors.ts @@ -0,0 +1,6 @@ +// @noImplicitReturns: true +class C { + constructor() { + return; + } +} \ No newline at end of file From 2b2092b1a22e6c3e8c341b56b670c3ad7c5e4d59 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 14 Mar 2016 13:30:38 -0700 Subject: [PATCH 214/342] find module augmentations in preprocessor --- src/services/services.ts | 144 ++++++++---- .../unittests/services/preProcessFile.ts | 205 ++++++++++++++++-- 2 files changed, 282 insertions(+), 67 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index a562ecf18cf..1c079b84027 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2147,8 +2147,23 @@ namespace ts { export function preProcessFile(sourceText: string, readImportFiles = true, detectJavaScriptImports = false): PreProcessedFileInfo { const referencedFiles: FileReference[] = []; const importedFiles: FileReference[] = []; - let ambientExternalModules: string[]; + let ambientExternalModules: { ref: FileReference, depth: number }[]; let isNoDefaultLib = false; + let braceNesting = 0; + // assume that text represent an external module if it contains at least one top level import/export + // ambient modules that are found inside external modules are interpreted as module augmentations + let externalModule = false; + + function nextToken() { + const token = scanner.scan(); + if (token === SyntaxKind.OpenBraceToken) { + braceNesting++; + } + else if (token === SyntaxKind.CloseBraceToken) { + braceNesting--; + } + return token; + } function processTripleSlashDirectives(): void { const commentRanges = getLeadingCommentRanges(sourceText, 0); @@ -2165,21 +2180,33 @@ namespace ts { }); } + function getFileReference() { + const file = scanner.getTokenValue(); + const pos = scanner.getTokenPos(); + return { + fileName: file, + pos: pos, + end: pos + file.length + }; + } + function recordAmbientExternalModule(): void { if (!ambientExternalModules) { ambientExternalModules = []; } - ambientExternalModules.push(scanner.getTokenValue()); + ambientExternalModules.push({ ref: getFileReference(), depth: braceNesting }); } function recordModuleName() { - const importPath = scanner.getTokenValue(); - const pos = scanner.getTokenPos(); - importedFiles.push({ - fileName: importPath, - pos: pos, - end: pos + importPath.length - }); + importedFiles.push(getFileReference()); + + markAsExternalModuleIfTopLevel(); + } + + function markAsExternalModuleIfTopLevel() { + if (braceNesting === 0) { + externalModule = true; + } } /** @@ -2189,9 +2216,9 @@ namespace ts { let token = scanner.getToken(); if (token === SyntaxKind.DeclareKeyword) { // declare module "mod" - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.ModuleKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { recordAmbientExternalModule(); } @@ -2208,7 +2235,8 @@ namespace ts { function tryConsumeImport(): boolean { let token = scanner.getToken(); if (token === SyntaxKind.ImportKeyword) { - token = scanner.scan(); + + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // import "mod"; recordModuleName(); @@ -2216,9 +2244,9 @@ namespace ts { } else { if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.FromKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // import d from "mod"; recordModuleName(); @@ -2232,7 +2260,7 @@ namespace ts { } else if (token === SyntaxKind.CommaToken) { // consume comma and keep going - token = scanner.scan(); + token = nextToken(); } else { // unknown syntax @@ -2241,17 +2269,17 @@ namespace ts { } if (token === SyntaxKind.OpenBraceToken) { - token = scanner.scan(); + token = nextToken(); // consume "{ a as B, c, d as D}" clauses // make sure that it stops on EOF while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { - token = scanner.scan(); + token = nextToken(); } if (token === SyntaxKind.CloseBraceToken) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.FromKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // import {a as A} from "mod"; // import d, {a, b as B} from "mod" @@ -2261,13 +2289,13 @@ namespace ts { } } else if (token === SyntaxKind.AsteriskToken) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.AsKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.FromKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // import * as NS from "mod" // import d, * as NS from "mod" @@ -2288,19 +2316,20 @@ namespace ts { function tryConsumeExport(): boolean { let token = scanner.getToken(); if (token === SyntaxKind.ExportKeyword) { - token = scanner.scan(); + markAsExternalModuleIfTopLevel(); + token = nextToken(); if (token === SyntaxKind.OpenBraceToken) { - token = scanner.scan(); + token = nextToken(); // consume "{ a as B, c, d as D}" clauses // make sure it stops on EOF while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { - token = scanner.scan(); + token = nextToken(); } if (token === SyntaxKind.CloseBraceToken) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.FromKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // export {a as A} from "mod"; // export {a, b as B} from "mod" @@ -2310,9 +2339,9 @@ namespace ts { } } else if (token === SyntaxKind.AsteriskToken) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.FromKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // export * from "mod" recordModuleName(); @@ -2320,9 +2349,9 @@ namespace ts { } } else if (token === SyntaxKind.ImportKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.EqualsToken) { if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { return true; @@ -2338,11 +2367,11 @@ namespace ts { } function tryConsumeRequireCall(skipCurrentToken: boolean): boolean { - let token = skipCurrentToken ? scanner.scan() : scanner.getToken(); + let token = skipCurrentToken ? nextToken() : scanner.getToken(); if (token === SyntaxKind.RequireKeyword) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.OpenParenToken) { - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // require("mod"); recordModuleName(); @@ -2356,17 +2385,17 @@ namespace ts { function tryConsumeDefine(): boolean { let token = scanner.getToken(); if (token === SyntaxKind.Identifier && scanner.getTokenValue() === "define") { - token = scanner.scan(); + token = nextToken(); if (token !== SyntaxKind.OpenParenToken) { return true; } - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.StringLiteral) { // looks like define ("modname", ... - skip string literal and comma - token = scanner.scan(); + token = nextToken(); if (token === SyntaxKind.CommaToken) { - token = scanner.scan(); + token = nextToken(); } else { // unexpected token @@ -2380,7 +2409,7 @@ namespace ts { } // skip open bracket - token = scanner.scan(); + token = nextToken(); let i = 0; // scan until ']' or EOF while (token !== SyntaxKind.CloseBracketToken && token !== SyntaxKind.EndOfFileToken) { @@ -2390,7 +2419,7 @@ namespace ts { i++; } - token = scanner.scan(); + token = nextToken(); } return true; @@ -2400,7 +2429,7 @@ namespace ts { function processImports(): void { scanner.setText(sourceText); - scanner.scan(); + nextToken(); // Look for: // import "mod"; // import d from "mod" @@ -2427,7 +2456,7 @@ namespace ts { continue; } else { - scanner.scan(); + nextToken(); } } @@ -2438,7 +2467,34 @@ namespace ts { processImports(); } processTripleSlashDirectives(); - return { referencedFiles, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules }; + if (externalModule) { + // for external modules module all nested ambient modules are augmentations + if (ambientExternalModules) { + // move all detected ambient modules to imported files since they need to be resolved + for (const decl of ambientExternalModules) { + importedFiles.push(decl.ref); + } + } + return { referencedFiles, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: undefined }; + } + else { + // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 + let ambientModuleNames: string[]; + if (ambientExternalModules) { + for (const decl of ambientExternalModules) { + if (decl.depth === 0) { + if (!ambientModuleNames) { + ambientModuleNames = []; + } + ambientModuleNames.push(decl.ref.fileName); + } + else { + importedFiles.push(decl.ref); + } + } + } + return { referencedFiles, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: ambientModuleNames }; + } } /// Helpers diff --git a/tests/cases/unittests/services/preProcessFile.ts b/tests/cases/unittests/services/preProcessFile.ts index d9ddaf0f256..a648a3c4b26 100644 --- a/tests/cases/unittests/services/preProcessFile.ts +++ b/tests/cases/unittests/services/preProcessFile.ts @@ -1,6 +1,10 @@ /// /// +declare namespace chai.assert { + function deepEqual(actual: any, expected: any): void; +} + describe('PreProcessFile:', function () { function test(sourceText: string, readImportFile: boolean, detectJavaScriptImports: boolean, expectedPreProcess: ts.PreProcessedFileInfo): void { var resultPreProcess = ts.preProcessFile(sourceText, readImportFile, detectJavaScriptImports); @@ -15,34 +19,30 @@ describe('PreProcessFile:', function () { assert.equal(resultIsLibFile, expectedIsLibFile, "Pre-processed file has different value for isLibFile. Expected: " + expectedPreProcess + ". Actual: " + resultIsLibFile); - assert.equal(resultImportedFiles.length, expectedImportedFiles.length, - "Array's length of imported files does not match expected. Expected: " + expectedImportedFiles.length + ". Actual: " + resultImportedFiles.length); + checkFileReferenceList("Imported files", expectedImportedFiles, resultImportedFiles); + checkFileReferenceList("Referenced files", expectedReferencedFiles, resultReferencedFiles); - assert.equal(resultReferencedFiles.length, expectedReferencedFiles.length, - "Array's length of referenced files does not match expected. Expected: " + expectedReferencedFiles.length + ". Actual: " + resultReferencedFiles.length); + assert.deepEqual(resultPreProcess.ambientExternalModules, expectedPreProcess.ambientExternalModules); + } - for (var i = 0; i < expectedImportedFiles.length; ++i) { - var resultImportedFile = resultImportedFiles[i]; - var expectedImportedFile = expectedImportedFiles[i]; - - assert.equal(resultImportedFile.fileName, expectedImportedFile.fileName, "Imported file path does not match expected. Expected: " + expectedImportedFile.fileName + ". Actual: " + resultImportedFile.fileName + "."); - - assert.equal(resultImportedFile.pos, expectedImportedFile.pos, "Imported file position does not match expected. Expected: " + expectedImportedFile.pos + ". Actual: " + resultImportedFile.pos + "."); - - assert.equal(resultImportedFile.end, expectedImportedFile.end, "Imported file length does not match expected. Expected: " + expectedImportedFile.end + ". Actual: " + resultImportedFile.end + "."); + function checkFileReferenceList(kind: string, expected: ts.FileReference[], actual: ts.FileReference[]) { + if (expected === actual) { + return; } + if (!expected) { + assert.isTrue(false, `Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`); + } + assert.equal(actual.length, expected.length, `[${kind}] Actual array's length does not match expected length. Expected files: ${JSON.stringify(expected)}, actual files: ${JSON.stringify(actual)}`); - for (var i = 0; i < expectedReferencedFiles.length; ++i) { - var resultReferencedFile = resultReferencedFiles[i]; - var expectedReferencedFile = expectedReferencedFiles[i]; - - assert.equal(resultReferencedFile.fileName, expectedReferencedFile.fileName, "Referenced file path does not match expected. Expected: " + expectedReferencedFile.fileName + ". Actual: " + resultReferencedFile.fileName + "."); - - assert.equal(resultReferencedFile.pos, expectedReferencedFile.pos, "Referenced file position does not match expected. Expected: " + expectedReferencedFile.pos + ". Actual: " + resultReferencedFile.pos + "."); - - assert.equal(resultReferencedFile.end, expectedReferencedFile.end, "Referenced file length does not match expected. Expected: " + expectedReferencedFile.end + ". Actual: " + resultReferencedFile.end + "."); + for (var i = 0; i < expected.length; ++i) { + var actualReference = actual[i]; + var expectedReference = expected[i]; + assert.equal(actualReference.fileName, expectedReference.fileName, `[${kind}] actual file path does not match expected. Expected: "${expectedReference.fileName}". Actual: "${actualReference.fileName}".`); + assert.equal(actualReference.pos, expectedReference.pos, `[${kind}] actual file start position does not match expected. Expected: "${expectedReference.pos}". Actual: "${actualReference.pos}".`); + assert.equal(actualReference.end, expectedReference.end, `[${kind}] actual file end pos does not match expected. Expected: "${expectedReference.end}". Actual: "${actualReference.end}".`); } } + describe("Test preProcessFiles,", function () { it("Correctly return referenced files from triple slash", function () { test("///" + "\n" + "///" + "\n" + "///" + "\n" + "///", @@ -183,7 +183,7 @@ describe('PreProcessFile:', function () { function foo() { } `, - /* readImports */ false, + /* readImports */ true, /* detectJavaScriptImports */ false, { @@ -262,6 +262,165 @@ describe('PreProcessFile:', function () { isLibFile: false }) }); + it("correctly handles augmentations in external modules - 1", () => { + test(` + declare module "../Observable" { + interface I {} + } + + export {} + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it("correctly handles augmentations in external modules - 2", () => { + test(` + declare module "../Observable" { + interface I {} + } + + import * as x from "m"; + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "m", "pos": 135, "end": 136 }, + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it("correctly handles augmentations in external modules - 3", () => { + test(` + declare module "../Observable" { + interface I {} + } + + import m = require("m"); + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "m", "pos": 135, "end": 136 }, + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it("correctly handles augmentations in external modules - 4", () => { + test(` + declare module "../Observable" { + interface I {} + } + namespace N {} + export = N; + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it("correctly handles augmentations in external modules - 5", () => { + test(` + declare module "../Observable" { + interface I {} + } + namespace N {} + export import IN = N; + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it("correctly handles augmentations in external modules - 6", () => { + test(` + declare module "../Observable" { + interface I {} + } + export let x = 1; + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "../Observable", "pos": 28, "end": 41 } + ], + ambientExternalModules: undefined, + isLibFile: false + }) + }); + it ("correctly handles augmentations in ambient external modules - 1", () => { + test(` + declare module "m1" { + export * from "m2"; + declare module "augmentation" { + interface I {} + } + } + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "m2", "pos": 65, "end": 67 }, + { "fileName": "augmentation", "pos": 102, "end": 114 } + ], + ambientExternalModules: ["m1"], + isLibFile: false + }); + }); + it ("correctly handles augmentations in ambient external modules - 2", () => { + test(` + namespace M { var x; } + import IM = M; + declare module "m1" { + export * from "m2"; + declare module "augmentation" { + interface I {} + } + } + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [], + importedFiles: [ + { "fileName": "m2", "pos": 127, "end": 129 }, + { "fileName": "augmentation", "pos": 164, "end": 176 } + ], + ambientExternalModules: ["m1"], + isLibFile: false + }); + }); }); }); From 3adab0cec3f6139e6513796282d333a1ef312bfe Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 9 Mar 2016 16:35:01 -0800 Subject: [PATCH 215/342] revert --- src/compiler/commandLineParser.ts | 82 +++++++++++++++++-------------- src/compiler/types.ts | 9 +++- 2 files changed, 53 insertions(+), 38 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index cf55f030c33..c0912394491 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -267,6 +267,16 @@ namespace ts { description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, }, + { + name: "list", + elementType: { + "node": ModuleResolutionKind.NodeJs, + "classic": ModuleResolutionKind.Classic, + }, + type: "list", + description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, + error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, + }, { name: "allowUnusedLabels", type: "boolean", @@ -391,42 +401,7 @@ namespace ts { } if (hasProperty(optionNameMap, s)) { - const opt = optionNameMap[s]; - - if (opt.isTSConfigOnly) { - errors.push(createCompilerDiagnostic(Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file, opt.name)); - } - else { - // Check to see if no argument was provided (e.g. "--locale" is the last command-line argument). - if (!args[i] && opt.type !== "boolean") { - errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); - } - - switch (opt.type) { - case "number": - options[opt.name] = parseInt(args[i]); - i++; - break; - case "boolean": - options[opt.name] = true; - break; - case "string": - options[opt.name] = args[i] || ""; - i++; - break; - // If not a primitive, the possible types are specified in what is effectively a map of options. - default: - let map = >opt.type; - let key = (args[i] || "").toLowerCase(); - i++; - if (hasProperty(map, key)) { - options[opt.name] = map[key]; - } - else { - errors.push(createCompilerDiagnostic((opt).error)); - } - } - } + parseString(optionNameMap[s], args[i]); } else { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_compiler_option_0, s)); @@ -436,6 +411,41 @@ namespace ts { fileNames.push(s); } } + + function parseString(opt: CommandLineOption, value: string) { + // Check to see if no argument was provided (e.g. "--locale" is the last command-line argument). + if (!value && opt.type !== "boolean") { + errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); + } + + switch (opt.type) { + case "number": + options[opt.name] = parseInt(value); + i++; + break; + case "boolean": + options[opt.name] = true; + break; + case "string": + options[opt.name] = value || ""; + i++; + break; + case "list": + forEach((value || "").split(","), s => parseString(opt.name, opti ); + break; + // If not a primitive, the possible types are specified in what is effectively a map of options. + default: + let map = >opt.type; + let key = (value || "").toLowerCase(); + i++; + if (hasProperty(map, key)) { + options[opt.name] = map[key]; + } + else { + errors.push(createCompilerDiagnostic((opt).error)); + } + } + } } function parseResponseFile(fileName: string) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 155f5c1a77f..6273ea990df 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2529,7 +2529,7 @@ namespace ts { /* @internal */ export interface CommandLineOptionBase { name: string; - type: "string" | "number" | "boolean" | "object" | Map; // a value of a primitive type, or an object literal mapping named values to actual values + type: "string" | "number" | "boolean" | "object" | "list" | Map; // a value of a primitive type, or an object literal mapping named values to actual values isFilePath?: boolean; // True if option value is a path or fileName shortName?: string; // A short mnemonic for convenience - for instance, 'h' can be used in place of 'help' description?: DiagnosticMessage; // The message describing what the command line switch does @@ -2554,8 +2554,13 @@ namespace ts { type: "object"; } + export interface CommandlineOptionOfListType extends CommandLineOptionBase { + type: "list", + elementType: Map | "string" | "number"; + } + /* @internal */ - export type CommandLineOption = CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType | TsConfigOnlyOption; + export type CommandLineOption = CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType | TsConfigOnlyOption | CommandlineOptionOfListType; /* @internal */ export const enum CharacterCodes { From b1bef15a1e05587f7b6a3471003ad2b773453b1f Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 14 Mar 2016 15:11:27 -0700 Subject: [PATCH 216/342] Removing 'T?' type notation (use 'T | null | undefined' instead) --- src/compiler/checker.ts | 24 +----------------------- src/compiler/parser.ts | 23 ++++++----------------- src/compiler/types.ts | 9 +-------- 3 files changed, 8 insertions(+), 48 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 10e4d50d930..5360cb558f8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2414,7 +2414,6 @@ namespace ts { case SyntaxKind.UnionType: case SyntaxKind.IntersectionType: case SyntaxKind.ParenthesizedType: - case SyntaxKind.NullableType: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible @@ -4779,14 +4778,6 @@ namespace ts { return links.resolvedType; } - function getTypeFromNullableTypeNode(node: NullableTypeNode): Type { - const links = getNodeLinks(node); - if (!links.resolvedType) { - links.resolvedType = getNullableType(getTypeFromTypeNode(node.type)); - } - return links.resolvedType; - } - interface TypeSet extends Array { containsAny?: boolean; containsUndefined?: boolean; @@ -5029,8 +5020,6 @@ namespace ts { return getTypeFromUnionTypeNode(node); case SyntaxKind.IntersectionType: return getTypeFromIntersectionTypeNode(node); - case SyntaxKind.NullableType: - return getTypeFromNullableTypeNode(node); case SyntaxKind.ParenthesizedType: case SyntaxKind.JSDocNullableType: case SyntaxKind.JSDocNonNullableType: @@ -6546,16 +6535,6 @@ namespace ts { return getNullableKind(type) === TypeFlags.Nullable; } - function getNullableType(type: Type): Type { - if (!strictNullChecks) { - return type; - } - if (!type.nullableType) { - type.nullableType = isNullableType(type) ? type : getUnionType([type, undefinedType, nullType]); - } - return type.nullableType; - } - function addNullableKind(type: Type, kind: TypeFlags): Type { if ((getNullableKind(type) & kind) !== kind) { const types = [type]; @@ -15792,8 +15771,7 @@ namespace ts { case SyntaxKind.IntersectionType: return checkUnionOrIntersectionType(node); case SyntaxKind.ParenthesizedType: - case SyntaxKind.NullableType: - return checkSourceElement((node).type); + return checkSourceElement((node).type); case SyntaxKind.FunctionDeclaration: return checkFunctionDeclaration(node); case SyntaxKind.Block: diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 0ff1dafc78b..a08c5755a3f 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -127,8 +127,7 @@ namespace ts { case SyntaxKind.IntersectionType: return visitNodes(cbNodes, (node).types); case SyntaxKind.ParenthesizedType: - case SyntaxKind.NullableType: - return visitNode(cbNode, (node).type); + return visitNode(cbNode, (node).type); case SyntaxKind.ObjectBindingPattern: case SyntaxKind.ArrayBindingPattern: return visitNodes(cbNodes, (node).elements); @@ -2426,21 +2425,11 @@ namespace ts { function parseArrayTypeOrHigher(): TypeNode { let type = parseNonArrayType(); - while (!scanner.hasPrecedingLineBreak()) { - if (parseOptional(SyntaxKind.OpenBracketToken)) { - parseExpected(SyntaxKind.CloseBracketToken); - const node = createNode(SyntaxKind.ArrayType, type.pos); - node.elementType = type; - type = finishNode(node); - } - else if (parseOptional(SyntaxKind.QuestionToken)) { - const node = createNode(SyntaxKind.NullableType, type.pos); - node.type = type; - type = finishNode(node); - } - else { - break; - } + while (!scanner.hasPrecedingLineBreak() && parseOptional(SyntaxKind.OpenBracketToken)) { + parseExpected(SyntaxKind.CloseBracketToken); + const node = createNode(SyntaxKind.ArrayType, type.pos); + node.elementType = type; + type = finishNode(node); } return type; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 12ff2673564..3c7a16da59f 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -210,7 +210,6 @@ namespace ts { ParenthesizedType, ThisType, StringLiteralType, - NullableType, // Binding patterns ObjectBindingPattern, ArrayBindingPattern, @@ -357,7 +356,7 @@ namespace ts { FirstFutureReservedWord = ImplementsKeyword, LastFutureReservedWord = YieldKeyword, FirstTypeNode = TypePredicate, - LastTypeNode = NullableType, + LastTypeNode = StringLiteralType, FirstPunctuation = OpenBraceToken, LastPunctuation = CaretEqualsToken, FirstToken = Unknown, @@ -785,11 +784,6 @@ namespace ts { _stringLiteralTypeBrand: any; } - // @kind(SyntaxKind.NullableType) - export interface NullableTypeNode extends TypeNode { - type: TypeNode; - } - // @kind(SyntaxKind.StringLiteral) export interface StringLiteral extends LiteralExpression { _stringLiteralBrand: any; @@ -2152,7 +2146,6 @@ namespace ts { /* @internal */ id: number; // Unique ID symbol?: Symbol; // Symbol associated with type (if any) pattern?: DestructuringPattern; // Destructuring pattern represented by type (if any) - nullableType?: Type; // Cached nullable form of this type } /* @internal */ From 0735f465f0e30444cda2771db6e3ab063abdd1fa Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 10 Mar 2016 11:14:29 -0800 Subject: [PATCH 217/342] Add support for list types consolidate typings options and commmandline option parsing from json files Fix --- src/compiler/commandLineParser.ts | 271 ++++++++++++++++-------------- src/compiler/types.ts | 13 +- 2 files changed, 149 insertions(+), 135 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index c0912394491..36aef619888 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -186,8 +186,8 @@ namespace ts { name: "rootDir", type: "string", isFilePath: true, - description: Diagnostics.Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir, paramType: Diagnostics.LOCATION, + description: Diagnostics.Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir, }, { name: "isolatedModules", @@ -268,14 +268,17 @@ namespace ts { error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, }, { - name: "list", - elementType: { - "node": ModuleResolutionKind.NodeJs, - "classic": ModuleResolutionKind.Classic, - }, + name: "lib", type: "list", + element: { + name: "lib", + type: { + "node": ModuleResolutionKind.NodeJs, + "classic": ModuleResolutionKind.Classic, + }, + error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, + }, description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, - error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, }, { name: "allowUnusedLabels", @@ -319,9 +322,13 @@ namespace ts { // this option can only be specified in tsconfig.json // use type = object to copy the value as-is name: "rootDirs", - type: "object", + type: "list", isTSConfigOnly: true, - isFilePath: true + element: { + name: "rootDirs", + type: "string", + isFilePath: true + } }, { name: "traceModuleResolution", @@ -345,6 +352,30 @@ namespace ts { } ]; + /* @internal */ + export let typingOptionDeclarations: CommandLineOption[] = [ + { + name: "enableAutoDiscovery", + type: "boolean", + }, + { + name: "include", + type: "list", + element: { + name: "include", + type: "string" + } + }, + { + name: "exclude", + type: "list", + element: { + name: "include", + type: "string" + } + } + ]; + /* @internal */ export interface OptionNameMap { optionNameMap: Map; @@ -401,7 +432,40 @@ namespace ts { } if (hasProperty(optionNameMap, s)) { - parseString(optionNameMap[s], args[i]); + const opt = optionNameMap[s]; + + if (opt.isTSConfigOnly) { + errors.push(createCompilerDiagnostic(Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file, opt.name)); + } + else { + // Check to see if no argument was provided (e.g. "--locale" is the last command-line argument). + if (!args[i] && opt.type !== "boolean") { + errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); + } + + switch (opt.type) { + case "number": + options[opt.name] = parseInt(args[i]); + i++; + break; + case "boolean": + options[opt.name] = true; + break; + case "string": + options[opt.name] = args[i] || ""; + i++; + break; + case "list": + options[opt.name] = parseListTypeOption(opt, args[i]); + i++; + break; + // If not a primitive, the possible types are specified in what is effectively a map of options. + default: + options[opt.name] = parseCustomTypeOption(opt, args[i]); + i++; + break; + } + } } else { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_compiler_option_0, s)); @@ -410,40 +474,25 @@ namespace ts { else { fileNames.push(s); } - } - function parseString(opt: CommandLineOption, value: string) { - // Check to see if no argument was provided (e.g. "--locale" is the last command-line argument). - if (!value && opt.type !== "boolean") { - errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); + function parseCustomTypeOption(opt: CommandLineOptionOfCustomType, value: string) { + const map = >opt.type; + const key = (value || "").toLowerCase(); + if (hasProperty(map, key)) { + return map[key]; + } + else { + errors.push(createCompilerDiagnostic(opt.error)); + } } - switch (opt.type) { - case "number": - options[opt.name] = parseInt(value); - i++; - break; - case "boolean": - options[opt.name] = true; - break; - case "string": - options[opt.name] = value || ""; - i++; - break; - case "list": - forEach((value || "").split(","), s => parseString(opt.name, opti ); - break; - // If not a primitive, the possible types are specified in what is effectively a map of options. - default: - let map = >opt.type; - let key = (value || "").toLowerCase(); - i++; - if (hasProperty(map, key)) { - options[opt.name] = map[key]; - } - else { - errors.push(createCompilerDiagnostic((opt).error)); - } + function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): number[] | string[] { + const values = (value || "").split(","); + switch (opt.element.type) { + case "number": return ts.map(values, parseInt); + case "string": return ts.map(values, v => v || ""); + default: return ts.map(values, v => parseCustomTypeOption(opt.element, v)); + } } } } @@ -512,7 +561,6 @@ namespace ts { } } - /** * Remove the comments from a json like text. * Comments can be single line comments (starting with # or //) or multiline comments using / * * / @@ -546,18 +594,20 @@ namespace ts { * file to. e.g. outDir */ export function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions: CompilerOptions = {}, configFileName?: string): ParsedCommandLine { - const { options: optionsFromJsonConfigFile, errors } = convertCompilerOptionsFromJson(json["compilerOptions"], basePath, configFileName); - + const errors: Diagnostic[] = []; + const optionsFromJsonConfigFile = convertOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, configFileName, errors); const options = extend(existingOptions, optionsFromJsonConfigFile); + const typingOptions = convertOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, configFileName, errors); + const fileNames = getFileNames(errors); return { options, - fileNames: getFileNames(), - typingOptions: getTypingOptions(), + fileNames, + typingOptions, errors }; - function getFileNames(): string[] { + function getFileNames(errors: Diagnostic[]): string[] { let fileNames: string[] = []; if (hasProperty(json, "files")) { if (json["files"] instanceof Array) { @@ -618,47 +668,24 @@ namespace ts { } return fileNames; } - - function getTypingOptions(): TypingOptions { - const options: TypingOptions = getBaseFileName(configFileName) === "jsconfig.json" - ? { enableAutoDiscovery: true, include: [], exclude: [] } - : { enableAutoDiscovery: false, include: [], exclude: [] }; - const jsonTypingOptions = json["typingOptions"]; - if (jsonTypingOptions) { - for (const id in jsonTypingOptions) { - if (id === "enableAutoDiscovery") { - if (typeof jsonTypingOptions[id] === "boolean") { - options.enableAutoDiscovery = jsonTypingOptions[id]; - } - else { - errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); - } - } - else if (id === "include") { - options.include = convertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); - } - else if (id === "exclude") { - options.exclude = convertJsonOptionToStringArray(id, jsonTypingOptions[id], errors); - } - else { - errors.push(createCompilerDiagnostic(Diagnostics.Unknown_typing_option_0, id)); - } - } - } - return options; - } } export function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { options: CompilerOptions, errors: Diagnostic[] } { - const options: CompilerOptions = {}; const errors: Diagnostic[] = []; + const options = convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, configFileName, errors); - if (configFileName && getBaseFileName(configFileName) === "jsconfig.json") { + if (configFileName && getBaseFileName(configFileName) === "jsconfig.json" && typeof options.allowJs === "undefined") { options.allowJs = true; } + return { options, errors }; + } + + function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, configFileName: string, errors: Diagnostic[]): T { + const options = {} as T; + if (!jsonOptions) { - return { options, errors }; + return options; } const optionNameMap = arrayToMap(optionDeclarations, opt => opt.name); @@ -666,69 +693,53 @@ namespace ts { for (const id in jsonOptions) { if (hasProperty(optionNameMap, id)) { const opt = optionNameMap[id]; - const optType = opt.type; - let value = jsonOptions[id]; - const expectedType = typeof optType === "string" ? optType : "string"; - if (typeof value === expectedType) { - if (typeof optType !== "string") { - const key = value.toLowerCase(); - if (hasProperty(optType, key)) { - value = optType[key]; - } - else { - errors.push(createCompilerDiagnostic((opt).error)); - value = 0; - } - } - if (opt.isFilePath) { - switch (typeof value) { - case "string": - value = normalizePath(combinePaths(basePath, value)); - break; - case "object": - // "object" options with 'isFilePath' = true expected to be string arrays - value = convertJsonOptionToStringArray(opt.name, value, errors, (element) => normalizePath(combinePaths(basePath, element))); - break; - } - if (value === "") { - value = "."; - } - } - options[opt.name] = value; - } - else { - errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_requires_a_value_of_type_1, id, expectedType)); - } + options[opt.name] = convertJsonOption(opt, jsonOptions[id], basePath, errors); } else { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_compiler_option_0, id)); } } - return { options, errors }; + return options; } - function convertJsonOptionToStringArray(optionName: string, optionJson: any, errors: Diagnostic[], func?: (element: string) => string): string[] { - const items: string[] = []; - let invalidOptionType = false; - if (!isArray(optionJson)) { - invalidOptionType = true; + function convertJsonOption(opt: CommandLineOption, value: any, basePath: string, errors: Diagnostic[]): number | string | number[] | string[] { + const optType = opt.type; + const expectedType = typeof optType === "string" ? optType : "string"; + if (optType === "list" && isArray(value)) { + return convertJsonOptionOfListType(opt, value, basePath, errors); } - else { - for (const element of optionJson) { - if (typeof element === "string") { - const item = func ? func(element) : element; - items.push(item); - } - else { - invalidOptionType = true; - break; + else if (typeof value === expectedType) { + if (typeof optType !== "string") { + return convertJsonOptionOfCustomType(opt, value, errors); + } + else { + if (opt.isFilePath) { + value = normalizePath(combinePaths(basePath, value)); + if (value === "") { + value = "."; + } } } + return value; } - if (invalidOptionType) { - errors.push(createCompilerDiagnostic(Diagnostics.Option_0_should_have_array_of_strings_as_a_value, optionName)); + else { + errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_requires_a_value_of_type_1, opt.name, expectedType)); } - return items; + } + + function convertJsonOptionOfCustomType(opt: CommandLineOptionOfCustomType, value: string, errors: Diagnostic[]) { + const key = value.toLowerCase(); + if (hasProperty(opt.type, key)) { + return opt.type[key]; + } + else { + errors.push(createCompilerDiagnostic(opt.error)); + return 0; + } + } + + function convertJsonOptionOfListType(option: CommandLineOptionOfListType, values: any[], basePath: string, errors: Diagnostic[]): any[] { + return ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)); } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 6273ea990df..2945fac0b09 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2444,7 +2444,9 @@ namespace ts { // Do not perform validation of output file name in transpile scenarios /* @internal */ suppressOutputPathCheck?: boolean; - [option: string]: string | number | boolean | TsConfigOnlyOptions; + list?: string[]; + + [option: string]: string | number | boolean | TsConfigOnlyOptions | string[] | number[]; } export interface TypingOptions { @@ -2554,13 +2556,14 @@ namespace ts { type: "object"; } - export interface CommandlineOptionOfListType extends CommandLineOptionBase { - type: "list", - elementType: Map | "string" | "number"; + /* @internal */ + export interface CommandLineOptionOfListType extends CommandLineOptionBase { + type: "list"; + element: CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType; } /* @internal */ - export type CommandLineOption = CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType | TsConfigOnlyOption | CommandlineOptionOfListType; + export type CommandLineOption = CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType | TsConfigOnlyOption | CommandLineOptionOfListType; /* @internal */ export const enum CharacterCodes { From eb8282469712bb7d9d152370d0f44ea8ab34fcd8 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Mon, 14 Mar 2016 15:49:29 -0700 Subject: [PATCH 218/342] Chagne specifies -> specify --- src/compiler/commandLineParser.ts | 14 +++++++------- src/compiler/diagnosticMessages.json | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 36aef619888..fd0e42e60bf 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -63,7 +63,7 @@ namespace ts { { name: "reactNamespace", type: "string", - description: Diagnostics.Specifies_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit + description: Diagnostics.Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit }, { name: "listFiles", @@ -77,7 +77,7 @@ namespace ts { name: "mapRoot", type: "string", isFilePath: true, - description: Diagnostics.Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations, + description: Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations, paramType: Diagnostics.LOCATION, }, { @@ -102,7 +102,7 @@ namespace ts { "crlf": NewLineKind.CarriageReturnLineFeed, "lf": NewLineKind.LineFeed }, - description: Diagnostics.Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix, + description: Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix, paramType: Diagnostics.NEWLINE, error: Diagnostics.Argument_for_newLine_option_must_be_CRLF_or_LF }, @@ -187,7 +187,7 @@ namespace ts { type: "string", isFilePath: true, paramType: Diagnostics.LOCATION, - description: Diagnostics.Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir, + description: Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir, }, { name: "isolatedModules", @@ -202,7 +202,7 @@ namespace ts { name: "sourceRoot", type: "string", isFilePath: true, - description: Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations, + description: Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations, paramType: Diagnostics.LOCATION, }, { @@ -231,7 +231,7 @@ namespace ts { "es6": ScriptTarget.ES6, "es2015": ScriptTarget.ES2015, }, - description: Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_experimental, + description: Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015, paramType: Diagnostics.VERSION, error: Diagnostics.Argument_for_target_option_must_be_ES3_ES5_or_ES2015 }, @@ -264,7 +264,7 @@ namespace ts { "node": ModuleResolutionKind.NodeJs, "classic": ModuleResolutionKind.Classic, }, - description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, + description: Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, }, { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 15a3a4e5ef4..a264285d95f 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2240,11 +2240,11 @@ "category": "Message", "code": 6002 }, - "Specifies the location where debugger should locate map files instead of generated locations.": { + "Specify the location where debugger should locate map files instead of generated locations.": { "category": "Message", "code": 6003 }, - "Specifies the location where debugger should locate TypeScript files instead of source locations.": { + "Specify the location where debugger should locate TypeScript files instead of source locations.": { "category": "Message", "code": 6004 }, @@ -2276,7 +2276,7 @@ "category": "Message", "code": 6011 }, - "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015' (experimental)": { + "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015'": { "category": "Message", "code": 6015 }, @@ -2408,7 +2408,7 @@ "category": "Message", "code": 6056 }, - "Specifies the root directory of input files. Use to control the output directory structure with --outDir.": { + "Specify the root directory of input files. Use to control the output directory structure with --outDir.": { "category": "Message", "code": 6058 }, @@ -2416,7 +2416,7 @@ "category": "Error", "code": 6059 }, - "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).": { + "Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).": { "category": "Message", "code": 6060 }, @@ -2448,7 +2448,7 @@ "category": "Message", "code": 6068 }, - "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).": { + "Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).": { "category": "Message", "code": 6069 }, @@ -2504,7 +2504,7 @@ "category": "Message", "code": 6083 }, - "Specifies the object invoked for createElement and __spread when targeting 'react' JSX emit": { + "Specify the object invoked for createElement and __spread when targeting 'react' JSX emit": { "category": "Message", "code": 6084 }, From be0592da3bff1a144d1918ea63265b84ad73ffe8 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Mon, 14 Mar 2016 15:53:42 -0700 Subject: [PATCH 219/342] Add correct options for --lib --- src/compiler/commandLineParser.ts | 53 +++++++++++++++++++++++++--- src/compiler/diagnosticMessages.json | 9 ++++- src/compiler/types.ts | 4 +-- 3 files changed, 58 insertions(+), 8 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index fd0e42e60bf..ad0a8e7b3d1 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -273,12 +273,33 @@ namespace ts { element: { name: "lib", type: { - "node": ModuleResolutionKind.NodeJs, - "classic": ModuleResolutionKind.Classic, + // JavaScript only + "es5": "lib.es5.d.ts", + "es6": "lib.es6.d.ts", + "es7": "lib.es7.d.ts", + // Host only + "dom": "lib.dom.d.ts", + "webworker": "lib.webworker.d.ts", + "scripthost": "lib.scripthost.d.ts", + // ES6 Or ESNext By-feature options + "es6.array": "lib.es6.array.d.ts", + "es6.collection": "lib.es6.collection.d.ts", + "es6.function": "lib.es6.function.d.ts", + "es6.iterable": "lib.es6.iterable.d.ts", + "es6.math": "lib.es6.math.d.ts", + "es6.number": "lib.es6.number.d.ts", + "es6.object": "lib.es6.object.d.ts", + "es6.promise": "lib.es6.promise.d.ts", + "es6.proxy": "lib.es6.proxy.d.ts", + "es6.reflect": "lib.es6.reflect.d.ts", + "es6.regexp": "lib.es6.regexp.d.ts", + "es6.symbol": "lib.es6.symbol.d.ts", + "es6.symbol.wellknown": "lib.es6.symbol.wellknown.d.ts", + "es7.array.include": "lib.es7.array.include.d.ts" }, - error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, + error: Diagnostics.Arguments_for_library_option_must_be_Colon_0, }, - description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, + description: Diagnostics.Specify_library_to_be_included_in_the_compilation_Colon, }, { name: "allowUnusedLabels", @@ -402,6 +423,27 @@ namespace ts { return optionNameMapCache; } + // Cache between the name of commandline which is a custom type and a list of all possible custom types + const namesOfCustomTypeMapCache: Map = {}; + + /* @internal */ + export function getNamesOfCustomTypeFromCommandLineOptionsOfCustomType(opt: CommandLineOptionOfCustomType): string[] { + if (hasProperty(namesOfCustomTypeMapCache, opt.name)) { + return namesOfCustomTypeMapCache[opt.name]; + } + + const type = opt.type; + const namesOfType: string[] = []; + for (const typeName in type) { + if (hasProperty(type, typeName)) { + namesOfType.push(typeName); + } + } + + namesOfCustomTypeMapCache[opt.name] = namesOfType; + return namesOfCustomTypeMapCache[opt.name]; + } + export function parseCommandLine(commandLine: string[], readFile?: (path: string) => string): ParsedCommandLine { const options: CompilerOptions = {}; const fileNames: string[] = []; @@ -482,7 +524,8 @@ namespace ts { return map[key]; } else { - errors.push(createCompilerDiagnostic(opt.error)); + const suggestedOption = getNamesOfCustomTypeFromCommandLineOptionsOfCustomType(opt); + errors.push(createCompilerDiagnostic(opt.error, suggestedOption ? suggestedOption : undefined)); } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index a264285d95f..c655faf4f3c 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2620,7 +2620,14 @@ "category": "Message", "code": 6112 }, - + "Specify library to be included in the compilation:": { + "category": "Message", + "code": 6113 + }, + "Arguments for library option must be: {0}": { + "category": "Error", + "code": 6114 + }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", "code": 7005 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 2945fac0b09..b1efda95a30 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2531,7 +2531,7 @@ namespace ts { /* @internal */ export interface CommandLineOptionBase { name: string; - type: "string" | "number" | "boolean" | "object" | "list" | Map; // a value of a primitive type, or an object literal mapping named values to actual values + type: "string" | "number" | "boolean" | "object" | "list" | Map; // a value of a primitive type, or an object literal mapping named values to actual values isFilePath?: boolean; // True if option value is a path or fileName shortName?: string; // A short mnemonic for convenience - for instance, 'h' can be used in place of 'help' description?: DiagnosticMessage; // The message describing what the command line switch does @@ -2547,7 +2547,7 @@ namespace ts { /* @internal */ export interface CommandLineOptionOfCustomType extends CommandLineOptionBase { - type: Map; // an object literal mapping named values to actual values + type: Map; // an object literal mapping named values to actual values error: DiagnosticMessage; // The error given when the argument does not fit a customized 'type' } From c7df7770cd474bd884ca57b4f7450e1c02fcf6f2 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Fri, 4 Mar 2016 16:52:31 -0800 Subject: [PATCH 220/342] Add unittest for parsing --lib in tsconfig --- tests/cases/unittests/tsconfigParsing.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/cases/unittests/tsconfigParsing.ts b/tests/cases/unittests/tsconfigParsing.ts index 3603d22f314..118f15745cb 100644 --- a/tests/cases/unittests/tsconfigParsing.ts +++ b/tests/cases/unittests/tsconfigParsing.ts @@ -82,5 +82,25 @@ namespace ts { it("returns object with error when json is invalid", () => { assertParseError("invalid"); }); + + it("returns object when users correctly specify library", () => { + assertParseResult( + `{ + "compilerOptions": { + "library": "es5" + } + }`, { + config: { compilerOptions: { library: "es5" } } + }); + + assertParseResult( + `{ + "compilerOptions": { + "library": "es5,es6" + } + }`, { + config: { compilerOptions: { library: "es5,es6" } } + }); + }); }); } From 09ad9c524334fd9dd9c57dd9f15a33dc1bac77b8 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 14 Mar 2016 16:29:12 -0700 Subject: [PATCH 221/342] Remove 'T?' notation from type-to-string conversion --- src/compiler/checker.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5360cb558f8..4aeb3c50c92 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1885,10 +1885,6 @@ namespace ts { else if (type.flags & TypeFlags.Tuple) { writeTupleType(type); } - else if (isNullableType(type) && (type).types.length > 2) { - writeType(getNonNullableType(type), TypeFormatFlags.InElementType); - writePunctuation(writer, SyntaxKind.QuestionToken); - } else if (type.flags & TypeFlags.UnionOrIntersection) { writeUnionOrIntersectionType(type, flags); } @@ -6531,10 +6527,6 @@ namespace ts { getUnionType([nullType, undefinedType]) : nullType : undefinedType; } - function isNullableType(type: Type) { - return getNullableKind(type) === TypeFlags.Nullable; - } - function addNullableKind(type: Type, kind: TypeFlags): Type { if ((getNullableKind(type) & kind) !== kind) { const types = [type]; From 1bc9157b764e019229e4bc41016a7c8147328f1e Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Fri, 11 Mar 2016 08:48:00 -0800 Subject: [PATCH 222/342] Port NavBar for JS improvements --- src/services/navigationBar.ts | 226 ++++++++++++++++++++++++++++++++-- 1 file changed, 217 insertions(+), 9 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index f2e77fa69d3..effaa53bc10 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -3,6 +3,12 @@ /* @internal */ namespace ts.NavigationBar { export function getNavigationBarItems(sourceFile: SourceFile, compilerOptions: CompilerOptions): ts.NavigationBarItem[] { + // TODO: Handle JS files differently in 'navbar' calls for now, but ideally we should unify + // the 'navbar' and 'navto' logic for TypeScript and JavaScript. + if (isSourceFileJavaScript(sourceFile)) { + return getJsNavigationBarItems(sourceFile, compilerOptions); + } + // If the source file has any child items, then it included in the tree // and takes lexical ownership of all other top-level items. let hasGlobalNode = false; @@ -130,7 +136,7 @@ namespace ts.NavigationBar { return topLevelNodes; } - + function sortNodes(nodes: Node[]): Node[] { return nodes.slice(0).sort((n1: Declaration, n2: Declaration) => { if (n1.name && n2.name) { @@ -147,7 +153,7 @@ namespace ts.NavigationBar { } }); } - + function addTopLevelNodes(nodes: Node[], topLevelNodes: Node[]): void { nodes = sortNodes(nodes); @@ -178,8 +184,8 @@ namespace ts.NavigationBar { function isTopLevelFunctionDeclaration(functionDeclaration: FunctionLikeDeclaration) { if (functionDeclaration.kind === SyntaxKind.FunctionDeclaration) { - // A function declaration is 'top level' if it contains any function declarations - // within it. + // A function declaration is 'top level' if it contains any function declarations + // within it. if (functionDeclaration.body && functionDeclaration.body.kind === SyntaxKind.Block) { // Proper function declarations can only have identifier names if (forEach((functionDeclaration.body).statements, @@ -198,7 +204,7 @@ namespace ts.NavigationBar { return false; } - + function getItemsWorker(nodes: Node[], createItem: (n: Node) => ts.NavigationBarItem): ts.NavigationBarItem[] { let items: ts.NavigationBarItem[] = []; @@ -395,19 +401,19 @@ namespace ts.NavigationBar { let result: string[] = []; result.push(moduleDeclaration.name.text); - + while (moduleDeclaration.body && moduleDeclaration.body.kind === SyntaxKind.ModuleDeclaration) { moduleDeclaration = moduleDeclaration.body; result.push(moduleDeclaration.name.text); - } + } return result.join("."); } function createModuleItem(node: ModuleDeclaration): NavigationBarItem { let moduleName = getModuleName(node); - + let childItems = getItemsWorker(getChildNodes((getInnermostModule(node).body).statements), createChildItem); return getNavigationBarItem(moduleName, @@ -534,4 +540,206 @@ namespace ts.NavigationBar { return getTextOfNodeFromSourceText(sourceFile.text, node); } } -} \ No newline at end of file + + export function getJsNavigationBarItems(sourceFile: SourceFile, compilerOptions: CompilerOptions): NavigationBarItem[] { + const anonFnText = ""; + const anonClassText = ""; + let indent = 0; + + let rootName = isExternalModule(sourceFile) ? + "\"" + escapeString(getBaseFileName(removeFileExtension(normalizePath(sourceFile.fileName)))) + "\"" + : ""; + + let sourceFileItem = getNavBarItem(rootName, ScriptElementKind.moduleElement, [getNodeSpan(sourceFile)]); + let topItem = sourceFileItem; + + // Walk the whole file, because we want to also find function expressions - which may be in variable initializer, + // call arguments, expressions, etc... + forEachChild(sourceFile, visitNode); + + function visitNode(node: Node) { + const newItem = createNavBarItem(node); + + if (newItem) { + topItem.childItems.push(newItem); + } + + // Add a level if traversing into a container + if (newItem && (isFunctionLike(node) || isClassLike(node))) { + const lastTop = topItem; + indent++; + topItem = newItem; + forEachChild(node, visitNode); + topItem = lastTop; + indent--; + + // If the last item added was an anonymous function expression, and it had no children, discard it. + if (newItem && newItem.text === anonFnText && newItem.childItems.length === 0) { + topItem.childItems.pop(); + } + } + else { + forEachChild(node, visitNode); + } + } + + function createNavBarItem(node: Node) : NavigationBarItem { + switch (node.kind) { + case SyntaxKind.VariableDeclaration: + // Only add to the navbar if at the top-level of the file + // Note: "const" and "let" are also SyntaxKind.VariableDeclarations + if(node.parent/*VariableDeclarationList*/.parent/*VariableStatement*/ + .parent/*SourceFile*/.kind !== SyntaxKind.SourceFile) { + return undefined; + } + // If it is initialized with a function expression, handle it when we reach the function expression node + const varDecl = node as VariableDeclaration; + if (varDecl.initializer && (varDecl.initializer.kind === SyntaxKind.FunctionExpression || + varDecl.initializer.kind === SyntaxKind.ArrowFunction || + varDecl.initializer.kind === SyntaxKind.ClassExpression)) { + return undefined; + } + // Fall through + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.Constructor: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + // "export default function().." looks just like a regular function/class declaration, except with the 'default' flag + const name = node.flags && (node.flags & NodeFlags.Default) && !(node as (Declaration)).name ? "default" : + node.kind === SyntaxKind.Constructor ? "constructor" : + declarationNameToString((node as (Declaration)).name); + return getNavBarItem(name, getScriptKindForElementKind(node.kind), [getNodeSpan(node)]); + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.ClassExpression: + return getDefineModuleItem(node) || getFunctionOrClassExpressionItem(node); + case SyntaxKind.MethodDeclaration: + const methodDecl = node as MethodDeclaration; + return getNavBarItem(declarationNameToString(methodDecl.name), + ScriptElementKind.memberFunctionElement, + [getNodeSpan(node)]); + case SyntaxKind.ExportAssignment: + // e.g. "export default " + return getNavBarItem("default", ScriptElementKind.variableElement, [getNodeSpan(node)]); + case SyntaxKind.ImportClause: // e.g. 'def' in: import def from 'mod' (in ImportDeclaration) + if (!(node as ImportClause).name) { + // No default import (this node is still a parent of named & namespace imports, which are handled below) + return undefined; + } + // fall through + case SyntaxKind.ImportSpecifier: // e.g. 'id' in: import {id} from 'mod' (in NamedImports, in ImportClause) + case SyntaxKind.NamespaceImport: // e.g. '* as ns' in: import * as ns from 'mod' (in ImportClause) + case SyntaxKind.ExportSpecifier: // e.g. 'a' or 'b' in: export {a, foo as b} from 'mod' + // Export specifiers are only interesting if they are reexports from another module, or renamed, else they are already globals + if (node.kind === SyntaxKind.ExportSpecifier) { + if (!(node.parent.parent as ExportDeclaration).moduleSpecifier && !(node as ExportSpecifier).propertyName) { + return undefined; + } + } + const decl = node as (ImportSpecifier | ImportClause | NamespaceImport | ExportSpecifier); + if (!decl.name) { + return undefined; + } + const declName = declarationNameToString(decl.name); + return getNavBarItem(declName, ScriptElementKind.constElement, [getNodeSpan(node)]); + default: + return undefined; + } + } + + function getNavBarItem(text: string, kind: string, spans: TextSpan[], kindModifiers = ScriptElementKindModifier.none): NavigationBarItem { + return { + text, kind, kindModifiers, spans, childItems: [], indent, bolded: false, grayed: false + } + } + + function getDefineModuleItem(node: Node): NavigationBarItem { + if (node.kind !== SyntaxKind.FunctionExpression && node.kind !== SyntaxKind.ArrowFunction) { + return undefined; + } + + // No match if this is not a call expression to an identifier named 'define' + if (node.parent.kind !== SyntaxKind.CallExpression) { + return undefined; + } + const callExpr = node.parent as CallExpression; + if (callExpr.expression.kind !== SyntaxKind.Identifier || callExpr.expression.getText() !== 'define') { + return undefined; + } + + // Return a module of either the given text in the first argument, or of the source file path + let defaultName = node.getSourceFile().fileName; + if (callExpr.arguments[0].kind === SyntaxKind.StringLiteral) { + defaultName = ((callExpr.arguments[0]) as StringLiteral).text; + } + return getNavBarItem(defaultName, ScriptElementKind.moduleElement, [getNodeSpan(node.parent)]); + } + + function getFunctionOrClassExpressionItem(node: Node): NavigationBarItem { + if (node.kind !== SyntaxKind.FunctionExpression && + node.kind !== SyntaxKind.ArrowFunction && + node.kind !== SyntaxKind.ClassExpression) { + return undefined; + } + + const fnExpr = node as FunctionExpression | ArrowFunction | ClassExpression; + let fnName: string; + if (fnExpr.name && getFullWidth(fnExpr.name) > 0) { + // The expression has an identifier, so use that as the name + fnName = declarationNameToString(fnExpr.name); + } + else { + // See if it is a var initializer. If so, use the var name. + if (fnExpr.parent.kind === SyntaxKind.VariableDeclaration) { + fnName = declarationNameToString((fnExpr.parent as VariableDeclaration).name); + } + // See if it is of the form " = function(){...}". If so, use the text from the left-hand side. + else if (fnExpr.parent.kind === SyntaxKind.BinaryExpression && + (fnExpr.parent as BinaryExpression).operatorToken.kind === SyntaxKind.EqualsToken) { + fnName = (fnExpr.parent as BinaryExpression).left.getText(); + if (fnName.length > 20) { + fnName = fnName.substring(0, 17) + "..."; + } + } + // See if it is a property assignment, and if so use the property name + else if (fnExpr.parent.kind === SyntaxKind.PropertyAssignment && + (fnExpr.parent as PropertyAssignment).name) { + fnName = (fnExpr.parent as PropertyAssignment).name.getText(); + } + else { + fnName = node.kind === SyntaxKind.ClassExpression ? anonClassText : anonFnText; + } + } + const scriptKind = node.kind === SyntaxKind.ClassExpression ? ScriptElementKind.classElement : ScriptElementKind.functionElement; + return getNavBarItem(fnName, scriptKind, [getNodeSpan(node)]); + } + + function getNodeSpan(node: Node) { + return node.kind === SyntaxKind.SourceFile + ? createTextSpanFromBounds(node.getFullStart(), node.getEnd()) + : createTextSpanFromBounds(node.getStart(), node.getEnd()); + } + + function getScriptKindForElementKind(kind: SyntaxKind) { + switch (kind) { + case SyntaxKind.VariableDeclaration: + return ScriptElementKind.variableElement; + case SyntaxKind.FunctionDeclaration: + return ScriptElementKind.functionElement; + case SyntaxKind.ClassDeclaration: + return ScriptElementKind.classElement; + case SyntaxKind.Constructor: + return ScriptElementKind.constructorImplementationElement; + case SyntaxKind.GetAccessor: + return ScriptElementKind.memberGetAccessorElement; + case SyntaxKind.SetAccessor: + return ScriptElementKind.memberSetAccessorElement; + default: + return "unknown"; + } + } + + return sourceFileItem.childItems; + } +} From 157b8e7456a7a34faca007883bb620c8b599173b Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Tue, 15 Mar 2016 11:44:33 -0700 Subject: [PATCH 223/342] Add a new unittest for command line parsing for --lib --- Jakefile.js | 3 +- src/compiler/commandLineParser.ts | 15 +- src/compiler/types.ts | 3 +- tests/cases/unittests/commandLineParsing.ts | 160 ++++++++++++++++++++ tests/cases/unittests/tsconfigParsing.ts | 18 +-- 5 files changed, 182 insertions(+), 17 deletions(-) create mode 100644 tests/cases/unittests/commandLineParsing.ts diff --git a/Jakefile.js b/Jakefile.js index 2ffdfc37807..8932e6d976a 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -150,7 +150,8 @@ var harnessSources = harnessCoreSources.concat([ "reuseProgramStructure.ts", "cachingInServerLSHost.ts", "moduleResolution.ts", - "tsconfigParsing.ts" + "tsconfigParsing.ts", + "commandLineParsing.ts" ].map(function (f) { return path.join(unittestsDirectory, f); })).concat([ diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index ad0a8e7b3d1..024a202b2f9 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -518,7 +518,7 @@ namespace ts { } function parseCustomTypeOption(opt: CommandLineOptionOfCustomType, value: string) { - const map = >opt.type; + const map = opt.type; const key = (value || "").toLowerCase(); if (hasProperty(map, key)) { return map[key]; @@ -529,12 +529,15 @@ namespace ts { } } - function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): number[] | string[] { - const values = (value || "").split(","); + function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): (number | string)[] { + const values = (value || "").split(",").filter(v => { return v != undefined; }); switch (opt.element.type) { - case "number": return ts.map(values, parseInt); - case "string": return ts.map(values, v => v || ""); - default: return ts.map(values, v => parseCustomTypeOption(opt.element, v)); + case "number": + return ts.map(values, parseInt); + case "string": + return ts.map(values, v => v || ""); + default: + return ts.map(values, v => parseCustomTypeOption(opt.element, v)).filter(v => { return v != undefined; }); } } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index b1efda95a30..85febc5e968 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2437,6 +2437,7 @@ namespace ts { allowSyntheticDefaultImports?: boolean; allowJs?: boolean; noImplicitUseStrict?: boolean; + lib?: string[]; /* @internal */ stripInternal?: boolean; // Skip checking lib.d.ts to help speed up tests. @@ -2446,7 +2447,7 @@ namespace ts { list?: string[]; - [option: string]: string | number | boolean | TsConfigOnlyOptions | string[] | number[]; + [option: string]: string | number | boolean | TsConfigOnlyOptions | (string | number)[]; } export interface TypingOptions { diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts new file mode 100644 index 00000000000..a77d1e56494 --- /dev/null +++ b/tests/cases/unittests/commandLineParsing.ts @@ -0,0 +1,160 @@ +/// +/// + +namespace ts { + describe('parseCommandLine', () => { + + function assertParseResult(commandLine: string[], expectedParsedCommandLine: ts.ParsedCommandLine) { + const parsed = ts.parseCommandLine(commandLine); + const parsedCompilerOptions = JSON.stringify(parsed.options); + const expectedCompilerOptions = JSON.stringify(expectedParsedCommandLine.options); + assert.equal(parsedCompilerOptions, expectedCompilerOptions); + + const parsedErrors = parsed.errors; + const expectedErrors = expectedParsedCommandLine.errors; + assert.isTrue(parsedErrors.length === expectedErrors.length, `Expected error: ${JSON.stringify(expectedErrors)}. Actual error: ${JSON.stringify(parsedErrors)}.`); + for (let i = 0; i < parsedErrors.length; ++i) { + const parsedError = parsedErrors[i]; + const expectedError = expectedErrors[i]; + assert.equal(parsedError.code, expectedError.code, `Expected error-code: ${JSON.stringify(expectedError.code)}. Actual error-code: ${JSON.stringify(parsedError.code)}.`); + assert.equal(parsedError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(parsedError.category)}.`); + } + + const parsedFileNames = parsed.fileNames; + const expectedFileNames = expectedParsedCommandLine.fileNames; + assert.isTrue(parsedFileNames.length === expectedFileNames.length, `Expected fileNames: [${JSON.stringify(expectedFileNames)}]. Actual fileNames: [${JSON.stringify(parsedFileNames)}].`); + for (let i = 0; i < parsedFileNames.length; ++i) { + const parsedFileName = parsedFileNames[i]; + const expectedFileName = expectedFileNames[i]; + assert.equal(parsedFileName, expectedFileName, `Expected filename: ${JSON.stringify(expectedFileName)}. Actual fileName: ${JSON.stringify(parsedFileName)}.`); + } + } + + it("Parse single option of library flag ", () => { + // --lib es6 0.ts + assertParseResult(["--lib", "es6", "0.ts"], + { + errors: [], + fileNames: ["0.ts"], + options: { + lib: ["lib.es6.d.ts"] + } + }); + }); + + it("Parse multiple options of library flags ", () => { + // --lib es5,es6.symbol.wellknown 0.ts + assertParseResult(["--lib", "es5,es6.symbol.wellknown", "0.ts"], + { + errors: [], + fileNames: ["0.ts"], + options: { + lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"] + } + }); + }); + + it("Parse unavailable options of library flags ", () => { + // --lib es5,es7 0.ts + assertParseResult(["--lib", "es5,es8", "0.ts"], + { + errors: [{ + messageText: "", + category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, + code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: { + lib: ["lib.es5.d.ts"] + } + }); + }); + + it("Parse incorrect form of library flags ", () => { + // --lib es5, es7 0.ts + assertParseResult(["--lib", "es5,", "es7", "0.ts"], + { + errors: [{ + messageText: "", + category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, + code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["es7", "0.ts"], + options: { + lib: ["lib.es5.d.ts"] + } + }); + }); + + it("Parse multiple compiler flags with input files at the end", () => { + // --lib es5,es6.symbol.wellknown --target es5 0.ts + assertParseResult(["--lib", "es5,es6.symbol.wellknown", "--target", "es5", "0.ts"], + { + errors: [], + fileNames: ["0.ts"], + options: { + lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"], + target: ts.ScriptTarget.ES5, + } + }); + }); + + it("Parse multiple compiler flags with input files in the middle", () => { + // --module commonjs --target es5 0.ts --lib es5,es6.symbol.wellknown + assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,es6.symbol.wellknown"], + { + errors: [], + fileNames: ["0.ts"], + options: { + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.ES5, + lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"], + } + }); + }); + + it("Parse incorrect form of multiple compiler flags with input files in the middle", () => { + // --module commonjs --target es5 0.ts --lib es5, es6.symbol.wellknown + assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,", "es6.symbol.wellknown"], + { + errors: [{ + messageText: "", + category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, + code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts", "es6.symbol.wellknown"], + options: { + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.ES5, + lib: ["lib.es5.d.ts"], + } + }); + }); + + it("Parse multiple library compiler flags ", () => { + // --module commonjs --target es5 --lib es5 0.ts --library es6.array,es6.symbol.wellknown + assertParseResult(["--module", "commonjs", "--target", "es5", "--lib", "es5", "0.ts", "--lib", "es6.array,es6.symbol.wellknown"], + { + errors: [], + fileNames: ["0.ts"], + options: { + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.ES5, + lib: ["lib.es6.array.d.ts", "lib.es6.symbol.wellknown.d.ts"], + } + }); + }); + }); +} diff --git a/tests/cases/unittests/tsconfigParsing.ts b/tests/cases/unittests/tsconfigParsing.ts index 118f15745cb..622c3abfff2 100644 --- a/tests/cases/unittests/tsconfigParsing.ts +++ b/tests/cases/unittests/tsconfigParsing.ts @@ -87,20 +87,20 @@ namespace ts { assertParseResult( `{ "compilerOptions": { - "library": "es5" + "lib": "es5" } - }`, { - config: { compilerOptions: { library: "es5" } } - }); - + }`, { + config: { compilerOptions: { lib: "es5" } } + }); + assertParseResult( `{ "compilerOptions": { - "library": "es5,es6" + "lib": "es5,es6" } - }`, { - config: { compilerOptions: { library: "es5,es6" } } - }); + }`, { + config: { compilerOptions: { lib: "es5,es6" } } + }); }); }); } From f4e920e2c16209258dc9c4a341f9448ddbf2aed8 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Tue, 15 Mar 2016 11:45:21 -0700 Subject: [PATCH 224/342] Add unittest for testing convert compiler-options and typing-options --- Jakefile.js | 6 +- src/compiler/commandLineParser.ts | 21 ++--- .../convertCompilerOptionsFromJson.ts | 78 +++++++++++++++++++ .../unittests/convertTypingOptionsFromJson.ts | 44 +++++++++++ 4 files changed, 131 insertions(+), 18 deletions(-) create mode 100644 tests/cases/unittests/convertCompilerOptionsFromJson.ts create mode 100644 tests/cases/unittests/convertTypingOptionsFromJson.ts diff --git a/Jakefile.js b/Jakefile.js index 8932e6d976a..299ce1c77c4 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -146,12 +146,14 @@ var harnessSources = harnessCoreSources.concat([ "session.ts", "versionCache.ts", "convertToBase64.ts", - "transpile.ts", + "transpile.ts", "reuseProgramStructure.ts", "cachingInServerLSHost.ts", "moduleResolution.ts", "tsconfigParsing.ts", - "commandLineParsing.ts" + "commandLineParsing.ts", + "convertCompilerOptionsFromJson.ts", + "convertTypingOptionsFromJson.ts" ].map(function (f) { return path.join(unittestsDirectory, f); })).concat([ diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 024a202b2f9..d7d60fd2304 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -656,7 +656,7 @@ namespace ts { function getFileNames(errors: Diagnostic[]): string[] { let fileNames: string[] = []; if (hasProperty(json, "files")) { - if (json["files"] instanceof Array) { + if (isArray(json["files"])) { fileNames = map(json["files"], s => combinePaths(basePath, s)); } else { @@ -667,7 +667,7 @@ namespace ts { const filesSeen: Map = {}; let exclude: string[] = []; - if (json["exclude"] instanceof Array) { + if (isArray(json["exclude"])) { exclude = json["exclude"]; } else { @@ -716,18 +716,8 @@ namespace ts { } } - export function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { options: CompilerOptions, errors: Diagnostic[] } { - const errors: Diagnostic[] = []; - const options = convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, configFileName, errors); - - if (configFileName && getBaseFileName(configFileName) === "jsconfig.json" && typeof options.allowJs === "undefined") { - options.allowJs = true; - } - - return { options, errors }; - } - - function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, configFileName: string, errors: Diagnostic[]): T { + /* @internal */ + export function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, configFileName: string, errors: Diagnostic[]): T { const options = {} as T; if (!jsonOptions) { @@ -781,11 +771,10 @@ namespace ts { } else { errors.push(createCompilerDiagnostic(opt.error)); - return 0; } } function convertJsonOptionOfListType(option: CommandLineOptionOfListType, values: any[], basePath: string, errors: Diagnostic[]): any[] { - return ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)); + return ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)).filter(v => { return v != undefined; }); } } diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts new file mode 100644 index 00000000000..bd572757631 --- /dev/null +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -0,0 +1,78 @@ +/// +/// + +namespace ts { + describe('convertCompilerOptionsFromJson', () => { + function assertCompilerOptions(json: any, expectedResult: { compilerOptions: CompilerOptions, errors: Diagnostic[] }) { + const actualErrors: Diagnostic[] = []; + const actualCompilerOptions = convertOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", "tsconfig.json", actualErrors); + + const parsedCompilerOptions = JSON.stringify(actualCompilerOptions); + const expectedCompilerOptions = JSON.stringify(expectedResult.compilerOptions); + assert.equal(parsedCompilerOptions, expectedCompilerOptions); + + const expectedErrors = expectedResult.errors; + assert.isTrue(expectedResult.errors.length === actualErrors.length, `Expected error: ${JSON.stringify(expectedResult.errors)}. Actual error: ${JSON.stringify(actualErrors)}.`); + for (let i = 0; i < actualErrors.length; ++i) { + const actualError = actualErrors[i]; + const expectedError = expectedErrors[i]; + assert.equal(actualError.code, expectedError.code, `Expected error-code: ${JSON.stringify(expectedError.code)}. Actual error-code: ${JSON.stringify(actualError.code)}.`); + assert.equal(actualError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(actualError.category)}.`); + } + } + + const correctFormatOptions = { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es6.symbol"] + } + } + + const incorrectLibOption = { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es8"] + } + } + + it("Convert correctly format JSON to compiler-options ", () => { + assertCompilerOptions(correctFormatOptions, { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] + }, + errors: [] + }); + }); + + it("Convert incorrectly option of libs to compiler-options ", () => { + debugger; + assertCompilerOptions(incorrectLibOption, { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "", + code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category + }] + }); + }); + }); +} diff --git a/tests/cases/unittests/convertTypingOptionsFromJson.ts b/tests/cases/unittests/convertTypingOptionsFromJson.ts new file mode 100644 index 00000000000..89a44836e45 --- /dev/null +++ b/tests/cases/unittests/convertTypingOptionsFromJson.ts @@ -0,0 +1,44 @@ +/// +/// + +namespace ts { + describe('convertTypingOptionsFromJson', () => { + function assertTypingOptions(json: any, expectedResult: { typingOptions: TypingOptions, errors: Diagnostic[] }) { + const actualErrors: Diagnostic[] = []; + const actualTypingOptions = convertOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", "tsconfig.json", actualErrors); + + const parsedTypingOptions = JSON.stringify(actualTypingOptions); + const expectedTypingOptions = JSON.stringify(expectedResult.typingOptions); + assert.equal(parsedTypingOptions, parsedTypingOptions); + + const expectedErrors = expectedResult.errors; + assert.isTrue(expectedResult.errors.length === actualErrors.length, `Expected error: ${JSON.stringify(expectedResult.errors)}. Actual error: ${JSON.stringify(actualErrors)}.`); + for (let i = 0; i < actualErrors.length; ++i) { + const actualError = actualErrors[i]; + const expectedError = expectedErrors[i]; + assert.equal(actualError.code, expectedError.code, `Expected error-code: ${JSON.stringify(expectedError.code)}. Actual error-code: ${JSON.stringify(actualError.code)}.`); + assert.equal(actualError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(actualError.category)}.`); + } + } + + const correctFormatOptions = { + "typingOptions": { + "enableAutoDiscovery": true, + "include": ["0.d.ts", "1.d.ts"], + "exclude": ["0.js", "1.js"] + } + } + + it("Convert correctly format JSON to compiler-options ", () => { + debugger; + assertTypingOptions(correctFormatOptions, { + typingOptions: { + enableAutoDiscovery: true, + include: ["/apath/0.d.ts", "/apath/1.d.ts"], + exclude: ["/apath/0.js", "/apath/1.js"] + }, + errors: [] + }); + }); + }); +} From 821723b83958d3e1799e40e9918f8c7b95af5ccb Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Tue, 15 Mar 2016 12:18:17 -0700 Subject: [PATCH 225/342] RWC runner fixes for reading json files --- src/harness/harness.ts | 2 +- src/harness/rwcRunner.ts | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 4020bcd821b..ddaca642094 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -876,7 +876,7 @@ namespace Harness { useCaseSensitiveFileNames: () => useCaseSensitiveFileNames, getNewLine: () => newLine, fileExists: fileName => getSourceFile(fileName, ts.ScriptTarget.ES5) !== undefined, - readFile: (fileName: string): string => { throw new Error("NotYetImplemented"); } + readFile: (fileName: string): string => { return Harness.IO.readFile(fileName); } }; } diff --git a/src/harness/rwcRunner.ts b/src/harness/rwcRunner.ts index ce570a7d6ad..11ed5e7a680 100644 --- a/src/harness/rwcRunner.ts +++ b/src/harness/rwcRunner.ts @@ -31,22 +31,20 @@ namespace RWC { let otherFiles: Harness.Compiler.TestFile[] = []; let compilerResult: Harness.Compiler.CompilerResult; let compilerOptions: ts.CompilerOptions; - let baselineOpts: Harness.Baseline.BaselineOptions = { + const baselineOpts: Harness.Baseline.BaselineOptions = { Subfolder: "rwc", Baselinefolder: "internal/baselines" }; - let baseName = /(.*)\/(.*).json/.exec(ts.normalizeSlashes(jsonPath))[2]; + const baseName = /(.*)\/(.*).json/.exec(ts.normalizeSlashes(jsonPath))[2]; let currentDirectory: string; let useCustomLibraryFile: boolean; after(() => { // Mocha holds onto the closure environment of the describe callback even after the test is done. // Therefore we have to clean out large objects after the test is done. - inputFiles = undefined; - otherFiles = undefined; + inputFiles = []; + otherFiles = []; compilerResult = undefined; compilerOptions = undefined; - baselineOpts = undefined; - baseName = undefined; currentDirectory = undefined; // useCustomLibraryFile is a flag specified in the json object to indicate whether to use built/local/lib.d.ts // or to use lib.d.ts inside the json object. If the flag is true, use the lib.d.ts inside json file From 8bf9da614f80246211e4b0fc5f65fa1df95edd57 Mon Sep 17 00:00:00 2001 From: Chuck Jazdzewski Date: Tue, 15 Mar 2016 13:25:18 -0700 Subject: [PATCH 226/342] Adding sourceFiles to the Program emit callback This implements #7438 --- src/compiler/emitter.ts | 8 ++++---- src/compiler/program.ts | 2 +- src/compiler/types.ts | 2 +- src/compiler/utilities.ts | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 14f0e5bdf94..e5498d24576 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -604,7 +604,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge write(`//# sourceMappingURL=${sourceMappingURL}`); } - writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM); + writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM, sourceFiles); // reset the state sourceMap.reset(); @@ -748,16 +748,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } /** Write emitted output to disk */ - function writeEmittedFiles(emitOutput: string, jsFilePath: string, sourceMapFilePath: string, writeByteOrderMark: boolean) { + function writeEmittedFiles(emitOutput: string, jsFilePath: string, sourceMapFilePath: string, writeByteOrderMark: boolean, sourceFiles: SourceFile[]) { if (compilerOptions.sourceMap && !compilerOptions.inlineSourceMap) { - writeFile(host, emitterDiagnostics, sourceMapFilePath, sourceMap.getText(), /*writeByteOrderMark*/ false); + writeFile(host, emitterDiagnostics, sourceMapFilePath, sourceMap.getText(), /*writeByteOrderMark*/ false, sourceFiles); } if (sourceMapDataList) { sourceMapDataList.push(sourceMap.getSourceMapData()); } - writeFile(host, emitterDiagnostics, jsFilePath, emitOutput, writeByteOrderMark); + writeFile(host, emitterDiagnostics, jsFilePath, emitOutput, writeByteOrderMark, sourceFiles); } // Create a temporary variable with a unique unused name. diff --git a/src/compiler/program.ts b/src/compiler/program.ts index c0f769078e0..b528143384e 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -931,7 +931,7 @@ namespace ts { getSourceFile: program.getSourceFile, getSourceFiles: program.getSourceFiles, writeFile: writeFileCallback || ( - (fileName, data, writeByteOrderMark, onError) => host.writeFile(fileName, data, writeByteOrderMark, onError)), + (fileName, data, writeByteOrderMark, onError, sourceFiles) => host.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles)), isEmitBlocked, }; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 155f5c1a77f..d86bc87ce53 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1584,7 +1584,7 @@ namespace ts { } export interface WriteFileCallback { - (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void, sourceFiles?: SourceFile[]): void; } export class OperationCanceledException { } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index de10d469c87..6b120b745fe 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2110,10 +2110,10 @@ namespace ts { return combinePaths(newDirPath, sourceFilePath); } - export function writeFile(host: EmitHost, diagnostics: DiagnosticCollection, fileName: string, data: string, writeByteOrderMark: boolean) { + export function writeFile(host: EmitHost, diagnostics: DiagnosticCollection, fileName: string, data: string, writeByteOrderMark: boolean, sourceFiles?: SourceFile[]) { host.writeFile(fileName, data, writeByteOrderMark, hostErrorMessage => { diagnostics.add(createCompilerDiagnostic(Diagnostics.Could_not_write_file_0_Colon_1, fileName, hostErrorMessage)); - }); + }, sourceFiles); } export function getLineOfLocalPosition(currentSourceFile: SourceFile, pos: number) { From 95b43dac2920e653918794c3fd102c7c90e09037 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Tue, 15 Mar 2016 16:30:11 -0700 Subject: [PATCH 227/342] Handle default compiler-options and typing-options --- src/compiler/commandLineParser.ts | 38 ++- .../convertCompilerOptionsFromJson.ts | 280 ++++++++++++++---- .../unittests/convertTypingOptionsFromJson.ts | 186 ++++++++++-- 3 files changed, 422 insertions(+), 82 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index d7d60fd2304..a9f40ab053c 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -641,9 +641,10 @@ namespace ts { */ export function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions: CompilerOptions = {}, configFileName?: string): ParsedCommandLine { const errors: Diagnostic[] = []; - const optionsFromJsonConfigFile = convertOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, configFileName, errors); - const options = extend(existingOptions, optionsFromJsonConfigFile); - const typingOptions = convertOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, configFileName, errors); + const compilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, configFileName, errors); + const options = extend(existingOptions, compilerOptions); + const typingOptions: TypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, configFileName, errors); + const fileNames = getFileNames(errors); return { @@ -717,11 +718,30 @@ namespace ts { } /* @internal */ - export function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, configFileName: string, errors: Diagnostic[]): T { - const options = {} as T; + export function convertCompilerOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, + configFileName: string, errors: Diagnostic[]): CompilerOptions { + + const options: CompilerOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { allowJs: true } : {}; + convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, configFileName, options, Diagnostics.Unknown_compiler_option_0, errors); + return options; + } + + /* @internal */ + export function convertTypingOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, + configFileName: string, errors: Diagnostic[]): TypingOptions { + + const options: TypingOptions = getBaseFileName(configFileName) === "jsconfig.json" + ? { enableAutoDiscovery: true, include: [], exclude: [] } + : { enableAutoDiscovery: false, include: [], exclude: [] }; + convertOptionsFromJson(typingOptionDeclarations, jsonOptions, basePath, configFileName, options, Diagnostics.Unknown_typing_option_0, errors); + return options; + } + + function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, + configFileName: string, defaultOptions: T, diagnosticMessage: DiagnosticMessage, errors: Diagnostic[]) { if (!jsonOptions) { - return options; + return ; } const optionNameMap = arrayToMap(optionDeclarations, opt => opt.name); @@ -729,14 +749,12 @@ namespace ts { for (const id in jsonOptions) { if (hasProperty(optionNameMap, id)) { const opt = optionNameMap[id]; - options[opt.name] = convertJsonOption(opt, jsonOptions[id], basePath, errors); + defaultOptions[opt.name] = convertJsonOption(opt, jsonOptions[id], basePath, errors); } else { - errors.push(createCompilerDiagnostic(Diagnostics.Unknown_compiler_option_0, id)); + errors.push(createCompilerDiagnostic(diagnosticMessage, id)); } } - - return options; } function convertJsonOption(opt: CommandLineOption, value: any, basePath: string, errors: Diagnostic[]): number | string | number[] | string[] { diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index bd572757631..14674e18e3f 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -3,9 +3,9 @@ namespace ts { describe('convertCompilerOptionsFromJson', () => { - function assertCompilerOptions(json: any, expectedResult: { compilerOptions: CompilerOptions, errors: Diagnostic[] }) { + function assertCompilerOptions(json: any, configFileName: string, expectedResult: { compilerOptions: CompilerOptions, errors: Diagnostic[] }) { const actualErrors: Diagnostic[] = []; - const actualCompilerOptions = convertOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", "tsconfig.json", actualErrors); + const actualCompilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", configFileName, actualErrors); const parsedCompilerOptions = JSON.stringify(actualCompilerOptions); const expectedCompilerOptions = JSON.stringify(expectedResult.compilerOptions); @@ -21,58 +21,236 @@ namespace ts { } } - const correctFormatOptions = { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": ["es5", "es6.array", "es6.symbol"] - } - } - - const incorrectLibOption = { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": ["es5", "es6.array", "es8"] - } - } - - it("Convert correctly format JSON to compiler-options ", () => { - assertCompilerOptions(correctFormatOptions, { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] - }, - errors: [] - }); + // tsconfig.json tests + it("Convert correctly format tsconfig.json to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es6.symbol"] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] + }, + errors: [] + } + ); + }); + + it("Convert correctly format tsconfig.json with allowJs is false to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "allowJs": false, + "lib": ["es5", "es6.array", "es6.symbol"] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + allowJs: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] + }, + errors: [] + } + ); }); it("Convert incorrectly option of libs to compiler-options ", () => { - debugger; - assertCompilerOptions(incorrectLibOption, { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "", - code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, - category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category - }] - }); + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es8"] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "", + code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category + }] + } + ); + }); + + it("Convert incorrectly format tsconfig.json to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "modu": "commonjs", + } + }, "tsconfig.json", + { + compilerOptions: {}, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "", + code: Diagnostics.Unknown_compiler_option_0.code, + category: Diagnostics.Unknown_compiler_option_0.category + }] + } + ); + }); + + it("Convert default tsconfig.json to compiler-options ", () => { + assertCompilerOptions({}, "tsconfig.json", + { + compilerOptions: {} as CompilerOptions, + errors: [] + } + ); + }); + + // jsconfig.json + it("Convert correctly format jsconfig.json to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es6.symbol"] + } + }, "jsconfig.json", + { + compilerOptions: { + allowJs: true, + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] + }, + errors: [] + } + ); + }); + + it("Convert correctly format jsconfig.json with allowJs is false to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "allowJs": false, + "lib": ["es5", "es6.array", "es6.symbol"] + } + }, "jsconfig.json", + { + compilerOptions: { + allowJs: false, + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] + }, + errors: [] + } + ); + }); + + it("Convert incorrectly option of libs to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", "es6.array", "es8"] + } + }, "jsconfig.json", + { + compilerOptions: { + allowJs: true, + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "", + code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category + }] + } + ); + }); + + it("Convert incorrectly format jsconfig.json to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "modu": "commonjs", + } + }, "jsconfig.json", + { + compilerOptions: + { + allowJs: true + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "", + code: Diagnostics.Unknown_compiler_option_0.code, + category: Diagnostics.Unknown_compiler_option_0.category + }] + } + ); + }); + + it("Convert default jsconfig.json to compiler-options ", () => { + assertCompilerOptions({}, "jsconfig.json", + { + compilerOptions: + { + allowJs: true + }, + errors: [] + } + ); }); }); } diff --git a/tests/cases/unittests/convertTypingOptionsFromJson.ts b/tests/cases/unittests/convertTypingOptionsFromJson.ts index 89a44836e45..898dee0a18b 100644 --- a/tests/cases/unittests/convertTypingOptionsFromJson.ts +++ b/tests/cases/unittests/convertTypingOptionsFromJson.ts @@ -3,13 +3,12 @@ namespace ts { describe('convertTypingOptionsFromJson', () => { - function assertTypingOptions(json: any, expectedResult: { typingOptions: TypingOptions, errors: Diagnostic[] }) { + function assertTypingOptions(json: any, configFileName: string, expectedResult: { typingOptions: TypingOptions, errors: Diagnostic[] }) { const actualErrors: Diagnostic[] = []; - const actualTypingOptions = convertOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", "tsconfig.json", actualErrors); - + const actualTypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", configFileName, actualErrors); const parsedTypingOptions = JSON.stringify(actualTypingOptions); const expectedTypingOptions = JSON.stringify(expectedResult.typingOptions); - assert.equal(parsedTypingOptions, parsedTypingOptions); + assert.equal(parsedTypingOptions, expectedTypingOptions); const expectedErrors = expectedResult.errors; assert.isTrue(expectedResult.errors.length === actualErrors.length, `Expected error: ${JSON.stringify(expectedResult.errors)}. Actual error: ${JSON.stringify(actualErrors)}.`); @@ -20,25 +19,170 @@ namespace ts { assert.equal(actualError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(actualError.category)}.`); } } - - const correctFormatOptions = { - "typingOptions": { - "enableAutoDiscovery": true, - "include": ["0.d.ts", "1.d.ts"], - "exclude": ["0.js", "1.js"] - } - } - - it("Convert correctly format JSON to compiler-options ", () => { - debugger; - assertTypingOptions(correctFormatOptions, { - typingOptions: { - enableAutoDiscovery: true, - include: ["/apath/0.d.ts", "/apath/1.d.ts"], - exclude: ["/apath/0.js", "/apath/1.js"] + + // tsconfig.json + it("Convert correctly format tsconfig.json to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovery": true, + "include": ["0.d.ts", "1.d.ts"], + "exclude": ["0.js", "1.js"] + } }, - errors: [] + "tsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: true, + include: ["0.d.ts", "1.d.ts"], + exclude: ["0.js", "1.js"] + }, + errors: [] }); }); + + it("Convert incorrect format tsconfig.json to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovy": true, + } + }, "tsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: false, + include: [], + exclude: [] + }, + errors: [ + { + category: Diagnostics.Unknown_typing_option_0.category, + code: Diagnostics.Unknown_typing_option_0.code, + file: undefined, + start: 0, + length: 0, + messageText: undefined + } + ] + }); + }); + + it("Convert default tsconfig.json to typing-options ", () => { + assertTypingOptions({}, "tsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: false, + include: [], + exclude: [] + }, + errors: [] + }); + }); + + it("Convert tsconfig.json with only enableAutoDiscovery property to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovery": true + } + }, "tsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: true, + include: [], + exclude: [] + }, + errors: [] + }); + }); + + // jsconfig.json + it("Convert jsconfig.json to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovery": false, + "include": ["0.d.ts"], + "exclude": ["0.js"] + } + }, "jsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: false, + include: ["0.d.ts"], + exclude: ["0.js"] + }, + errors: [] + }); + }); + + it("Convert default jsconfig.json to typing-options ", () => { + assertTypingOptions({ }, "jsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: true, + include: [], + exclude: [] + }, + errors: [] + }); + }); + + it("Convert incorrect format jsconfig.json to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovy": true, + } + }, "jsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: true, + include: [], + exclude: [] + }, + errors: [ + { + category: Diagnostics.Unknown_compiler_option_0.category, + code: Diagnostics.Unknown_typing_option_0.code, + file: undefined, + start: 0, + length: 0, + messageText: undefined + } + ] + }); + }); + + it("Convert jsconfig.json with only enableAutoDiscovery property to typing-options ", () => { + assertTypingOptions( + { + "typingOptions": + { + "enableAutoDiscovery": false + } + }, "jsconfig.json", + { + typingOptions: + { + enableAutoDiscovery: false, + include: [], + exclude: [] + }, + errors: [] + }); + }); }); } From 4d915e59d9e60996ae56482d5287d9e8d4195c02 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Tue, 15 Mar 2016 17:04:18 -0700 Subject: [PATCH 228/342] Using ts.filter instead of just .filter --- src/compiler/commandLineParser.ts | 6 +++--- tests/cases/unittests/commandLineParsing.ts | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index a9f40ab053c..cd05bb0b2c8 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -530,14 +530,14 @@ namespace ts { } function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): (number | string)[] { - const values = (value || "").split(",").filter(v => { return v != undefined; }); + const values = (value.trim() || "").split(","); switch (opt.element.type) { case "number": return ts.map(values, parseInt); case "string": return ts.map(values, v => v || ""); default: - return ts.map(values, v => parseCustomTypeOption(opt.element, v)).filter(v => { return v != undefined; }); + return ts.filter(ts.map(values, v => parseCustomTypeOption(opt.element, v)), v => !!v); } } } @@ -793,6 +793,6 @@ namespace ts { } function convertJsonOptionOfListType(option: CommandLineOptionOfListType, values: any[], basePath: string, errors: Diagnostic[]): any[] { - return ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)).filter(v => { return v != undefined; }); + return ts.filter(ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)), v => !!v); } } diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts index a77d1e56494..275bba54f01 100644 --- a/tests/cases/unittests/commandLineParsing.ts +++ b/tests/cases/unittests/commandLineParsing.ts @@ -94,6 +94,26 @@ namespace ts { }); }); + it("Parse incorrect form of library flags with trailing white-space ", () => { + // --lib es5, es7 0.ts + assertParseResult(["--lib", "es5, ", "es7", "0.ts"], + { + errors: [{ + messageText: "", + category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, + code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["es7", "0.ts"], + options: { + lib: ["lib.es5.d.ts"] + } + }); + }); + it("Parse multiple compiler flags with input files at the end", () => { // --lib es5,es6.symbol.wellknown --target es5 0.ts assertParseResult(["--lib", "es5,es6.symbol.wellknown", "--target", "es5", "0.ts"], From e0ab009a984d46eb7276ceddc3462322cd84242d Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 16 Mar 2016 13:45:38 -0700 Subject: [PATCH 229/342] Remove members from getAccessibleSymbolChain walk --- src/compiler/checker.ts | 28 +++-- ...declarationEmit_classMemberNameConflict.js | 112 ++++++++++++++++++ ...rationEmit_classMemberNameConflict.symbols | 70 +++++++++++ ...larationEmit_classMemberNameConflict.types | 75 ++++++++++++ ...eclarationEmit_classMemberNameConflict2.js | 59 +++++++++ ...ationEmit_classMemberNameConflict2.symbols | 37 ++++++ ...arationEmit_classMemberNameConflict2.types | 38 ++++++ ...ntationCollidingNamesInAugmentation1.types | 69 ----------- ...declarationEmit_classMemberNameConflict.ts | 39 ++++++ ...eclarationEmit_classMemberNameConflict2.ts | 24 ++++ 10 files changed, 475 insertions(+), 76 deletions(-) create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict.js create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict.types create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict2.js create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols create mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict2.types delete mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types create mode 100644 tests/cases/compiler/declarationEmit_classMemberNameConflict.ts create mode 100644 tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 09672f5c09c..ad23e11fb27 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1444,12 +1444,6 @@ namespace ts { return result; } break; - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - if (result = callback(getSymbolOfNode(location).members)) { - return result; - } - break; } } @@ -1515,7 +1509,9 @@ namespace ts { } if (symbol) { - return forEachSymbolTableInScope(enclosingDeclaration, getAccessibleSymbolChainFromSymbolTable); + if (!(isPropertyOrMethodDeclarationSymbol(symbol))) { + return forEachSymbolTableInScope(enclosingDeclaration, getAccessibleSymbolChainFromSymbolTable); + } } } @@ -1548,6 +1544,24 @@ namespace ts { return qualify; } + function isPropertyOrMethodDeclarationSymbol(symbol: Symbol) { + if (symbol.declarations && symbol.declarations.length) { + for (const declaration of symbol.declarations) { + switch (declaration.kind) { + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + continue; + default: + return false; + } + } + return true; + } + return false; + } + function isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessibilityResult { if (symbol && enclosingDeclaration && !(symbol.flags & SymbolFlags.TypeParameter)) { const initialSymbol = symbol; diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.js b/tests/baselines/reference/declarationEmit_classMemberNameConflict.js new file mode 100644 index 00000000000..55acb13d2b9 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict.js @@ -0,0 +1,112 @@ +//// [declarationEmit_classMemberNameConflict.ts] + +export class C1 { + C1() { } // has to be the same as the class name + + bar() { + return function (t: typeof C1) { + }; + } +} + +export class C2 { + C2: any // has to be the same as the class name + + bar() { + return function (t: typeof C2) { + }; + } +} + +export class C3 { + get C3() { return 0; } // has to be the same as the class name + + bar() { + return function (t: typeof C3) { + }; + } +} + +export class C4 { + set C4(v) { } // has to be the same as the class name + + bar() { + return function (t: typeof C4) { + }; + } +} + +//// [declarationEmit_classMemberNameConflict.js] +"use strict"; +var C1 = (function () { + function C1() { + } + C1.prototype.C1 = function () { }; // has to be the same as the class name + C1.prototype.bar = function () { + return function (t) { + }; + }; + return C1; +}()); +exports.C1 = C1; +var C2 = (function () { + function C2() { + } + C2.prototype.bar = function () { + return function (t) { + }; + }; + return C2; +}()); +exports.C2 = C2; +var C3 = (function () { + function C3() { + } + Object.defineProperty(C3.prototype, "C3", { + get: function () { return 0; } // has to be the same as the class name + , + enumerable: true, + configurable: true + }); + C3.prototype.bar = function () { + return function (t) { + }; + }; + return C3; +}()); +exports.C3 = C3; +var C4 = (function () { + function C4() { + } + Object.defineProperty(C4.prototype, "C4", { + set: function (v) { } // has to be the same as the class name + , + enumerable: true, + configurable: true + }); + C4.prototype.bar = function () { + return function (t) { + }; + }; + return C4; +}()); +exports.C4 = C4; + + +//// [declarationEmit_classMemberNameConflict.d.ts] +export declare class C1 { + C1(): void; + bar(): (t: typeof C1) => void; +} +export declare class C2 { + C2: any; + bar(): (t: typeof C2) => void; +} +export declare class C3 { + readonly C3: number; + bar(): (t: typeof C3) => void; +} +export declare class C4 { + C4: any; + bar(): (t: typeof C4) => void; +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols b/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols new file mode 100644 index 00000000000..2b8959289a8 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols @@ -0,0 +1,70 @@ +=== tests/cases/compiler/declarationEmit_classMemberNameConflict.ts === + +export class C1 { +>C1 : Symbol(C1, Decl(declarationEmit_classMemberNameConflict.ts, 0, 0)) + + C1() { } // has to be the same as the class name +>C1 : Symbol(C1.C1, Decl(declarationEmit_classMemberNameConflict.ts, 1, 17)) + + bar() { +>bar : Symbol(C1.bar, Decl(declarationEmit_classMemberNameConflict.ts, 2, 12)) + + return function (t: typeof C1) { +>t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 5, 25)) +>C1 : Symbol(C1, Decl(declarationEmit_classMemberNameConflict.ts, 0, 0)) + + }; + } +} + +export class C2 { +>C2 : Symbol(C2, Decl(declarationEmit_classMemberNameConflict.ts, 8, 1)) + + C2: any // has to be the same as the class name +>C2 : Symbol(C2.C2, Decl(declarationEmit_classMemberNameConflict.ts, 10, 17)) + + bar() { +>bar : Symbol(C2.bar, Decl(declarationEmit_classMemberNameConflict.ts, 11, 11)) + + return function (t: typeof C2) { +>t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 14, 25)) +>C2 : Symbol(C2, Decl(declarationEmit_classMemberNameConflict.ts, 8, 1)) + + }; + } +} + +export class C3 { +>C3 : Symbol(C3, Decl(declarationEmit_classMemberNameConflict.ts, 17, 1)) + + get C3() { return 0; } // has to be the same as the class name +>C3 : Symbol(C3.C3, Decl(declarationEmit_classMemberNameConflict.ts, 19, 17)) + + bar() { +>bar : Symbol(C3.bar, Decl(declarationEmit_classMemberNameConflict.ts, 20, 26)) + + return function (t: typeof C3) { +>t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 23, 25)) +>C3 : Symbol(C3, Decl(declarationEmit_classMemberNameConflict.ts, 17, 1)) + + }; + } +} + +export class C4 { +>C4 : Symbol(C4, Decl(declarationEmit_classMemberNameConflict.ts, 26, 1)) + + set C4(v) { } // has to be the same as the class name +>C4 : Symbol(C4.C4, Decl(declarationEmit_classMemberNameConflict.ts, 28, 17)) +>v : Symbol(v, Decl(declarationEmit_classMemberNameConflict.ts, 29, 11)) + + bar() { +>bar : Symbol(C4.bar, Decl(declarationEmit_classMemberNameConflict.ts, 29, 17)) + + return function (t: typeof C4) { +>t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 32, 25)) +>C4 : Symbol(C4, Decl(declarationEmit_classMemberNameConflict.ts, 26, 1)) + + }; + } +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.types b/tests/baselines/reference/declarationEmit_classMemberNameConflict.types new file mode 100644 index 00000000000..c76072413e5 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict.types @@ -0,0 +1,75 @@ +=== tests/cases/compiler/declarationEmit_classMemberNameConflict.ts === + +export class C1 { +>C1 : C1 + + C1() { } // has to be the same as the class name +>C1 : () => void + + bar() { +>bar : () => (t: typeof C1) => void + + return function (t: typeof C1) { +>function (t: typeof C1) { } : (t: typeof C1) => void +>t : typeof C1 +>C1 : typeof C1 + + }; + } +} + +export class C2 { +>C2 : C2 + + C2: any // has to be the same as the class name +>C2 : any + + bar() { +>bar : () => (t: typeof C2) => void + + return function (t: typeof C2) { +>function (t: typeof C2) { } : (t: typeof C2) => void +>t : typeof C2 +>C2 : typeof C2 + + }; + } +} + +export class C3 { +>C3 : C3 + + get C3() { return 0; } // has to be the same as the class name +>C3 : number +>0 : number + + bar() { +>bar : () => (t: typeof C3) => void + + return function (t: typeof C3) { +>function (t: typeof C3) { } : (t: typeof C3) => void +>t : typeof C3 +>C3 : typeof C3 + + }; + } +} + +export class C4 { +>C4 : C4 + + set C4(v) { } // has to be the same as the class name +>C4 : any +>v : any + + bar() { +>bar : () => (t: typeof C4) => void + + return function (t: typeof C4) { +>function (t: typeof C4) { } : (t: typeof C4) => void +>t : typeof C4 +>C4 : typeof C4 + + }; + } +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js new file mode 100644 index 00000000000..03dc5cdbafd --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js @@ -0,0 +1,59 @@ +//// [declarationEmit_classMemberNameConflict2.ts] + +const Bar = 'bar'; + +enum Hello { + World +} + +enum Hello1 { + World1 +} + +class Foo { + // Same names + string => OK + Bar = Bar; + + // Same names + enum => OK + Hello = Hello; + + // Different names + enum => OK + Hello2 = Hello1; +} + +//// [declarationEmit_classMemberNameConflict2.js] +var Bar = 'bar'; +var Hello; +(function (Hello) { + Hello[Hello["World"] = 0] = "World"; +})(Hello || (Hello = {})); +var Hello1; +(function (Hello1) { + Hello1[Hello1["World1"] = 0] = "World1"; +})(Hello1 || (Hello1 = {})); +var Foo = (function () { + function Foo() { + // Same names + string => OK + this.Bar = Bar; + // Same names + enum => OK + this.Hello = Hello; + // Different names + enum => OK + this.Hello2 = Hello1; + } + return Foo; +}()); + + +//// [declarationEmit_classMemberNameConflict2.d.ts] +declare const Bar: string; +declare enum Hello { + World = 0, +} +declare enum Hello1 { + World1 = 0, +} +declare class Foo { + Bar: string; + Hello: typeof Hello; + Hello2: typeof Hello1; +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols new file mode 100644 index 00000000000..e7c4b6f060c --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols @@ -0,0 +1,37 @@ +=== tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts === + +const Bar = 'bar'; +>Bar : Symbol(Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 5)) + +enum Hello { +>Hello : Symbol(Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 18)) + + World +>World : Symbol(Hello.World, Decl(declarationEmit_classMemberNameConflict2.ts, 3, 12)) +} + +enum Hello1 { +>Hello1 : Symbol(Hello1, Decl(declarationEmit_classMemberNameConflict2.ts, 5, 1)) + + World1 +>World1 : Symbol(Hello1.World1, Decl(declarationEmit_classMemberNameConflict2.ts, 7, 13)) +} + +class Foo { +>Foo : Symbol(Foo, Decl(declarationEmit_classMemberNameConflict2.ts, 9, 1)) + + // Same names + string => OK + Bar = Bar; +>Bar : Symbol(Foo.Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 11, 11)) +>Bar : Symbol(Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 5)) + + // Same names + enum => OK + Hello = Hello; +>Hello : Symbol(Foo.Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 13, 14)) +>Hello : Symbol(Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 18)) + + // Different names + enum => OK + Hello2 = Hello1; +>Hello2 : Symbol(Foo.Hello2, Decl(declarationEmit_classMemberNameConflict2.ts, 16, 18)) +>Hello1 : Symbol(Hello1, Decl(declarationEmit_classMemberNameConflict2.ts, 5, 1)) +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types new file mode 100644 index 00000000000..9f8ddd8a2d5 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types @@ -0,0 +1,38 @@ +=== tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts === + +const Bar = 'bar'; +>Bar : string +>'bar' : string + +enum Hello { +>Hello : Hello + + World +>World : Hello +} + +enum Hello1 { +>Hello1 : Hello1 + + World1 +>World1 : Hello1 +} + +class Foo { +>Foo : Foo + + // Same names + string => OK + Bar = Bar; +>Bar : string +>Bar : string + + // Same names + enum => OK + Hello = Hello; +>Hello : typeof Hello +>Hello : typeof Hello + + // Different names + enum => OK + Hello2 = Hello1; +>Hello2 : typeof Hello1 +>Hello1 : typeof Hello1 +} diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types deleted file mode 100644 index e87560c6a3d..00000000000 --- a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.types +++ /dev/null @@ -1,69 +0,0 @@ -=== tests/cases/compiler/map1.ts === - -import { Observable } from "./observable" ->Observable : typeof Observable - -(Observable.prototype).map = function() { } ->(Observable.prototype).map = function() { } : () => void ->(Observable.prototype).map : any ->(Observable.prototype) : any ->Observable.prototype : any ->Observable.prototype : Observable ->Observable : typeof Observable ->prototype : Observable ->map : any ->function() { } : () => void - -declare module "./observable" { - interface I {x0} ->I : I ->x0 : any -} - -=== tests/cases/compiler/map2.ts === -import { Observable } from "./observable" ->Observable : typeof Observable - -(Observable.prototype).map = function() { } ->(Observable.prototype).map = function() { } : () => void ->(Observable.prototype).map : any ->(Observable.prototype) : any ->Observable.prototype : any ->Observable.prototype : Observable ->Observable : typeof Observable ->prototype : Observable ->map : any ->function() { } : () => void - -declare module "./observable" { - interface I {x1} ->I : I ->x1 : any -} - - -=== tests/cases/compiler/observable.ts === -export declare class Observable { ->Observable : Observable ->T : T - - filter(pred: (e:T) => boolean): Observable; ->filter : (pred: (e: T) => boolean) => Observable ->pred : (e: T) => boolean ->e : T ->T : T ->Observable : Observable ->T : T -} - -=== tests/cases/compiler/main.ts === -import { Observable } from "./observable" ->Observable : typeof Observable - -import "./map1"; -import "./map2"; - -let x: Observable; ->x : Observable ->Observable : Observable - diff --git a/tests/cases/compiler/declarationEmit_classMemberNameConflict.ts b/tests/cases/compiler/declarationEmit_classMemberNameConflict.ts new file mode 100644 index 00000000000..16f096d43ca --- /dev/null +++ b/tests/cases/compiler/declarationEmit_classMemberNameConflict.ts @@ -0,0 +1,39 @@ +// @target: es5 +// @module: commonjs +// @declaration: true + +export class C1 { + C1() { } // has to be the same as the class name + + bar() { + return function (t: typeof C1) { + }; + } +} + +export class C2 { + C2: any // has to be the same as the class name + + bar() { + return function (t: typeof C2) { + }; + } +} + +export class C3 { + get C3() { return 0; } // has to be the same as the class name + + bar() { + return function (t: typeof C3) { + }; + } +} + +export class C4 { + set C4(v) { } // has to be the same as the class name + + bar() { + return function (t: typeof C4) { + }; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts b/tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts new file mode 100644 index 00000000000..90b488ebec7 --- /dev/null +++ b/tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts @@ -0,0 +1,24 @@ +// @target: es5 +// @module: commonjs +// @declaration: true + +const Bar = 'bar'; + +enum Hello { + World +} + +enum Hello1 { + World1 +} + +class Foo { + // Same names + string => OK + Bar = Bar; + + // Same names + enum => OK + Hello = Hello; + + // Different names + enum => OK + Hello2 = Hello1; +} \ No newline at end of file From 59f4687cabcfcc3f4fe94733795b8afcddc0fdc4 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 16 Mar 2016 13:45:55 -0700 Subject: [PATCH 230/342] Update symbol baselines --- .../reference/1.0lib-noErrors.symbols | 376 ++--- tests/baselines/reference/2dArrays.symbols | 12 +- ...ndAmbientWithSameNameAndCommonRoot.symbols | 4 +- ...ientClassWithSameNameAndCommonRoot.symbols | 4 +- ...dNonExportedFunctionThatShareAName.symbols | 8 +- ...bleAndNonExportedVarThatShareAName.symbols | 8 +- ...InvalidConstOnPropertyDeclaration2.symbols | 4 +- ...AndModuleWithSameNameAndCommonRoot.symbols | 4 +- ...tendsInterfaceWithInaccessibleType.symbols | 12 +- ...sHeritageListMemberTypeAnnotations.symbols | 10 +- ...ssibleTypeInIndexerTypeAnnotations.symbols | 4 +- ...sibleTypeInTypeParameterConstraint.symbols | 10 +- ...InParameterAndReturnTypeAnnotation.symbols | 8 +- ...ibleTypesInParameterTypeAnnotation.symbols | 8 +- ...essibleTypesInReturnTypeAnnotation.symbols | 8 +- ...sHeritageListMemberTypeAnnotations.symbols | 10 +- ...ssibleTypeInIndexerTypeAnnotations.symbols | 4 +- ...sibleTypeInTypeParameterConstraint.symbols | 10 +- ...ccessibleTypesOnItsExportedMembers.symbols | 4 +- ...ssibleTypesInMemberTypeAnnotations.symbols | 4 +- ...TypesInNestedMemberTypeAnnotations.symbols | 4 +- ...WithInaccessibleTypeAsTypeArgument.symbols | 2 +- ...WithAccessibleTypeInTypeAnnotation.symbols | 4 +- ...thInaccessibleTypeInTypeAnnotation.symbols | 6 +- ...leAndEnumWithSameNameAndCommonRoot.symbols | 4 +- tests/baselines/reference/Protected8.symbols | 4 +- tests/baselines/reference/Protected9.symbols | 2 +- ...AndNonExportedClassesOfTheSameName.symbols | 10 +- ...NonExportedInterfacesOfTheSameName.symbols | 12 +- ...dNonExportedLocalVarsOfTheSameName.symbols | 8 +- ...ithExportedInterfacesOfTheSameName.symbols | 12 +- ...chWithExportedModulesOfTheSameName.symbols | 4 +- ...hTheSameNameAndDifferentCommonRoot.symbols | 8 +- ...esWithTheSameNameAndSameCommonRoot.symbols | 8 +- .../reference/TypeGuardWithArrayUnion.symbols | 2 +- .../abstractInterfaceIdentifierName.symbols | 2 +- .../reference/abstractProperty.symbols | 30 +- .../accessOverriddenBaseClassMember1.symbols | 22 +- .../reference/accessorWithES5.symbols | 4 +- ...dditionOperatorWithAnyAndEveryType.symbols | 2 +- .../aliasUsageInAccessorsOfClass.symbols | 14 +- .../reference/aliasUsageInArray.symbols | 4 +- .../aliasUsageInFunctionExpression.symbols | 4 +- .../aliasUsageInGenericFunction.symbols | 4 +- .../aliasUsageInIndexerOfClass.symbols | 8 +- .../aliasUsageInObjectLiteral.symbols | 4 +- .../aliasUsageInOrExpression.symbols | 4 +- ...UsageInTypeArgumentOfExtendsClause.symbols | 8 +- .../aliasUsageInVarAssignment.symbols | 4 +- .../allowSyntheticDefaultImports1.symbols | 2 +- .../allowSyntheticDefaultImports2.symbols | 2 +- .../allowSyntheticDefaultImports4.symbols | 2 +- .../allowSyntheticDefaultImports5.symbols | 2 +- ...ambientClassDeclarationWithExtends.symbols | 4 +- ...tClassMergesOverloadsWithInterface.symbols | 8 +- .../reference/ambientDeclarations.symbols | 4 +- ...oduleWithInternalImportDeclaration.symbols | 2 +- ...leWithoutInternalImportDeclaration.symbols | 2 +- ...mbiguousCallsWhereReturnTypesAgree.symbols | 32 +- .../ambiguousOverloadResolution.symbols | 2 +- .../amdImportNotAsPrimaryExpression.symbols | 8 +- .../reference/amdModuleName1.symbols | 6 +- tests/baselines/reference/anonterface.symbols | 2 +- .../anyAssignabilityInInheritance.symbols | 10 +- .../anyAssignableToEveryType.symbols | 4 +- .../anyAssignableToEveryType2.symbols | 46 +- .../reference/anyIsAssignableToObject.symbols | 4 +- .../reference/anyIsAssignableToVoid.symbols | 4 +- tests/baselines/reference/argsInScope.symbols | 2 +- .../reference/arrayAssignmentTest6.symbols | 10 +- .../baselines/reference/arrayAugment.symbols | 2 +- .../reference/arrayBestCommonTypes.symbols | 136 +- .../arrayLiteralContextualType.symbols | 10 +- ...arrayLiteralsWithRecursiveGenerics.symbols | 10 +- .../reference/arrayOfExportedClass.symbols | 10 +- .../reference/arrayOfFunctionTypes3.symbols | 2 +- ...TypeInSignatureOfInterfaceAndClass.symbols | 22 +- tests/baselines/reference/arrayconcat.symbols | 26 +- .../arrowFunctionExpressions.symbols | 6 +- .../reference/asiInES6Classes.symbols | 4 +- tests/baselines/reference/assign1.symbols | 4 +- .../reference/assignEveryTypeToAny.symbols | 4 +- .../reference/assignToPrototype1.symbols | 2 +- ...ssignmentCompatWithCallSignatures3.symbols | 8 +- ...ssignmentCompatWithCallSignatures5.symbols | 8 +- ...ssignmentCompatWithCallSignatures6.symbols | 26 +- ...mentCompatWithConstructSignatures3.symbols | 8 +- ...mentCompatWithConstructSignatures5.symbols | 8 +- ...mentCompatWithConstructSignatures6.symbols | 26 +- ...ntCompatWithGenericCallSignatures4.symbols | 2 +- .../assignmentCompatWithObjectMembers.symbols | 16 +- ...assignmentCompatWithObjectMembers2.symbols | 12 +- ...assignmentCompatWithObjectMembers3.symbols | 12 +- ...ompatWithObjectMembersNumericNames.symbols | 4 +- .../assignmentCompatability1.symbols | 4 +- .../assignmentCompatability2.symbols | 4 +- .../assignmentCompatability3.symbols | 4 +- .../assignmentCompatability36.symbols | 4 +- .../assignmentCompatability4.symbols | 4 +- .../assignmentCompatability5.symbols | 6 +- .../assignmentCompatability6.symbols | 6 +- .../assignmentCompatability7.symbols | 8 +- .../assignmentCompatability8.symbols | 6 +- .../assignmentCompatability9.symbols | 6 +- ...assignmentNonObjectTypeConstraints.symbols | 4 +- ...ArrowFunctionCapturesArguments_es6.symbols | 2 +- ...asyncArrowFunctionCapturesThis_es6.symbols | 2 +- .../reference/asyncAwait_es6.symbols | 6 +- .../asyncMethodWithSuper_es6.symbols | 6 +- .../reference/augmentExportEquals5.symbols | 14 +- .../reference/augmentExportEquals6.symbols | 2 +- .../reference/augmentExportEquals6_1.symbols | 2 +- ...tedTypeBracketAccessIndexSignature.symbols | 4 +- ...ntedTypeBracketNamedPropertyAccess.symbols | 4 +- .../reference/augmentedTypesClass3.symbols | 8 +- .../augmentedTypesExternalModule1.symbols | 2 +- .../reference/augmentedTypesModules3b.symbols | 16 +- .../reference/augmentedTypesModules4.symbols | 6 +- tests/baselines/reference/avoid.symbols | 2 +- .../baseIndexSignatureResolution.symbols | 4 +- .../baseTypeAfterDerivedType.symbols | 8 +- .../reference/baseTypeOrderChecking.symbols | 2 +- ...baseTypeWrappingInstantiationChain.symbols | 10 +- ...CommonTypeOfConditionalExpressions.symbols | 6 +- ...ommonTypeOfConditionalExpressions2.symbols | 6 +- .../reference/bestCommonTypeOfTuple2.symbols | 18 +- .../bestCommonTypeReturnStatement.symbols | 2 +- ...bestCommonTypeWithContextualTyping.symbols | 8 +- ...stCommonTypeWithOptionalProperties.symbols | 6 +- .../binopAssignmentShouldHaveType.symbols | 8 +- .../bitwiseNotOperatorWithBooleanType.symbols | 2 +- .../bitwiseNotOperatorWithNumberType.symbols | 2 +- .../bitwiseNotOperatorWithStringType.symbols | 2 +- ...nericFunctionWithZeroTypeArguments.symbols | 8 +- ...gnatureAssignabilityInInheritance2.symbols | 80 +- ...gnatureAssignabilityInInheritance4.symbols | 52 +- ...gnatureAssignabilityInInheritance5.symbols | 66 +- ...gnatureAssignabilityInInheritance6.symbols | 40 +- ...lSignatureWithoutAnnotationsOrBody.symbols | 2 +- ...thoutReturnTypeAnnotationInference.symbols | 12 +- ...llSignaturesWithOptionalParameters.symbols | 4 +- ...lSignaturesWithOptionalParameters2.symbols | 14 +- .../reference/callWithSpread.symbols | 14 +- .../reference/callWithSpreadES6.symbols | 14 +- .../reference/callbacksDontShareTypes.symbols | 10 +- .../reference/captureThisInSuperCall.symbols | 6 +- .../capturedLetConstInLoop10.symbols | 36 +- .../capturedLetConstInLoop10_ES6.symbols | 36 +- .../reference/capturedLetConstInLoop9.symbols | 10 +- .../capturedLetConstInLoop9_ES6.symbols | 10 +- tests/baselines/reference/castTest.symbols | 8 +- ...dSpecializationToObjectTypeLiteral.symbols | 8 +- .../checkInfiniteExpansionTermination.symbols | 6 +- ...checkInfiniteExpansionTermination2.symbols | 2 +- .../reference/checkInterfaceBases.symbols | 8 +- ...checkSuperCallBeforeThisAccessing1.symbols | 6 +- ...checkSuperCallBeforeThisAccessing3.symbols | 12 +- ...checkSuperCallBeforeThisAccessing4.symbols | 6 +- ...kSwitchStatementIfCaseTypeIsString.symbols | 2 +- .../reference/circularImportAlias.symbols | 4 +- ...circularTypeAliasForUnionWithClass.symbols | 2 +- ...ularTypeAliasForUnionWithInterface.symbols | 2 +- .../classAbstractAsIdentifier.symbols | 2 +- .../classAppearsToHaveMembersOfObject.symbols | 2 +- .../classConstructorAccessibility4.symbols | 8 +- ...onstructorParametersAccessibility3.symbols | 8 +- .../classDoesNotDependOnPrivateMember.symbols | 2 +- .../reference/classExpressionTest1.symbols | 2 +- .../reference/classExtendingClass.symbols | 12 +- .../reference/classImplementsClass3.symbols | 4 +- .../classImplementsImportedInterface.symbols | 4 +- ...MemberInitializerWithLamdaScoping5.symbols | 2 +- tests/baselines/reference/classOrder1.symbols | 2 +- tests/baselines/reference/classOrder2.symbols | 4 +- .../baselines/reference/classOrderBug.symbols | 6 +- .../reference/classSideInheritance2.symbols | 6 +- .../classWithNoConstructorOrBaseClass.symbols | 6 +- ...PublicMembersEquivalentToInterface.symbols | 14 +- ...ublicMembersEquivalentToInterface2.symbols | 14 +- .../classWithProtectedProperty.symbols | 12 +- .../reference/classWithPublicProperty.symbols | 10 +- tests/baselines/reference/classdecl.symbols | 38 +- .../baselines/reference/clinterfaces.symbols | 8 +- .../cloduleAcrossModuleDefinitions.symbols | 2 +- .../cloduleAndTypeParameters.symbols | 2 +- .../baselines/reference/cloduleTest1.symbols | 2 +- ...oduleWithPriorUninstantiatedModule.symbols | 2 +- ...collisionArgumentsInterfaceMembers.symbols | 6 +- ...deGenModuleWithConstructorChildren.symbols | 2 +- ...ionCodeGenModuleWithMethodChildren.symbols | 8 +- ...isionRestParameterClassConstructor.symbols | 4 +- .../collisionRestParameterClassMethod.symbols | 32 +- ...isionRestParameterInterfaceMembers.symbols | 4 +- ...peratorWithSecondOperandObjectType.symbols | 2 +- .../reference/commentOnAmbientModule.symbols | 2 +- .../reference/commentOnClassMethod1.symbols | 2 +- .../reference/commentOnSignature1.symbols | 6 +- .../reference/commentsClassMembers.symbols | 254 +-- .../reference/commentsInheritance.symbols | 124 +- .../reference/commentsInterface.symbols | 26 +- .../reference/commentsOverloads.symbols | 52 +- .../reference/commentsTypeParameters.symbols | 4 +- .../commentsdoNotEmitComments.symbols | 32 +- .../reference/commentsemitComments.symbols | 32 +- .../commonJSImportAsPrimaryExpression.symbols | 2 +- ...mmonJSImportNotAsPrimaryExpression.symbols | 8 +- ...arisonOperatorWithIdenticalObjects.symbols | 32 +- ...ObjectsOnInstantiatedCallSignature.symbols | 6 +- ...OnInstantiatedConstructorSignature.symbols | 6 +- ...orWithSubtypeObjectOnCallSignature.symbols | 4 +- ...ubtypeObjectOnConstructorSignature.symbols | 4 +- ...rWithSubtypeObjectOnIndexSignature.symbols | 4 +- ...eObjectOnInstantiatedCallSignature.symbols | 4 +- ...OnInstantiatedConstructorSignature.symbols | 4 +- ...ithSubtypeObjectOnOptionalProperty.symbols | 6 +- ...peratorWithSubtypeObjectOnProperty.symbols | 16 +- .../complexClassRelationships.symbols | 16 +- .../computedPropertyNames22_ES5.symbols | 6 +- .../computedPropertyNames22_ES6.symbols | 6 +- .../computedPropertyNames25_ES5.symbols | 4 +- .../computedPropertyNames25_ES6.symbols | 4 +- .../computedPropertyNames29_ES5.symbols | 6 +- .../computedPropertyNames29_ES6.symbols | 6 +- .../computedPropertyNames31_ES5.symbols | 4 +- .../computedPropertyNames31_ES6.symbols | 4 +- .../computedPropertyNames33_ES5.symbols | 2 +- .../computedPropertyNames33_ES6.symbols | 2 +- .../computedPropertyNames37_ES5.symbols | 6 +- .../computedPropertyNames37_ES6.symbols | 6 +- .../computedPropertyNames41_ES5.symbols | 6 +- .../computedPropertyNames41_ES6.symbols | 6 +- ...onditionalOperatorWithIdenticalBCT.symbols | 10 +- ...clarationShadowedByVarDeclaration3.symbols | 8 +- .../constantOverloadFunction.symbols | 8 +- ...tantOverloadFunctionNoSubtypeError.symbols | 8 +- ...intCheckInGenericBaseTypeReference.symbols | 6 +- ...ParameterFromSameTypeParameterList.symbols | 2 +- .../constraintSatisfactionWithAny.symbols | 6 +- ...straintSatisfactionWithEmptyObject.symbols | 8 +- ...ntsThatReferenceOtherContstraints1.symbols | 2 +- ...gnatureAssignabilityInInheritance2.symbols | 80 +- ...gnatureAssignabilityInInheritance4.symbols | 60 +- ...gnatureAssignabilityInInheritance5.symbols | 66 +- ...gnatureAssignabilityInInheritance6.symbols | 40 +- .../reference/constructorArgs.symbols | 4 +- .../constructorHasPrototypeProperty.symbols | 12 +- .../reference/constructorOverloads2.symbols | 4 +- ...torOverloadsWithOptionalParameters.symbols | 4 +- ...onstructorWithExpressionLessReturn.symbols | 6 +- ...ignatureInstatiationContravariance.symbols | 6 +- ...ualSignatureInstatiationCovariance.symbols | 6 +- .../reference/contextualThisType.symbols | 2 +- .../contextualTypeAppliedToVarArgs.symbols | 2 +- .../contextualTypeArrayReturnType.symbols | 4 +- ...ualTypeWithUnionTypeCallSignatures.symbols | 2 +- ...alTypeWithUnionTypeIndexSignatures.symbols | 2 +- ...contextualTypeWithUnionTypeMembers.symbols | 28 +- .../reference/contextualTyping10.symbols | 2 +- .../reference/contextualTyping14.symbols | 2 +- .../reference/contextualTyping15.symbols | 2 +- .../reference/contextualTyping3.symbols | 2 +- .../contextualTypingArrayOfLambdas.symbols | 6 +- ...xtualTypingOfConditionalExpression.symbols | 6 +- ...pingOfLambdaWithMultipleSignatures.symbols | 4 +- ...ontextuallyTypedBindingInitializer.symbols | 10 +- ...edObjectLiteralMethodDeclaration01.symbols | 8 +- tests/baselines/reference/covariance1.symbols | 6 +- .../reference/crashInResolveInterface.symbols | 6 +- .../crashInresolveReturnStatement.symbols | 4 +- .../reference/cyclicModuleImport.symbols | 6 +- .../reference/declFileAccessors.symbols | 40 +- .../reference/declFileConstructors.symbols | 16 +- ...portAssignmentImportInternalModule.symbols | 4 +- ...ExportAssignmentOfGenericInterface.symbols | 2 +- ...ileForClassWithMultipleBaseClasses.symbols | 16 +- ...ClassWithPrivateOverloadedFunction.symbols | 6 +- ...leForInterfaceWithOptionalFunction.symbols | 4 +- ...declFileForInterfaceWithRestParams.symbols | 6 +- .../declFileForTypeParameters.symbols | 8 +- ...nericClassWithGenericExtendedClass.symbols | 6 +- .../reference/declFileGenericType.symbols | 2 +- .../reference/declFileGenericType2.symbols | 8 +- ...leImportModuleWithExportAssignment.symbols | 4 +- .../reference/declFileMethods.symbols | 68 +- .../declFileOptionalInterfaceMethod.symbols | 2 +- .../declFilePrivateMethodOverloads.symbols | 20 +- .../declFileTypeAnnotationParenType.symbols | 2 +- .../declFileTypeAnnotationTypeAlias.symbols | 2 +- .../declFileTypeAnnotationUnionType.symbols | 8 +- .../reference/declFileTypeofClass.symbols | 4 +- ...ngWithClassReferredByExtendsClause.symbols | 6 +- ...useThatHasItsContainerNameConflict.symbols | 4 +- tests/baselines/reference/declInput.symbols | 6 +- tests/baselines/reference/declInput3.symbols | 6 +- tests/baselines/reference/declInput4.symbols | 14 +- .../declarationEmitThisPredicates01.symbols | 2 +- ...eclarationEmit_expressionInExtends.symbols | 2 +- ...clarationEmit_expressionInExtends2.symbols | 4 +- .../declarationEmit_protectedMembers.symbols | 22 +- .../reference/declarationMerging1.symbols | 10 +- .../reference/declarationMerging2.symbols | 10 +- ...nalModuleWithExportAssignedFundule.symbols | 4 +- .../declareFileExportAssignment.symbols | 4 +- ...gnmentWithVarFromVariableStatement.symbols | 4 +- .../reference/declaredExternalModule.symbols | 4 +- ...ExternalModuleWithExportAssignment.symbols | 4 +- .../reference/decoratorMetadata.symbols | 4 +- ...MethodWithNoReturnTypeAnnotation01.symbols | 2 +- .../decoratorMetadataOnInferredType.symbols | 2 +- ...coratorMetadataWithConstructorType.symbols | 2 +- ...WithImportDeclarationNameCollision.symbols | 12 +- ...ithImportDeclarationNameCollision2.symbols | 12 +- ...ithImportDeclarationNameCollision3.symbols | 12 +- ...ithImportDeclarationNameCollision5.symbols | 12 +- ...ithImportDeclarationNameCollision6.symbols | 12 +- ...ithImportDeclarationNameCollision8.symbols | 12 +- .../decoratorOnClassAccessor1.symbols | 2 +- .../decoratorOnClassAccessor2.symbols | 2 +- .../decoratorOnClassAccessor4.symbols | 2 +- .../decoratorOnClassAccessor5.symbols | 2 +- .../reference/decoratorOnClassMethod1.symbols | 2 +- .../reference/decoratorOnClassMethod2.symbols | 2 +- .../decoratorOnClassMethodOverload2.symbols | 4 +- .../decoratorOnClassMethodParameter1.symbols | 2 +- .../decoratorOnClassProperty1.symbols | 2 +- .../decoratorOnClassProperty10.symbols | 2 +- .../decoratorOnClassProperty2.symbols | 2 +- .../decrementOperatorWithAnyOtherType.symbols | 2 +- .../decrementOperatorWithNumberType.symbols | 2 +- .../reference/defaultIndexProps1.symbols | 2 +- .../reference/defaultIndexProps2.symbols | 2 +- .../deleteOperatorWithBooleanType.symbols | 2 +- .../deleteOperatorWithNumberType.symbols | 2 +- .../deleteOperatorWithStringType.symbols | 2 +- ...ivedClassOverridesProtectedMembers.symbols | 20 +- ...vedClassOverridesProtectedMembers2.symbols | 20 +- ...erivedClassOverridesWithoutSubtype.symbols | 4 +- .../reference/derivedClasses.symbols | 8 +- ...vedTypeDoesNotRequireExtendsClause.symbols | 8 +- .../destructuringInFunctionType.symbols | 6 +- .../destructuringWithGenericParameter.symbols | 2 +- .../destructuringWithNewExpression.symbols | 2 +- ...tachedCommentAtStartOfConstructor1.symbols | 12 +- ...tachedCommentAtStartOfConstructor2.symbols | 12 +- ...hedCommentAtStartOfLambdaFunction1.symbols | 8 +- ...hedCommentAtStartOfLambdaFunction2.symbols | 8 +- ...tEmitPinnedCommentOnNotEmittedNode.symbols | 4 +- ...mitPinnedCommentOnNotEmittedNodets.symbols | 4 +- ...nAtObjectLiteralPropertyAssignment.symbols | 6 +- .../reference/dottedSymbolResolution1.symbols | 4 +- ...plicateOverloadInTypeAugmentation1.symbols | 4 +- .../duplicateVariablesByScope.symbols | 2 +- ...assDeclarationWithConstructorInES6.symbols | 24 +- ...ClassDeclarationWithExtensionInES6.symbols | 10 +- ...ssDeclarationWithGetterSetterInES6.symbols | 10 +- ...rationWithLiteralPropertyNameInES6.symbols | 2 +- ...mitClassDeclarationWithMethodInES6.symbols | 12 +- ...arationWithPropertyAssignmentInES6.symbols | 20 +- ...nWithStaticPropertyAssignmentInES6.symbols | 2 +- ...ssDeclarationWithSuperMethodCall01.symbols | 4 +- ...assDeclarationWithThisKeywordInES6.symbols | 24 +- ...onWithTypeArgumentAndOverloadInES6.symbols | 32 +- ...ssDeclarationWithTypeArgumentInES6.symbols | 26 +- .../emitDefaultParametersMethod.symbols | 8 +- .../emitDefaultParametersMethodES6.symbols | 8 +- .../emitMemberAccessExpression.symbols | 2 +- .../emitRestParametersMethod.symbols | 8 +- .../emitRestParametersMethodES6.symbols | 8 +- ...eEmitParameterPropertyDeclaration1.symbols | 4 +- ...itParameterPropertyDeclaration1ES6.symbols | 4 +- ...CallBeforeEmitPropertyDeclaration1.symbols | 4 +- ...lBeforeEmitPropertyDeclaration1ES6.symbols | 4 +- ...onAndParameterPropertyDeclaration1.symbols | 6 +- ...ndParameterPropertyDeclaration1ES6.symbols | 6 +- .../baselines/reference/emptyIndexer.symbols | 2 +- .../reference/es2015modulekind.symbols | 2 +- .../es2015modulekindWithES6Target.symbols | 2 +- tests/baselines/reference/es3-amd.symbols | 2 +- .../reference/es3-declaration-amd.symbols | 2 +- .../reference/es3-sourcemap-amd.symbols | 2 +- tests/baselines/reference/es5-amd.symbols | 2 +- .../baselines/reference/es5-commonjs.symbols | 2 +- .../baselines/reference/es5-commonjs4.symbols | 2 +- .../reference/es5-declaration-amd.symbols | 2 +- .../reference/es5-souremap-amd.symbols | 2 +- tests/baselines/reference/es5-system.symbols | 2 +- tests/baselines/reference/es5-umd.symbols | 2 +- tests/baselines/reference/es5-umd2.symbols | 2 +- tests/baselines/reference/es5-umd3.symbols | 2 +- tests/baselines/reference/es5-umd4.symbols | 2 +- .../es5ExportDefaultClassDeclaration.symbols | 2 +- .../es5ExportDefaultClassDeclaration2.symbols | 2 +- .../es5ExportDefaultClassDeclaration3.symbols | 2 +- .../es5ExportDefaultClassDeclaration4.symbols | 2 +- .../reference/es5ExportEqualsDts.symbols | 2 +- .../es5ModuleWithModuleGenAmd.symbols | 2 +- .../es5ModuleWithModuleGenCommonjs.symbols | 2 +- .../es5ModuleWithoutModuleGenTarget.symbols | 2 +- tests/baselines/reference/es6-amd.symbols | 2 +- .../reference/es6-declaration-amd.symbols | 2 +- .../reference/es6-sourcemap-amd.symbols | 2 +- tests/baselines/reference/es6-umd.symbols | 2 +- tests/baselines/reference/es6-umd2.symbols | 2 +- .../baselines/reference/es6ClassTest3.symbols | 18 +- .../baselines/reference/es6ClassTest4.symbols | 8 +- .../baselines/reference/es6ClassTest5.symbols | 4 +- .../baselines/reference/es6ClassTest8.symbols | 42 +- .../es6ExportDefaultClassDeclaration.symbols | 2 +- .../es6ExportDefaultClassDeclaration2.symbols | 2 +- ...mportNamedImportWithTypesAndValues.symbols | 8 +- tests/baselines/reference/es6Module.symbols | 2 +- .../es6ModuleClassDeclaration.symbols | 48 +- .../es6ModuleWithModuleGenTargetAmd.symbols | 2 +- ...6ModuleWithModuleGenTargetCommonjs.symbols | 2 +- .../baselines/reference/es6modulekind.symbols | 2 +- .../es6modulekindWithES2015Target.symbols | 2 +- .../reference/escapedIdentifiers.symbols | 18 +- .../everyTypeAssignableToAny.symbols | 4 +- ...ryTypeWithAnnotationAndInitializer.symbols | 12 +- .../everyTypeWithInitializer.symbols | 12 +- .../exportAssignClassAndModule.symbols | 2 +- .../exportAssignValueAndType.symbols | 4 +- ...exportAssignedTypeAsTypeAnnotation.symbols | 2 +- .../reference/exportAssignmentClass.symbols | 2 +- .../exportAssignmentGenericType.symbols | 2 +- .../exportAssignmentInterface.symbols | 2 +- .../exportAssignmentMergedInterface.symbols | 6 +- .../exportAssignmentOfGenericType1.symbols | 2 +- .../exportAssignmentTopLevelClodule.symbols | 2 +- ...entWithImportStatementPrivacyError.symbols | 4 +- .../exportAssignmentWithPrivacyError.symbols | 4 +- .../baselines/reference/exportCodeGen.symbols | 8 +- .../reference/exportEqualNamespaces.symbols | 2 +- .../baselines/reference/exportImport.symbols | 2 +- .../reference/exportImportAlias.symbols | 16 +- .../reference/exportImportAndClodule.symbols | 6 +- .../exportImportNonInstantiatedModule.symbols | 2 +- ...exportImportNonInstantiatedModule2.symbols | 2 +- .../reference/exportNonVisibleType.symbols | 16 +- .../reference/exportPrivateType.symbols | 10 +- .../reference/exportStarForValues.symbols | 2 +- .../reference/exportStarForValues10.symbols | 2 +- .../reference/exportStarForValues2.symbols | 2 +- .../reference/exportStarForValues3.symbols | 8 +- .../reference/exportStarForValues4.symbols | 6 +- .../reference/exportStarForValues5.symbols | 2 +- .../reference/exportStarForValues6.symbols | 2 +- .../reference/exportStarForValues7.symbols | 2 +- .../reference/exportStarForValues8.symbols | 8 +- .../reference/exportStarForValues9.symbols | 6 +- .../exportStarForValuesInSystem.symbols | 2 +- ...faceInaccessibleInCallbackInModule.symbols | 2 +- .../baselines/reference/extBaseClass1.symbols | 2 +- .../extendAndImplementTheSameBaseType.symbols | 6 +- .../extendBaseClassBeforeItsDeclared.symbols | 2 +- .../reference/extendBooleanInterface.symbols | 4 +- .../reference/extendNonClassSymbol1.symbols | 2 +- .../reference/extendNumberInterface.symbols | 4 +- .../reference/extendStringInterface.symbols | 4 +- .../extendedInterfaceGenericType.symbols | 4 +- ...ingClassFromAliasAndUsageInIndexer.symbols | 4 +- .../reference/externModuleClobber.symbols | 2 +- .../externalModuleAssignToVar.symbols | 6 +- .../externalModuleQualification.symbols | 4 +- .../baselines/reference/fatArrowSelf.symbols | 16 +- ...lInMissingTypeArgsOnConstructCalls.symbols | 2 +- .../fixingTypeParametersRepeatedly3.symbols | 4 +- .../baselines/reference/fluentClasses.symbols | 6 +- .../reference/fluentInterfaces.symbols | 6 +- tests/baselines/reference/for-of18.symbols | 2 +- tests/baselines/reference/for-of19.symbols | 2 +- tests/baselines/reference/for-of20.symbols | 2 +- tests/baselines/reference/for-of21.symbols | 2 +- tests/baselines/reference/for-of22.symbols | 2 +- tests/baselines/reference/for-of23.symbols | 2 +- tests/baselines/reference/for-of26.symbols | 2 +- tests/baselines/reference/for-of28.symbols | 2 +- .../baselines/reference/forStatements.symbols | 12 +- .../forStatementsMultipleValidDecl.symbols | 4 +- .../baselines/reference/functionCall5.symbols | 2 +- .../functionConstraintSatisfaction.symbols | 6 +- .../functionConstraintSatisfaction3.symbols | 4 +- ...unctionExpressionContextualTyping1.symbols | 2 +- .../reference/functionImplementations.symbols | 8 +- .../reference/functionOverloads44.symbols | 6 +- .../reference/functionOverloads45.symbols | 6 +- .../reference/functionOverloads7.symbols | 16 +- .../functionOverloadsOnGenericArity1.symbols | 4 +- .../functionOverloadsOnGenericArity2.symbols | 6 +- ...verloadsRecursiveGenericReturnType.symbols | 4 +- .../functionSubtypingOfVarArgs.symbols | 10 +- .../functionSubtypingOfVarArgs2.symbols | 10 +- ...unctionTypeArgumentArrayAssignment.symbols | 4 +- .../funduleUsedAcrossFileBoundary.symbols | 2 +- .../generatedContextualTyping.symbols | 128 +- .../generativeRecursionWithTypeOf.symbols | 2 +- .../reference/generatorES6_2.symbols | 2 +- .../generatorInAmbientContext5.symbols | 2 +- .../reference/generatorOverloads4.symbols | 6 +- .../reference/generatorTypeCheck17.symbols | 4 +- .../reference/generatorTypeCheck19.symbols | 4 +- ...onGenericInterfaceWithTheSameName2.symbols | 8 +- ...ricArgumentCallSigAssignmentCompat.symbols | 4 +- .../genericBaseClassLiteralProperty.symbols | 6 +- .../genericBaseClassLiteralProperty2.symbols | 8 +- .../genericCallTypeArgumentInference.symbols | 36 +- ...thConstraintsTypeArgumentInference.symbols | 42 +- .../genericCallWithFixedArguments.symbols | 4 +- ...ricCallWithFunctionTypedArguments4.symbols | 4 +- .../genericCallWithObjectTypeArgs2.symbols | 10 +- ...llWithObjectTypeArgsAndConstraints.symbols | 8 +- ...lWithObjectTypeArgsAndConstraints2.symbols | 6 +- .../genericCallbacksAndClassHierarchy.symbols | 8 +- .../genericClassExpressionInFunction.symbols | 10 +- ...sPropertyInheritanceSpecialization.symbols | 54 +- ...ssWithObjectTypeArgsAndConstraints.symbols | 16 +- .../genericClassWithStaticFactory.symbols | 150 +- .../reference/genericClasses0.symbols | 2 +- .../reference/genericClasses1.symbols | 2 +- .../reference/genericClasses2.symbols | 8 +- .../reference/genericClasses3.symbols | 6 +- .../reference/genericClasses4.symbols | 24 +- .../reference/genericClassesInModule2.symbols | 8 +- .../reference/genericCloduleInModule.symbols | 2 +- .../reference/genericConstraint3.symbols | 4 +- ...icConstraintOnExtendedBuiltinTypes.symbols | 8 +- ...cConstraintOnExtendedBuiltinTypes2.symbols | 8 +- .../reference/genericFunctions3.symbols | 2 +- ...icFunctionsWithOptionalParameters1.symbols | 2 +- ...icFunctionsWithOptionalParameters3.symbols | 6 +- .../reference/genericImplements.symbols | 12 +- .../reference/genericInference2.symbols | 6 +- .../reference/genericInstanceOf.symbols | 14 +- ...antiationEquivalentToObjectLiteral.symbols | 4 +- .../genericInterfaceImplementation.symbols | 8 +- .../genericInterfaceTypeCall.symbols | 6 +- .../genericMethodOverspecialization.symbols | 6 +- .../genericObjectLitReturnType.symbols | 2 +- .../reference/genericOfACloduleType1.symbols | 4 +- .../reference/genericOfACloduleType2.symbols | 4 +- .../genericOverloadSignatures.symbols | 8 +- .../genericPrototypeProperty.symbols | 4 +- .../genericPrototypeProperty2.symbols | 10 +- .../genericPrototypeProperty3.symbols | 8 +- ...ecursiveImplicitConstructorErrors2.symbols | 4 +- .../genericReversingTypeParameters.symbols | 6 +- .../genericReversingTypeParameters2.symbols | 6 +- ...enericSpecializationToTypeLiteral1.symbols | 32 +- .../reference/genericSpecializations1.symbols | 8 +- .../reference/genericTypeAliases.symbols | 6 +- .../genericTypeArgumentInference1.symbols | 4 +- .../genericTypeWithCallableMembers.symbols | 14 +- .../genericTypeWithMultipleBases1.symbols | 6 +- .../genericTypeWithMultipleBases2.symbols | 6 +- .../genericTypeWithMultipleBases3.symbols | 4 +- ...llSignatureReturningSpecialization.symbols | 2 +- .../genericWithCallSignatures1.symbols | 8 +- ...ricWithIndexerOfTypeParameterType1.symbols | 8 +- ...ricWithIndexerOfTypeParameterType2.symbols | 6 +- tests/baselines/reference/generics0.symbols | 2 +- .../reference/generics1NoError.symbols | 10 +- .../reference/generics2NoError.symbols | 10 +- tests/baselines/reference/generics3.symbols | 6 +- .../reference/generics4NoError.symbols | 6 +- .../heterogeneousArrayLiterals.symbols | 6 +- tests/baselines/reference/icomparable.symbols | 2 +- .../reference/ifDoWhileStatements.symbols | 18 +- .../reference/illegalGenericWrapping1.symbols | 8 +- .../reference/implementArrayInterface.symbols | 52 +- ...mplementInterfaceAnyMemberWithVoid.symbols | 4 +- .../implementsInClassExpression.symbols | 2 +- .../implicitAnyAnyReturningFunction.symbols | 4 +- .../reference/implicitAnyGenerics.symbols | 2 +- .../reference/implicitAnyInCatch.symbols | 2 +- .../reference/importAliasIdentifiers.symbols | 14 +- ...ortAndVariableDeclarationConflict2.symbols | 2 +- tests/baselines/reference/importDecl.symbols | 8 +- .../importDeclarationUsedAsTypeQuery.symbols | 2 +- .../reference/importImportOnlyModule.symbols | 2 +- .../reference/importInTypePosition.symbols | 4 +- .../importOnAliasedIdentifiers.symbols | 4 +- .../reference/importStatements.symbols | 4 +- .../importUsedInExtendsList1.symbols | 2 +- .../import_reference-exported-alias.symbols | 2 +- .../import_reference-to-type-alias.symbols | 2 +- ...renecing-aliased-type-throug-array.symbols | 2 +- .../importedAliasesInTypePositions.symbols | 4 +- .../reference/inOperatorWithGeneric.symbols | 2 +- .../inOperatorWithValidOperands.symbols | 4 +- .../incrementOperatorWithAnyOtherType.symbols | 2 +- .../incrementOperatorWithNumberType.symbols | 2 +- tests/baselines/reference/indexer.symbols | 2 +- tests/baselines/reference/indexer2.symbols | 2 +- tests/baselines/reference/indexerA.symbols | 2 +- .../indexerReturningTypeParameter1.symbols | 4 +- .../reference/indexersInClassType.symbols | 2 +- .../reference/inferSecondaryParameter.symbols | 2 +- ...erentialTypingObjectLiteralMethod1.symbols | 2 +- ...nferentialTypingUsingApparentType3.symbols | 8 +- ...ypeThroughInheritanceInstantiation.symbols | 4 +- ...niteExpansionThroughInstantiation2.symbols | 2 +- ...initeExpansionThroughTypeInference.symbols | 4 +- .../infinitelyExpandingBaseTypes1.symbols | 4 +- .../infinitelyExpandingBaseTypes2.symbols | 4 +- ...finitelyExpandingTypeAssignability.symbols | 2 +- .../infinitelyExpandingTypes3.symbols | 10 +- .../infinitelyExpandingTypes4.symbols | 6 +- .../infinitelyExpandingTypes5.symbols | 2 +- ...nitelyExpandingTypesNonGenericBase.symbols | 6 +- .../infinitelyGenerativeInheritance1.symbols | 6 +- ...amePrivatePropertiesFromSameOrigin.symbols | 4 +- ...eritanceMemberFuncOverridingMethod.symbols | 4 +- ...ceMemberPropertyOverridingProperty.symbols | 4 +- ...FunctionOverridingInstanceProperty.symbols | 2 +- .../inheritedGenericCallSignature.symbols | 2 +- ...IndexSignaturesFromDifferentBases2.symbols | 2 +- .../baselines/reference/innerAliases2.symbols | 2 +- .../reference/innerBoundLambdaEmit.symbols | 2 +- tests/baselines/reference/innerExtern.symbols | 2 +- ...nerTypeParameterShadowingOuterOne2.symbols | 8 +- .../instanceAndStaticDeclarations1.symbols | 14 +- .../instanceMemberInitialization.symbols | 2 +- .../reference/instanceOfAssignability.symbols | 28 +- .../instanceOfInExternalModules.symbols | 2 +- .../reference/instanceSubtypeCheck1.symbols | 4 +- ...eGenericClassWithZeroTypeArguments.symbols | 6 +- .../instantiatedBaseTypeConstraints.symbols | 4 +- .../reference/instantiatedModule.symbols | 8 +- ...stantiatedReturnTypeContravariance.symbols | 8 +- .../interMixingModulesInterfaces0.symbols | 4 +- .../interMixingModulesInterfaces1.symbols | 4 +- .../interMixingModulesInterfaces2.symbols | 4 +- .../interMixingModulesInterfaces3.symbols | 4 +- .../interMixingModulesInterfaces4.symbols | 4 +- .../interMixingModulesInterfaces5.symbols | 4 +- tests/baselines/reference/interface0.symbols | 2 +- .../reference/interfaceClassMerging.symbols | 18 +- .../reference/interfaceClassMerging2.symbols | 16 +- .../reference/interfaceContextualType.symbols | 22 +- .../reference/interfaceDeclaration5.symbols | 2 +- .../reference/interfaceExtendsClass1.symbols | 10 +- .../interfaceInReopenedModule.symbols | 2 +- .../baselines/reference/interfaceOnly.symbols | 4 +- .../interfacePropertiesWithSameName1.symbols | 10 +- .../reference/interfaceSubtyping.symbols | 6 +- .../interfaceThatHidesBaseProperty.symbols | 4 +- .../interfaceWithCommaSeparators.symbols | 4 +- .../interfaceWithOptionalProperty.symbols | 2 +- .../interfaceWithPropertyOfEveryType.symbols | 32 +- .../baselines/reference/interfacedecl.symbols | 18 +- ...asClassInsideLocalModuleWithExport.symbols | 2 +- ...lassInsideLocalModuleWithoutExport.symbols | 2 +- ...lassInsideTopLevelModuleWithExport.symbols | 2 +- ...sInsideTopLevelModuleWithoutExport.symbols | 2 +- .../internalAliasUninitializedModule.symbols | 2 +- ...dModuleInsideLocalModuleWithExport.symbols | 2 +- ...duleInsideLocalModuleWithoutExport.symbols | 2 +- ...duleInsideTopLevelModuleWithExport.symbols | 2 +- ...eInsideTopLevelModuleWithoutExport.symbols | 2 +- ...ssNotReferencingInstanceNoConflict.symbols | 4 +- ...ssNotReferencingInstanceNoConflict.symbols | 4 +- ...leNotReferencingInstanceNoConflict.symbols | 2 +- .../intersectionTypeEquivalence.symbols | 6 +- .../reference/intersectionTypeMembers.symbols | 12 +- ...dThisEmitInContextualObjectLiteral.symbols | 12 +- .../reference/invalidUndefinedValues.symbols | 4 +- tests/baselines/reference/ipromise2.symbols | 12 +- tests/baselines/reference/ipromise3.symbols | 10 +- tests/baselines/reference/ipromise4.symbols | 10 +- .../isDeclarationVisibleNodeKinds.symbols | 4 +- .../reference/iterableArrayPattern1.symbols | 2 +- .../reference/iterableArrayPattern11.symbols | 6 +- .../reference/iterableArrayPattern12.symbols | 6 +- .../reference/iterableArrayPattern13.symbols | 6 +- .../reference/iterableArrayPattern2.symbols | 2 +- .../reference/iterableArrayPattern3.symbols | 6 +- .../reference/iterableArrayPattern4.symbols | 6 +- .../reference/iterableArrayPattern9.symbols | 6 +- .../reference/iteratorSpreadInArray.symbols | 2 +- .../reference/iteratorSpreadInArray2.symbols | 4 +- .../reference/iteratorSpreadInArray3.symbols | 2 +- .../reference/iteratorSpreadInArray4.symbols | 2 +- .../reference/iteratorSpreadInArray7.symbols | 2 +- .../reference/iteratorSpreadInCall11.symbols | 2 +- .../reference/iteratorSpreadInCall12.symbols | 4 +- .../reference/iteratorSpreadInCall3.symbols | 2 +- .../reference/iteratorSpreadInCall5.symbols | 4 +- ...ClassMethodContainingArrowFunction.symbols | 6 +- tests/baselines/reference/libdtsFix.symbols | 2 +- tests/baselines/reference/listFailure.symbols | 26 +- tests/baselines/reference/localTypes1.symbols | 36 +- tests/baselines/reference/localTypes2.symbols | 12 +- tests/baselines/reference/localTypes3.symbols | 12 +- tests/baselines/reference/localTypes5.symbols | 2 +- .../logicalNotOperatorWithBooleanType.symbols | 2 +- .../logicalNotOperatorWithNumberType.symbols | 2 +- .../logicalNotOperatorWithStringType.symbols | 2 +- tests/baselines/reference/m7Bugs.symbols | 6 +- ...memberFunctionsWithPublicOverloads.symbols | 28 +- .../memberVariableDeclarations1.symbols | 32 +- .../reference/mergeThreeInterfaces.symbols | 24 +- .../reference/mergeThreeInterfaces2.symbols | 12 +- .../reference/mergeTwoInterfaces.symbols | 18 +- .../reference/mergeTwoInterfaces2.symbols | 8 +- .../reference/mergedClassInterface.symbols | 8 +- .../reference/mergedDeclarations1.symbols | 4 +- .../reference/mergedDeclarations5.symbols | 4 +- .../reference/mergedDeclarations6.symbols | 10 +- .../mergedInheritedClassInterface.symbols | 20 +- .../mergedInterfaceFromMultipleFiles1.symbols | 8 +- .../mergedInterfacesWithMultipleBases.symbols | 32 +- ...mergedInterfacesWithMultipleBases2.symbols | 48 +- ...mergedInterfacesWithMultipleBases3.symbols | 24 +- .../methodContainingLocalFunction.symbols | 6 +- .../methodSignatureDeclarationEmit1.symbols | 6 +- .../mismatchedGenericArguments1.symbols | 6 +- .../missingImportAfterModuleImport.symbols | 4 +- tests/baselines/reference/missingSelf.symbols | 16 +- .../reference/missingTypeArguments3.symbols | 40 +- .../baselines/reference/mixedExports.symbols | 4 +- ...OnClassDeclarationMemberInFunction.symbols | 4 +- .../reference/moduleAliasInterface.symbols | 2 +- .../moduleAndInterfaceSharingName4.symbols | 2 +- ...ationCollidingNamesInAugmentation1.symbols | 57 - ...moduleAugmentationDeclarationEmit1.symbols | 4 +- ...moduleAugmentationDeclarationEmit2.symbols | 4 +- ...leAugmentationExtendAmbientModule1.symbols | 4 +- ...leAugmentationExtendAmbientModule2.symbols | 4 +- ...oduleAugmentationExtendFileModule1.symbols | 4 +- ...oduleAugmentationExtendFileModule2.symbols | 4 +- .../moduleAugmentationGlobal1.symbols | 4 +- .../moduleAugmentationGlobal2.symbols | 2 +- .../moduleAugmentationGlobal3.symbols | 2 +- ...duleAugmentationImportsAndExports1.symbols | 4 +- ...duleAugmentationImportsAndExports4.symbols | 12 +- ...duleAugmentationImportsAndExports6.symbols | 12 +- ...moduleAugmentationInAmbientModule1.symbols | 4 +- ...moduleAugmentationInAmbientModule2.symbols | 4 +- ...moduleAugmentationInAmbientModule3.symbols | 8 +- ...moduleAugmentationInAmbientModule4.symbols | 8 +- ...moduleAugmentationInAmbientModule5.symbols | 4 +- .../moduleAugmentationsBundledOutput1.symbols | 12 +- .../moduleAugmentationsImports1.symbols | 8 +- .../moduleAugmentationsImports2.symbols | 8 +- .../moduleAugmentationsImports3.symbols | 8 +- .../moduleAugmentationsImports4.symbols | 8 +- .../reference/moduleCodeGenTest5.symbols | 8 +- .../reference/moduleIdentifiers.symbols | 4 +- ...moduleMemberWithoutTypeAnnotation1.symbols | 14 +- ...moduleMemberWithoutTypeAnnotation2.symbols | 2 +- tests/baselines/reference/moduleMerge.symbols | 4 +- .../reference/moduleMergeConstructor.symbols | 10 +- .../moduleReopenedTypeOtherBlock.symbols | 4 +- .../moduleReopenedTypeSameBlock.symbols | 4 +- .../reference/moduleVisibilityTest1.symbols | 14 +- .../moduleWithStatementsOfEveryKind.symbols | 24 +- tests/baselines/reference/moduledecl.symbols | 52 +- .../multiExtendsSplitInterfaces2.symbols | 8 +- .../reference/multiImportExport.symbols | 2 +- .../reference/multiModuleClodule1.symbols | 4 +- tests/baselines/reference/mutrec.symbols | 14 +- ...mutuallyRecursiveGenericBaseTypes1.symbols | 8 +- ...mutuallyRecursiveGenericBaseTypes2.symbols | 2 +- .../baselines/reference/nameCollision.symbols | 4 +- ...nExpressionAssignedToClassProperty.symbols | 2 +- .../reference/narrowTypeByInstanceof.symbols | 4 +- .../negateOperatorWithAnyOtherType.symbols | 2 +- .../negateOperatorWithBooleanType.symbols | 2 +- .../negateOperatorWithNumberType.symbols | 2 +- .../negateOperatorWithStringType.symbols | 2 +- .../reference/nestedGenerics.symbols | 2 +- ...edInfinitelyExpandedRecursiveTypes.symbols | 4 +- .../baselines/reference/nestedModules.symbols | 8 +- tests/baselines/reference/nestedSelf.symbols | 8 +- tests/baselines/reference/newArrays.symbols | 20 +- .../reference/newWithSpreadES5.symbols | 2 +- .../reference/newWithSpreadES6.symbols | 2 +- ...nThisExpressionAndLocalVarInMethod.symbols | 4 +- ...hisExpressionAndLocalVarInProperty.symbols | 4 +- ...ivateMembersWithoutTypeAnnotations.symbols | 2 +- ...nominalSubtypeCheckOfTypeParameter.symbols | 14 +- ...ominalSubtypeCheckOfTypeParameter2.symbols | 10 +- ...onflictingRecursiveBaseTypeMembers.symbols | 4 +- .../nonContextuallyTypedLogicalOr.symbols | 8 +- ...cClassExtendingGenericClassWithAny.symbols | 2 +- .../reference/nonInstantiatedModule.symbols | 14 +- tests/baselines/reference/null.symbols | 4 +- .../nullAssignableToEveryType.symbols | 4 +- ...lIsSubtypeOfEverythingButUndefined.symbols | 8 +- .../numericIndexerConstraint3.symbols | 4 +- .../numericIndexerConstraint4.symbols | 4 +- .../baselines/reference/objectIndexer.symbols | 6 +- .../objectLiteralArraySpecialization.symbols | 4 +- .../objectLiteralContextualTyping.symbols | 4 +- .../reference/objectLiteralIndexers.symbols | 4 +- .../objectTypeHidingMembersOfObject.symbols | 4 +- .../objectTypePropertyAccess.symbols | 4 +- ...ureHidingMembersOfExtendedFunction.symbols | 6 +- ...llSignatureHidingMembersOfFunction.symbols | 4 +- ...ureHidingMembersOfExtendedFunction.symbols | 6 +- ...ctSignatureHidingMembersOfFunction.symbols | 4 +- .../reference/objectTypesIdentity.symbols | 8 +- .../reference/objectTypesIdentity2.symbols | 8 +- ...ectTypesIdentityWithCallSignatures.symbols | 10 +- ...ctTypesIdentityWithCallSignatures2.symbols | 10 +- ...CallSignaturesDifferingParamCounts.symbols | 10 +- ...ityWithCallSignaturesWithOverloads.symbols | 30 +- ...sIdentityWithGenericCallSignatures.symbols | 10 +- ...IdentityWithGenericCallSignatures2.symbols | 10 +- ...llSignaturesDifferingByConstraints.symbols | 10 +- ...lSignaturesDifferingByConstraints2.symbols | 12 +- ...lSignaturesDifferingByConstraints3.symbols | 22 +- ...allSignaturesDifferingByReturnType.symbols | 10 +- ...llSignaturesDifferingByReturnType2.symbols | 10 +- ...aturesDifferingTypeParameterCounts.symbols | 10 +- ...naturesDifferingTypeParameterNames.symbols | 10 +- ...enericCallSignaturesOptionalParams.symbols | 10 +- ...nericCallSignaturesOptionalParams2.symbols | 10 +- ...nericCallSignaturesOptionalParams3.symbols | 10 +- ...tSignaturesDifferingByConstraints3.symbols | 10 +- ...tTypesIdentityWithNumericIndexers2.symbols | 4 +- ...objectTypesIdentityWithOptionality.symbols | 8 +- .../objectTypesIdentityWithPrivates.symbols | 8 +- .../objectTypesIdentityWithPrivates2.symbols | 2 +- .../objectTypesIdentityWithPublics.symbols | 8 +- ...ctTypesIdentityWithStringIndexers2.symbols | 4 +- .../optionalAccessorsInInterface1.symbols | 8 +- .../optionalConstructorArgInSuper.symbols | 2 +- .../reference/optionalParamInOverride.symbols | 4 +- tests/baselines/reference/out-flag.symbols | 4 +- .../outModuleTripleSlashRefs.symbols | 8 +- ...BindingAcrossDeclarationBoundaries.symbols | 16 +- ...indingAcrossDeclarationBoundaries2.symbols | 16 +- .../baselines/reference/overloadCrash.symbols | 16 +- ...verloadGenericFunctionWithRestArgs.symbols | 4 +- .../overloadOnConstConstraintChecks1.symbols | 26 +- .../overloadOnConstConstraintChecks2.symbols | 2 +- .../overloadOnConstConstraintChecks3.symbols | 4 +- .../overloadOnConstConstraintChecks4.symbols | 4 +- ...BaseWithBadImplementationInDerived.symbols | 4 +- .../overloadOnConstInCallback1.symbols | 4 +- ...jectLiteralImplementingAnInterface.symbols | 2 +- .../overloadOnConstInheritance1.symbols | 8 +- .../overloadOnConstInheritance3.symbols | 6 +- .../overloadOnConstInheritance4.symbols | 6 +- ...adOnConstNoNonSpecializedSignature.symbols | 4 +- .../reference/overloadOnGenericArity.symbols | 4 +- ...adOnGenericClassAndNonGenericClass.symbols | 12 +- ...erloadResolutionOverNonCTObjectLit.symbols | 10 +- tests/baselines/reference/overloadRet.symbols | 16 +- .../reference/overloadReturnTypes.symbols | 6 +- ...rPropertyInitializerInInitializers.symbols | 4 +- ...rPropertyReferencingOtherParameter.symbols | 4 +- ...parameterReferencesOtherParameter1.symbols | 2 +- ...parameterReferencesOtherParameter2.symbols | 2 +- .../parametersWithNoAnnotationAreAny.symbols | 6 +- .../reference/parseShortform.symbols | 8 +- .../baselines/reference/parser509546.symbols | 2 +- .../reference/parser509546_1.symbols | 2 +- .../reference/parser509546_2.symbols | 2 +- .../baselines/reference/parser643728.symbols | 4 +- .../reference/parserAccessors2.symbols | 2 +- .../parserClassDeclaration16.symbols | 4 +- .../parserClassDeclaration17.symbols | 6 +- .../parserClassDeclaration19.symbols | 2 +- .../parserClassDeclaration26.symbols | 4 +- ...Recovery_IncompleteMemberVariable1.symbols | 26 +- .../parserExportAsFunctionIdentifier.symbols | 2 +- .../parserIndexMemberDeclaration2.symbols | 2 +- .../parserIndexMemberDeclaration3.symbols | 2 +- .../parserIndexMemberDeclaration4.symbols | 2 +- .../parserMemberAccessorDeclaration4.symbols | 2 +- .../reference/parserMethodSignature1.symbols | 2 +- .../reference/parserMethodSignature2.symbols | 2 +- .../reference/parserMethodSignature3.symbols | 2 +- .../reference/parserMethodSignature4.symbols | 2 +- ...parserModifierOnPropertySignature2.symbols | 4 +- .../baselines/reference/parserModule1.symbols | 2 +- .../parserOptionalTypeMembers1.symbols | 12 +- .../parserPropertySignature1.symbols | 2 +- .../parserPropertySignature2.symbols | 2 +- .../parserPropertySignature3.symbols | 2 +- .../parserPropertySignature4.symbols | 2 +- ...versWhenHittingUnexpectedSemicolon.symbols | 4 +- .../plusOperatorWithBooleanType.symbols | 2 +- .../plusOperatorWithNumberType.symbols | 2 +- .../plusOperatorWithStringType.symbols | 2 +- ...cyCheckAnonymousFunctionParameter2.symbols | 2 +- ...OfInterfaceMethodWithTypeParameter.symbols | 2 +- ...duleExportAssignmentOfGenericClass.symbols | 4 +- .../baselines/reference/privacyClass.symbols | 6 +- tests/baselines/reference/privacyFunc.symbols | 62 +- .../baselines/reference/privacyGetter.symbols | 102 +- .../reference/privacyGloClass.symbols | 4 +- .../reference/privacyGloFunc.symbols | 150 +- .../reference/privacyGloGetter.symbols | 42 +- .../reference/privacyGloInterface.symbols | 50 +- .../baselines/reference/privacyGloVar.symbols | 64 +- .../reference/privacyInterface.symbols | 114 +- .../privacyTypeParameterOfFunction.symbols | 36 +- .../privacyTypeParametersOfClass.symbols | 12 +- .../privacyTypeParametersOfInterface.symbols | 56 +- tests/baselines/reference/privacyVar.symbols | 150 +- .../privateInstanceVisibility.symbols | 26 +- .../privatePropertyUsingObjectType.symbols | 8 +- .../reference/privateVisibles.symbols | 12 +- .../reference/promiseChaining.symbols | 12 +- .../reference/promiseIdentity.symbols | 8 +- .../reference/promiseIdentityWithAny.symbols | 4 +- .../promiseIdentityWithConstraints.symbols | 4 +- tests/baselines/reference/promiseTest.symbols | 6 +- .../reference/promiseTypeInference.symbols | 4 +- .../promiseVoidErrorCallback.symbols | 6 +- tests/baselines/reference/promises.symbols | 6 +- .../reference/promisesWithConstraints.symbols | 10 +- ...propagationOfPromiseInitialization.symbols | 2 +- tests/baselines/reference/properties.symbols | 4 +- ...cessOnTypeParameterWithConstraints.symbols | 4 +- ...essOnTypeParameterWithConstraints2.symbols | 10 +- ...essOnTypeParameterWithConstraints3.symbols | 10 +- ...sOnTypeParameterWithoutConstraints.symbols | 4 +- .../propertyNameWithoutTypeAnnotation.symbols | 4 +- .../propertyNamesOfReservedWords.symbols | 252 +-- .../propertyNamesWithStringLiteral.symbols | 10 +- ...ClassPropertyAccessibleWithinClass.symbols | 48 +- ...ssPropertyAccessibleWithinSubclass.symbols | 18 +- ...typeInstantiatedWithBaseConstraint.symbols | 2 +- .../prototypeOnConstructorFunctions.symbols | 2 +- .../reference/quotedPropertyName3.symbols | 4 +- .../readonlyInDeclarationFile.symbols | 26 +- .../reference/reboundBaseClassSymbol.symbols | 4 +- .../recursiveBaseConstructorCreation1.symbols | 2 +- .../recursiveBaseConstructorCreation2.symbols | 2 +- ...tantiationsWithDefaultConstructors.symbols | 2 +- .../recursiveComplicatedClasses.symbols | 6 +- .../recursiveIdenticalAssignment.symbols | 4 +- .../reference/recursiveProperties.symbols | 12 +- ...cializationOfExtendedTypeWithError.symbols | 2 +- .../reference/recursiveTupleTypes1.symbols | 4 +- .../reference/recursiveTupleTypes2.symbols | 4 +- .../reference/recursiveTypeComparison.symbols | 8 +- .../recursiveTypeInGenericConstraint.symbols | 6 +- ...ursiveTypeParameterReferenceError1.symbols | 6 +- ...ursiveTypeParameterReferenceError2.symbols | 12 +- .../reference/recursiveTypes1.symbols | 8 +- ...rsiveTypesUsedAsFunctionParameters.symbols | 8 +- .../recursiveUnionTypeInference.symbols | 2 +- ...ySpecializedConstructorDeclaration.symbols | 2 +- .../reference/reorderProperties.symbols | 8 +- .../reference/requireEmitSemicolon.symbols | 2 +- .../requiredInitializedParameter3.symbols | 4 +- .../requiredInitializedParameter4.symbols | 2 +- ...uleNameWithSameLetDeclarationName2.symbols | 4 +- ...eclarationWhenInBaseTypeResolution.symbols | 1372 ++++++++--------- ...stParameterAssignmentCompatibility.symbols | 6 +- .../reference/returnStatements.symbols | 8 +- .../reversedRecusiveTypeInstantiation.symbols | 6 +- .../scopeResolutionIdentifiers.symbols | 14 +- .../reference/selfInCallback.symbols | 14 +- .../baselines/reference/selfInLambdas.symbols | 18 +- ...gantureIsSubTypeIfTheyAreIdentical.symbols | 4 +- .../reference/sourceMap-Comments.symbols | 2 +- .../sourceMap-FileWithComments.symbols | 24 +- ...sourceMap-StringLiteralWithNewLine.symbols | 2 +- .../sourceMapValidationClass.symbols | 30 +- ...idationClassWithDefaultConstructor.symbols | 4 +- ...onstructorAndCapturedThisStatement.symbols | 8 +- ...DefaultConstructorAndExtendsClause.symbols | 4 +- .../sourceMapValidationClasses.symbols | 8 +- .../sourceMapValidationDecorators.symbols | 28 +- ...structuringForObjectBindingPattern.symbols | 8 +- ...tructuringForObjectBindingPattern2.symbols | 8 +- ...rObjectBindingPatternDefaultValues.symbols | 8 +- ...ObjectBindingPatternDefaultValues2.symbols | 8 +- ...ructuringForOfObjectBindingPattern.symbols | 8 +- ...ucturingForOfObjectBindingPattern2.symbols | 8 +- ...fObjectBindingPatternDefaultValues.symbols | 8 +- ...ObjectBindingPatternDefaultValues2.symbols | 8 +- ...arameterNestedObjectBindingPattern.symbols | 4 +- ...dObjectBindingPatternDefaultValues.symbols | 4 +- ...uringParameterObjectBindingPattern.symbols | 4 +- ...rObjectBindingPatternDefaultValues.symbols | 4 +- ...tionDestructuringVariableStatement.symbols | 4 +- ...ionDestructuringVariableStatement1.symbols | 4 +- ...ringVariableStatementDefaultValues.symbols | 4 +- ...tatementNestedObjectBindingPattern.symbols | 4 +- ...ectBindingPatternWithDefaultValues.symbols | 4 +- ...ourceMapValidationExportAssignment.symbols | 2 +- ...ValidationExportAssignmentCommonjs.symbols | 2 +- ...leFilesWithFileEndingWithInterface.symbols | 8 +- .../reference/specializationError.symbols | 8 +- ...alizationsShouldNotAffectEachOther.symbols | 2 +- .../reference/specializeVarArgs1.symbols | 2 +- .../specializedInheritedConstructors1.symbols | 4 +- .../specializedLambdaTypeArguments.symbols | 2 +- ...cializedOverloadWithRestParameters.symbols | 4 +- ...IsSubtypeOfNonSpecializedSignature.symbols | 40 +- ...tureOverloadReturnTypeWithIndexers.symbols | 16 +- .../staticAndMemberFunctions.symbols | 2 +- ...aticAndNonStaticPropertiesSameName.symbols | 4 +- ...ousTypeNotReferencingTypeParameter.symbols | 4 +- .../reference/staticFactory1.symbols | 4 +- .../reference/staticInheritance.symbols | 6 +- .../staticInstanceResolution.symbols | 2 +- .../staticInterfaceAssignmentCompat.symbols | 2 +- ...aticMemberWithStringAndNumberNames.symbols | 6 +- ...TypeParameterExtendsClauseDeclFile.symbols | 6 +- ...ticPropertyAndFunctionWithSameName.symbols | 4 +- .../strictModeUseContextualKeyword.symbols | 2 +- .../reference/stringIndexingResults.symbols | 4 +- ...stringLiteralTypeIsSubtypeOfString.symbols | 44 +- .../stringLiteralTypesAsTags01.symbols | 10 +- .../stringLiteralTypesAsTags02.symbols | 10 +- .../stringLiteralTypesAsTags03.symbols | 10 +- ...ralTypesInImplementationSignatures.symbols | 4 +- .../stringLiteralTypesOverloads03.symbols | 10 +- .../reference/stripInternal1.symbols | 4 +- tests/baselines/reference/structural1.symbols | 4 +- .../baselines/reference/subtypesOfAny.symbols | 46 +- ...pesOfTypeParameterWithConstraints2.symbols | 8 +- .../reference/subtypingTransitivity.symbols | 6 +- .../subtypingWithCallSignatures2.symbols | 8 +- .../subtypingWithCallSignatures3.symbols | 8 +- .../subtypingWithCallSignatures4.symbols | 8 +- .../subtypingWithConstructSignatures2.symbols | 8 +- .../subtypingWithConstructSignatures3.symbols | 8 +- .../subtypingWithConstructSignatures4.symbols | 8 +- .../subtypingWithConstructSignatures5.symbols | 66 +- .../subtypingWithConstructSignatures6.symbols | 40 +- .../subtypingWithObjectMembers4.symbols | 8 +- ...typingWithObjectMembersOptionality.symbols | 14 +- ...ypingWithObjectMembersOptionality3.symbols | 8 +- ...ypingWithObjectMembersOptionality4.symbols | 8 +- tests/baselines/reference/super2.symbols | 16 +- .../reference/superAccessInFatArrow1.symbols | 10 +- .../superCallBeforeThisAccessing1.symbols | 6 +- .../superCallBeforeThisAccessing2.symbols | 6 +- .../superCallBeforeThisAccessing5.symbols | 6 +- .../superCallBeforeThisAccessing8.symbols | 6 +- ...omClassThatDerivesFromGenericType1.symbols | 2 +- ...omClassThatDerivesFromGenericType2.symbols | 2 +- ...rCallInsideObjectLiteralExpression.symbols | 2 +- ...uperCallParameterContextualTyping1.symbols | 2 +- ...uperCallParameterContextualTyping3.symbols | 4 +- tests/baselines/reference/superCalls.symbols | 4 +- .../reference/superInCatchBlock1.symbols | 4 +- ...ComputedPropertiesOfNestedType_ES5.symbols | 6 +- ...ComputedPropertiesOfNestedType_ES6.symbols | 6 +- .../reference/superPropertyAccess_ES6.symbols | 20 +- .../superWithGenericSpecialization.symbols | 4 +- .../reference/superWithGenerics.symbols | 2 +- .../baselines/reference/symbolType16.symbols | 2 +- .../baselines/reference/symbolType17.symbols | 2 +- .../baselines/reference/symbolType18.symbols | 2 +- .../systemModuleWithSuperClass.symbols | 4 +- ...gsWithManyCallAndMemberExpressions.symbols | 2 +- ...ithManyCallAndMemberExpressionsES6.symbols | 2 +- ...taggedTemplateStringsWithTypedTags.symbols | 8 +- ...gedTemplateStringsWithTypedTagsES6.symbols | 8 +- .../reference/testContainerList.symbols | 2 +- tests/baselines/reference/testTypings.symbols | 2 +- .../baselines/reference/thisBinding2.symbols | 14 +- .../baselines/reference/thisCapture1.symbols | 8 +- .../thisExpressionOfGenericObject.symbols | 2 +- .../reference/thisInInnerFunctions.symbols | 4 +- .../thisInInstanceMemberInitializer.symbols | 6 +- .../baselines/reference/thisInLambda.symbols | 12 +- .../thisInPropertyBoundDeclarations.symbols | 30 +- .../reference/thisTypeAndConstraints.symbols | 6 +- .../reference/thisTypeAsConstraint.symbols | 2 +- .../reference/thisTypeInClasses.symbols | 36 +- .../reference/thisTypeInInterfaces.symbols | 28 +- .../reference/thisTypeInTuples.symbols | 2 +- .../throwInEnclosingStatements.symbols | 8 +- .../reference/throwStatements.symbols | 12 +- ...entsInGenericFunctionTypedArgument.symbols | 10 +- tests/baselines/reference/topLevel.symbols | 28 +- .../transitiveTypeArgumentInference1.symbols | 2 +- .../reference/tsxAttributeResolution.symbols | 2 +- .../reference/tsxAttributeResolution8.symbols | 2 +- .../reference/tsxElementResolution.symbols | 2 +- .../reference/tsxElementResolution13.symbols | 4 +- .../reference/tsxElementResolution9.symbols | 2 +- tests/baselines/reference/tsxEmit1.symbols | 2 +- .../reference/tsxExternalModuleEmit1.symbols | 4 +- .../tsxGenericArrowFunctionParsing.symbols | 2 +- .../reference/tsxInArrowFunction.symbols | 2 +- .../reference/tsxParseTests1.symbols | 4 +- .../reference/tsxParseTests2.symbols | 4 +- .../baselines/reference/tsxReactEmit1.symbols | 2 +- .../baselines/reference/tsxTypeErrors.symbols | 2 +- .../reference/tupleTypeInference.symbols | 10 +- ...edInterfacesWithDifferingOverloads.symbols | 28 +- tests/baselines/reference/typeAliases.symbols | 6 +- ...tationBestCommonTypeInArrayLiteral.symbols | 12 +- .../reference/typeArgInference.symbols | 4 +- .../typeArgumentInferenceOrdering.symbols | 6 +- ...ConstraintsWithConstructSignatures.symbols | 14 +- .../reference/typeGuardFunction.symbols | 8 +- .../typeGuardFunctionGenerics.symbols | 6 +- .../typeGuardFunctionOfFormThis.symbols | 40 +- .../typeGuardOfFormExpr1AndExpr2.symbols | 2 +- .../typeGuardOfFormExpr1OrExpr2.symbols | 2 +- .../typeGuardOfFormInstanceOf.symbols | 8 +- ...peGuardOfFormInstanceOfOnInterface.symbols | 12 +- .../reference/typeGuardOfFormIsType.symbols | 6 +- .../typeGuardOfFormIsTypeOnInterfaces.symbols | 12 +- .../typeGuardOfFormTypeOfBoolean.symbols | 2 +- ...dOfFormTypeOfEqualEqualHasNoEffect.symbols | 2 +- ...ardOfFormTypeOfNotEqualHasNoEffect.symbols | 2 +- .../typeGuardOfFormTypeOfNumber.symbols | 2 +- .../typeGuardOfFormTypeOfOther.symbols | 2 +- .../typeGuardOfFormTypeOfString.symbols | 2 +- .../typeGuardsInClassAccessors.symbols | 8 +- .../typeGuardsInClassMethods.symbols | 4 +- .../reference/typeGuardsInProperties.symbols | 32 +- .../typeGuardsWithInstanceOf.symbols | 2 +- .../typeInferenceReturnTypeCallback.symbols | 12 +- .../reference/typeLiteralCallback.symbols | 6 +- .../reference/typeOfPrototype.symbols | 2 +- .../typeOfThisInFunctionExpression.symbols | 4 +- .../typeOfThisInMemberFunctions.symbols | 10 +- .../typeParameterAsTypeArgument.symbols | 4 +- ...ParameterAsTypeParameterConstraint.symbols | 4 +- ...ypeParameterConstraintTransitively.symbols | 6 +- ...peParameterConstraintTransitively2.symbols | 6 +- ...erCompatibilityAccrossDeclarations.symbols | 4 +- ...erConstrainedToOuterTypeParameter2.symbols | 4 +- ...peParameterConstraintInstantiation.symbols | 2 +- .../reference/typeParameterEquality.symbols | 4 +- .../typeParameterExtendingUnion1.symbols | 6 +- .../typeParameterExtendingUnion2.symbols | 6 +- ...typeParameterFixingWithConstraints.symbols | 2 +- ...ixingWithContextSensitiveArguments.symbols | 4 +- ...xingWithContextSensitiveArguments4.symbols | 4 +- ...xingWithContextSensitiveArguments5.symbols | 4 +- .../typeParameterOrderReversal.symbols | 2 +- ...eterUsedAsTypeParameterConstraint3.symbols | 16 +- ...ParametersAreIdenticalToThemselves.symbols | 70 +- ...peParametersAvailableInNestedScope.symbols | 6 +- .../reference/typePredicateASI.symbols | 4 +- .../typeQueryWithReservedWords.symbols | 12 +- .../reference/typeResolution.symbols | 22 +- tests/baselines/reference/typeVal.symbols | 2 +- .../typedGenericPrototypeMember.symbols | 2 +- .../baselines/reference/typeofClass2.symbols | 2 +- .../reference/typeofInterface.symbols | 4 +- .../typeofModuleWithoutExports.symbols | 2 +- .../typeofOperatorWithBooleanType.symbols | 2 +- .../typeofOperatorWithNumberType.symbols | 2 +- .../typesWithOptionalProperty.symbols | 6 +- ...typesWithSpecializedCallSignatures.symbols | 20 +- ...WithSpecializedConstructSignatures.symbols | 6 +- .../reference/umd-augmentation-1.symbols | 12 +- .../reference/umd-augmentation-2.symbols | 12 +- .../reference/umd-augmentation-3.symbols | 12 +- .../reference/umd-augmentation-4.symbols | 12 +- tests/baselines/reference/umd1.symbols | 2 +- tests/baselines/reference/umd3.symbols | 2 +- tests/baselines/reference/umd4.symbols | 2 +- tests/baselines/reference/umd8.symbols | 2 +- .../undefinedAssignableToEveryType.symbols | 4 +- .../undefinedIsSubtypeOfEverything.symbols | 50 +- .../reference/underscoreMapFirst.symbols | 12 +- .../reference/underscoreTest1.symbols | 998 ++++++------ .../unionAndIntersectionInference1.symbols | 6 +- .../unionTypeFromArrayLiteral.symbols | 8 +- .../unionTypeParameterInference.symbols | 2 +- ...TypeWithRecursiveSubtypeReduction1.symbols | 8 +- .../reference/unusedImportDeclaration.symbols | 2 +- ...uleWithExportImportInValuePosition.symbols | 6 +- .../validUndefinedAssignments.symbols | 4 +- .../reference/validUseOfThisInSuper.symbols | 2 +- .../varArgsOnConstructorTypes.symbols | 16 +- tests/baselines/reference/varAsID.symbols | 8 +- tests/baselines/reference/vardecl.symbols | 4 +- .../visibilityOfCrossModuleTypeUsage.symbols | 6 +- .../visibilityOfTypeParameters.symbols | 2 +- .../voidOperatorWithBooleanType.symbols | 2 +- .../voidOperatorWithNumberType.symbols | 2 +- .../voidOperatorWithStringType.symbols | 2 +- .../reference/withImportDecl.symbols | 2 +- .../wrappedAndRecursiveConstraints.symbols | 6 +- .../wrappedAndRecursiveConstraints3.symbols | 2 +- 1184 files changed, 6778 insertions(+), 6835 deletions(-) delete mode 100644 tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols diff --git a/tests/baselines/reference/1.0lib-noErrors.symbols b/tests/baselines/reference/1.0lib-noErrors.symbols index 789018598d1..adedbdb9aa2 100644 --- a/tests/baselines/reference/1.0lib-noErrors.symbols +++ b/tests/baselines/reference/1.0lib-noErrors.symbols @@ -106,22 +106,22 @@ interface PropertyDescriptor { >PropertyDescriptor : Symbol(PropertyDescriptor, Decl(1.0lib-noErrors.ts, 79, 66)) configurable?: boolean; ->configurable : Symbol(configurable, Decl(1.0lib-noErrors.ts, 81, 30)) +>configurable : Symbol(PropertyDescriptor.configurable, Decl(1.0lib-noErrors.ts, 81, 30)) enumerable?: boolean; ->enumerable : Symbol(enumerable, Decl(1.0lib-noErrors.ts, 82, 27)) +>enumerable : Symbol(PropertyDescriptor.enumerable, Decl(1.0lib-noErrors.ts, 82, 27)) value?: any; ->value : Symbol(value, Decl(1.0lib-noErrors.ts, 83, 25)) +>value : Symbol(PropertyDescriptor.value, Decl(1.0lib-noErrors.ts, 83, 25)) writable?: boolean; ->writable : Symbol(writable, Decl(1.0lib-noErrors.ts, 84, 16)) +>writable : Symbol(PropertyDescriptor.writable, Decl(1.0lib-noErrors.ts, 84, 16)) get?(): any; ->get : Symbol(get, Decl(1.0lib-noErrors.ts, 85, 23)) +>get : Symbol(PropertyDescriptor.get, Decl(1.0lib-noErrors.ts, 85, 23)) set?(v: any): void; ->set : Symbol(set, Decl(1.0lib-noErrors.ts, 86, 16)) +>set : Symbol(PropertyDescriptor.set, Decl(1.0lib-noErrors.ts, 86, 16)) >v : Symbol(v, Decl(1.0lib-noErrors.ts, 87, 9)) } @@ -138,20 +138,20 @@ interface Object { /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ constructor: Function; ->constructor : Symbol(constructor, Decl(1.0lib-noErrors.ts, 94, 18)) +>constructor : Symbol(Object.constructor, Decl(1.0lib-noErrors.ts, 94, 18)) >Function : Symbol(Function, Decl(1.0lib-noErrors.ts, 221, 1), Decl(1.0lib-noErrors.ts, 257, 11)) /** Returns a string representation of an object. */ toString(): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 96, 26)) +>toString : Symbol(Object.toString, Decl(1.0lib-noErrors.ts, 96, 26)) /** Returns a date converted to a string using the current locale. */ toLocaleString(): string; ->toLocaleString : Symbol(toLocaleString, Decl(1.0lib-noErrors.ts, 99, 23)) +>toLocaleString : Symbol(Object.toLocaleString, Decl(1.0lib-noErrors.ts, 99, 23)) /** Returns the primitive value of the specified object. */ valueOf(): Object; ->valueOf : Symbol(valueOf, Decl(1.0lib-noErrors.ts, 102, 29)) +>valueOf : Symbol(Object.valueOf, Decl(1.0lib-noErrors.ts, 102, 29)) >Object : Symbol(Object, Decl(1.0lib-noErrors.ts, 92, 1), Decl(1.0lib-noErrors.ts, 129, 11)) /** @@ -159,7 +159,7 @@ interface Object { * @param v A property name. */ hasOwnProperty(v: string): boolean; ->hasOwnProperty : Symbol(hasOwnProperty, Decl(1.0lib-noErrors.ts, 105, 22)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(1.0lib-noErrors.ts, 105, 22)) >v : Symbol(v, Decl(1.0lib-noErrors.ts, 111, 19)) /** @@ -167,7 +167,7 @@ interface Object { * @param v Another object whose prototype chain is to be checked. */ isPrototypeOf(v: Object): boolean; ->isPrototypeOf : Symbol(isPrototypeOf, Decl(1.0lib-noErrors.ts, 111, 39)) +>isPrototypeOf : Symbol(Object.isPrototypeOf, Decl(1.0lib-noErrors.ts, 111, 39)) >v : Symbol(v, Decl(1.0lib-noErrors.ts, 117, 18)) >Object : Symbol(Object, Decl(1.0lib-noErrors.ts, 92, 1), Decl(1.0lib-noErrors.ts, 129, 11)) @@ -176,7 +176,7 @@ interface Object { * @param v A property name. */ propertyIsEnumerable(v: string): boolean; ->propertyIsEnumerable : Symbol(propertyIsEnumerable, Decl(1.0lib-noErrors.ts, 117, 38)) +>propertyIsEnumerable : Symbol(Object.propertyIsEnumerable, Decl(1.0lib-noErrors.ts, 117, 38)) >v : Symbol(v, Decl(1.0lib-noErrors.ts, 123, 25)) } @@ -332,7 +332,7 @@ interface Function { * @param argArray A set of arguments to be passed to the function. */ apply(thisArg: any, argArray?: any): any; ->apply : Symbol(apply, Decl(1.0lib-noErrors.ts, 226, 20)) +>apply : Symbol(Function.apply, Decl(1.0lib-noErrors.ts, 226, 20)) >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 232, 10)) >argArray : Symbol(argArray, Decl(1.0lib-noErrors.ts, 232, 23)) @@ -342,7 +342,7 @@ interface Function { * @param argArray A list of arguments to be passed to the method. */ call(thisArg: any, ...argArray: any[]): any; ->call : Symbol(call, Decl(1.0lib-noErrors.ts, 232, 45)) +>call : Symbol(Function.call, Decl(1.0lib-noErrors.ts, 232, 45)) >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 239, 9)) >argArray : Symbol(argArray, Decl(1.0lib-noErrors.ts, 239, 22)) @@ -353,22 +353,22 @@ interface Function { * @param argArray A list of arguments to be passed to the new function. */ bind(thisArg: any, ...argArray: any[]): any; ->bind : Symbol(bind, Decl(1.0lib-noErrors.ts, 239, 48)) +>bind : Symbol(Function.bind, Decl(1.0lib-noErrors.ts, 239, 48)) >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 247, 9)) >argArray : Symbol(argArray, Decl(1.0lib-noErrors.ts, 247, 22)) prototype: any; ->prototype : Symbol(prototype, Decl(1.0lib-noErrors.ts, 247, 48)) +>prototype : Symbol(Function.prototype, Decl(1.0lib-noErrors.ts, 247, 48)) length: number; ->length : Symbol(length, Decl(1.0lib-noErrors.ts, 249, 19)) +>length : Symbol(Function.length, Decl(1.0lib-noErrors.ts, 249, 19)) // Non-standard extensions arguments: any; ->arguments : Symbol(arguments, Decl(1.0lib-noErrors.ts, 250, 19)) +>arguments : Symbol(Function.arguments, Decl(1.0lib-noErrors.ts, 250, 19)) caller: Function; ->caller : Symbol(caller, Decl(1.0lib-noErrors.ts, 253, 19)) +>caller : Symbol(Function.caller, Decl(1.0lib-noErrors.ts, 253, 19)) >Function : Symbol(Function, Decl(1.0lib-noErrors.ts, 221, 1), Decl(1.0lib-noErrors.ts, 257, 11)) } @@ -399,10 +399,10 @@ interface IArguments { >index : Symbol(index, Decl(1.0lib-noErrors.ts, 268, 5)) length: number; ->length : Symbol(length, Decl(1.0lib-noErrors.ts, 268, 25)) +>length : Symbol(IArguments.length, Decl(1.0lib-noErrors.ts, 268, 25)) callee: Function; ->callee : Symbol(callee, Decl(1.0lib-noErrors.ts, 269, 19)) +>callee : Symbol(IArguments.callee, Decl(1.0lib-noErrors.ts, 269, 19)) >Function : Symbol(Function, Decl(1.0lib-noErrors.ts, 221, 1), Decl(1.0lib-noErrors.ts, 257, 11)) } @@ -411,14 +411,14 @@ interface String { /** Returns a string representation of a string. */ toString(): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 273, 18)) +>toString : Symbol(String.toString, Decl(1.0lib-noErrors.ts, 273, 18)) /** * Returns the character at the specified index. * @param pos The zero-based index of the desired character. */ charAt(pos: number): string; ->charAt : Symbol(charAt, Decl(1.0lib-noErrors.ts, 275, 23)) +>charAt : Symbol(String.charAt, Decl(1.0lib-noErrors.ts, 275, 23)) >pos : Symbol(pos, Decl(1.0lib-noErrors.ts, 281, 11)) /** @@ -426,7 +426,7 @@ interface String { * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. */ charCodeAt(index: number): number; ->charCodeAt : Symbol(charCodeAt, Decl(1.0lib-noErrors.ts, 281, 32)) +>charCodeAt : Symbol(String.charCodeAt, Decl(1.0lib-noErrors.ts, 281, 32)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 287, 15)) /** @@ -434,7 +434,7 @@ interface String { * @param strings The strings to append to the end of the string. */ concat(...strings: string[]): string; ->concat : Symbol(concat, Decl(1.0lib-noErrors.ts, 287, 38)) +>concat : Symbol(String.concat, Decl(1.0lib-noErrors.ts, 287, 38)) >strings : Symbol(strings, Decl(1.0lib-noErrors.ts, 293, 11)) /** @@ -443,7 +443,7 @@ interface String { * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. */ indexOf(searchString: string, position?: number): number; ->indexOf : Symbol(indexOf, Decl(1.0lib-noErrors.ts, 293, 41)) +>indexOf : Symbol(String.indexOf, Decl(1.0lib-noErrors.ts, 293, 41)) >searchString : Symbol(searchString, Decl(1.0lib-noErrors.ts, 300, 12)) >position : Symbol(position, Decl(1.0lib-noErrors.ts, 300, 33)) @@ -453,7 +453,7 @@ interface String { * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. */ lastIndexOf(searchString: string, position?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(1.0lib-noErrors.ts, 300, 61)) +>lastIndexOf : Symbol(String.lastIndexOf, Decl(1.0lib-noErrors.ts, 300, 61)) >searchString : Symbol(searchString, Decl(1.0lib-noErrors.ts, 307, 16)) >position : Symbol(position, Decl(1.0lib-noErrors.ts, 307, 37)) @@ -462,7 +462,7 @@ interface String { * @param that String to compare to target string */ localeCompare(that: string): number; ->localeCompare : Symbol(localeCompare, Decl(1.0lib-noErrors.ts, 307, 65)) +>localeCompare : Symbol(String.localeCompare, Decl(1.0lib-noErrors.ts, 307, 65)) >that : Symbol(that, Decl(1.0lib-noErrors.ts, 313, 18)) /** @@ -470,7 +470,7 @@ interface String { * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ match(regexp: string): string[]; ->match : Symbol(match, Decl(1.0lib-noErrors.ts, 313, 40), Decl(1.0lib-noErrors.ts, 319, 36)) +>match : Symbol(String.match, Decl(1.0lib-noErrors.ts, 313, 40), Decl(1.0lib-noErrors.ts, 319, 36)) >regexp : Symbol(regexp, Decl(1.0lib-noErrors.ts, 319, 10)) /** @@ -478,7 +478,7 @@ interface String { * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. */ match(regexp: RegExp): string[]; ->match : Symbol(match, Decl(1.0lib-noErrors.ts, 313, 40), Decl(1.0lib-noErrors.ts, 319, 36)) +>match : Symbol(String.match, Decl(1.0lib-noErrors.ts, 313, 40), Decl(1.0lib-noErrors.ts, 319, 36)) >regexp : Symbol(regexp, Decl(1.0lib-noErrors.ts, 325, 10)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) @@ -488,7 +488,7 @@ interface String { * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. */ replace(searchValue: string, replaceValue: string): string; ->replace : Symbol(replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) +>replace : Symbol(String.replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) >searchValue : Symbol(searchValue, Decl(1.0lib-noErrors.ts, 332, 12)) >replaceValue : Symbol(replaceValue, Decl(1.0lib-noErrors.ts, 332, 32)) @@ -498,7 +498,7 @@ interface String { * @param replaceValue A function that returns the replacement text. */ replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; ->replace : Symbol(replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) +>replace : Symbol(String.replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) >searchValue : Symbol(searchValue, Decl(1.0lib-noErrors.ts, 339, 12)) >replaceValue : Symbol(replaceValue, Decl(1.0lib-noErrors.ts, 339, 32)) >substring : Symbol(substring, Decl(1.0lib-noErrors.ts, 339, 48)) @@ -510,7 +510,7 @@ interface String { * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. */ replace(searchValue: RegExp, replaceValue: string): string; ->replace : Symbol(replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) +>replace : Symbol(String.replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) >searchValue : Symbol(searchValue, Decl(1.0lib-noErrors.ts, 346, 12)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) >replaceValue : Symbol(replaceValue, Decl(1.0lib-noErrors.ts, 346, 32)) @@ -521,7 +521,7 @@ interface String { * @param replaceValue A function that returns the replacement text. */ replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; ->replace : Symbol(replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) +>replace : Symbol(String.replace, Decl(1.0lib-noErrors.ts, 325, 36), Decl(1.0lib-noErrors.ts, 332, 63), Decl(1.0lib-noErrors.ts, 339, 102), Decl(1.0lib-noErrors.ts, 346, 63)) >searchValue : Symbol(searchValue, Decl(1.0lib-noErrors.ts, 353, 12)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) >replaceValue : Symbol(replaceValue, Decl(1.0lib-noErrors.ts, 353, 32)) @@ -533,7 +533,7 @@ interface String { * @param regexp The regular expression pattern and applicable flags. */ search(regexp: string): number; ->search : Symbol(search, Decl(1.0lib-noErrors.ts, 353, 102), Decl(1.0lib-noErrors.ts, 359, 35)) +>search : Symbol(String.search, Decl(1.0lib-noErrors.ts, 353, 102), Decl(1.0lib-noErrors.ts, 359, 35)) >regexp : Symbol(regexp, Decl(1.0lib-noErrors.ts, 359, 11)) /** @@ -541,7 +541,7 @@ interface String { * @param regexp The regular expression pattern and applicable flags. */ search(regexp: RegExp): number; ->search : Symbol(search, Decl(1.0lib-noErrors.ts, 353, 102), Decl(1.0lib-noErrors.ts, 359, 35)) +>search : Symbol(String.search, Decl(1.0lib-noErrors.ts, 353, 102), Decl(1.0lib-noErrors.ts, 359, 35)) >regexp : Symbol(regexp, Decl(1.0lib-noErrors.ts, 365, 11)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) @@ -552,7 +552,7 @@ interface String { * If this value is not specified, the substring continues to the end of stringObj. */ slice(start?: number, end?: number): string; ->slice : Symbol(slice, Decl(1.0lib-noErrors.ts, 365, 35)) +>slice : Symbol(String.slice, Decl(1.0lib-noErrors.ts, 365, 35)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 373, 10)) >end : Symbol(end, Decl(1.0lib-noErrors.ts, 373, 25)) @@ -562,7 +562,7 @@ interface String { * @param limit A value used to limit the number of elements returned in the array. */ split(separator: string, limit?: number): string[]; ->split : Symbol(split, Decl(1.0lib-noErrors.ts, 373, 48), Decl(1.0lib-noErrors.ts, 380, 55)) +>split : Symbol(String.split, Decl(1.0lib-noErrors.ts, 373, 48), Decl(1.0lib-noErrors.ts, 380, 55)) >separator : Symbol(separator, Decl(1.0lib-noErrors.ts, 380, 10)) >limit : Symbol(limit, Decl(1.0lib-noErrors.ts, 380, 28)) @@ -572,7 +572,7 @@ interface String { * @param limit A value used to limit the number of elements returned in the array. */ split(separator: RegExp, limit?: number): string[]; ->split : Symbol(split, Decl(1.0lib-noErrors.ts, 373, 48), Decl(1.0lib-noErrors.ts, 380, 55)) +>split : Symbol(String.split, Decl(1.0lib-noErrors.ts, 373, 48), Decl(1.0lib-noErrors.ts, 380, 55)) >separator : Symbol(separator, Decl(1.0lib-noErrors.ts, 387, 10)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) >limit : Symbol(limit, Decl(1.0lib-noErrors.ts, 387, 28)) @@ -584,33 +584,33 @@ interface String { * If end is omitted, the characters from start through the end of the original string are returned. */ substring(start: number, end?: number): string; ->substring : Symbol(substring, Decl(1.0lib-noErrors.ts, 387, 55)) +>substring : Symbol(String.substring, Decl(1.0lib-noErrors.ts, 387, 55)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 395, 14)) >end : Symbol(end, Decl(1.0lib-noErrors.ts, 395, 28)) /** Converts all the alphabetic characters in a string to lowercase. */ toLowerCase(): string; ->toLowerCase : Symbol(toLowerCase, Decl(1.0lib-noErrors.ts, 395, 51)) +>toLowerCase : Symbol(String.toLowerCase, Decl(1.0lib-noErrors.ts, 395, 51)) /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ toLocaleLowerCase(): string; ->toLocaleLowerCase : Symbol(toLocaleLowerCase, Decl(1.0lib-noErrors.ts, 398, 26)) +>toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(1.0lib-noErrors.ts, 398, 26)) /** Converts all the alphabetic characters in a string to uppercase. */ toUpperCase(): string; ->toUpperCase : Symbol(toUpperCase, Decl(1.0lib-noErrors.ts, 401, 32)) +>toUpperCase : Symbol(String.toUpperCase, Decl(1.0lib-noErrors.ts, 401, 32)) /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ toLocaleUpperCase(): string; ->toLocaleUpperCase : Symbol(toLocaleUpperCase, Decl(1.0lib-noErrors.ts, 404, 26)) +>toLocaleUpperCase : Symbol(String.toLocaleUpperCase, Decl(1.0lib-noErrors.ts, 404, 26)) /** Removes the leading and trailing white space and line terminator characters from a string. */ trim(): string; ->trim : Symbol(trim, Decl(1.0lib-noErrors.ts, 407, 32)) +>trim : Symbol(String.trim, Decl(1.0lib-noErrors.ts, 407, 32)) /** Returns the length of a String object. */ length: number; ->length : Symbol(length, Decl(1.0lib-noErrors.ts, 410, 19)) +>length : Symbol(String.length, Decl(1.0lib-noErrors.ts, 410, 19)) // IE extensions /** @@ -619,7 +619,7 @@ interface String { * @param length The number of characters to include in the returned substring. */ substr(from: number, length?: number): string; ->substr : Symbol(substr, Decl(1.0lib-noErrors.ts, 413, 19)) +>substr : Symbol(String.substr, Decl(1.0lib-noErrors.ts, 413, 19)) >from : Symbol(from, Decl(1.0lib-noErrors.ts, 421, 11)) >length : Symbol(length, Decl(1.0lib-noErrors.ts, 421, 24)) @@ -675,7 +675,7 @@ interface Number { * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. */ toString(radix?: number): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 444, 18)) +>toString : Symbol(Number.toString, Decl(1.0lib-noErrors.ts, 444, 18)) >radix : Symbol(radix, Decl(1.0lib-noErrors.ts, 449, 13)) /** @@ -683,7 +683,7 @@ interface Number { * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. */ toFixed(fractionDigits?: number): string; ->toFixed : Symbol(toFixed, Decl(1.0lib-noErrors.ts, 449, 37)) +>toFixed : Symbol(Number.toFixed, Decl(1.0lib-noErrors.ts, 449, 37)) >fractionDigits : Symbol(fractionDigits, Decl(1.0lib-noErrors.ts, 455, 12)) /** @@ -691,7 +691,7 @@ interface Number { * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. */ toExponential(fractionDigits?: number): string; ->toExponential : Symbol(toExponential, Decl(1.0lib-noErrors.ts, 455, 45)) +>toExponential : Symbol(Number.toExponential, Decl(1.0lib-noErrors.ts, 455, 45)) >fractionDigits : Symbol(fractionDigits, Decl(1.0lib-noErrors.ts, 461, 18)) /** @@ -699,7 +699,7 @@ interface Number { * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. */ toPrecision(precision?: number): string; ->toPrecision : Symbol(toPrecision, Decl(1.0lib-noErrors.ts, 461, 51)) +>toPrecision : Symbol(Number.toPrecision, Decl(1.0lib-noErrors.ts, 461, 51)) >precision : Symbol(precision, Decl(1.0lib-noErrors.ts, 467, 16)) } @@ -753,35 +753,35 @@ interface Math { /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ E: number; ->E : Symbol(E, Decl(1.0lib-noErrors.ts, 501, 16)) +>E : Symbol(Math.E, Decl(1.0lib-noErrors.ts, 501, 16)) /** The natural logarithm of 10. */ LN10: number; ->LN10 : Symbol(LN10, Decl(1.0lib-noErrors.ts, 503, 14)) +>LN10 : Symbol(Math.LN10, Decl(1.0lib-noErrors.ts, 503, 14)) /** The natural logarithm of 2. */ LN2: number; ->LN2 : Symbol(LN2, Decl(1.0lib-noErrors.ts, 505, 17)) +>LN2 : Symbol(Math.LN2, Decl(1.0lib-noErrors.ts, 505, 17)) /** The base-2 logarithm of e. */ LOG2E: number; ->LOG2E : Symbol(LOG2E, Decl(1.0lib-noErrors.ts, 507, 16)) +>LOG2E : Symbol(Math.LOG2E, Decl(1.0lib-noErrors.ts, 507, 16)) /** The base-10 logarithm of e. */ LOG10E: number; ->LOG10E : Symbol(LOG10E, Decl(1.0lib-noErrors.ts, 509, 18)) +>LOG10E : Symbol(Math.LOG10E, Decl(1.0lib-noErrors.ts, 509, 18)) /** Pi. This is the ratio of the circumference of a circle to its diameter. */ PI: number; ->PI : Symbol(PI, Decl(1.0lib-noErrors.ts, 511, 19)) +>PI : Symbol(Math.PI, Decl(1.0lib-noErrors.ts, 511, 19)) /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ SQRT1_2: number; ->SQRT1_2 : Symbol(SQRT1_2, Decl(1.0lib-noErrors.ts, 513, 15)) +>SQRT1_2 : Symbol(Math.SQRT1_2, Decl(1.0lib-noErrors.ts, 513, 15)) /** The square root of 2. */ SQRT2: number; ->SQRT2 : Symbol(SQRT2, Decl(1.0lib-noErrors.ts, 515, 20)) +>SQRT2 : Symbol(Math.SQRT2, Decl(1.0lib-noErrors.ts, 515, 20)) /** * Returns the absolute value of a number (the value without regard to whether it is positive or negative). @@ -789,7 +789,7 @@ interface Math { * @param x A numeric expression for which the absolute value is needed. */ abs(x: number): number; ->abs : Symbol(abs, Decl(1.0lib-noErrors.ts, 517, 18)) +>abs : Symbol(Math.abs, Decl(1.0lib-noErrors.ts, 517, 18)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 523, 8)) /** @@ -797,7 +797,7 @@ interface Math { * @param x A numeric expression. */ acos(x: number): number; ->acos : Symbol(acos, Decl(1.0lib-noErrors.ts, 523, 27)) +>acos : Symbol(Math.acos, Decl(1.0lib-noErrors.ts, 523, 27)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 528, 9)) /** @@ -805,7 +805,7 @@ interface Math { * @param x A numeric expression. */ asin(x: number): number; ->asin : Symbol(asin, Decl(1.0lib-noErrors.ts, 528, 28)) +>asin : Symbol(Math.asin, Decl(1.0lib-noErrors.ts, 528, 28)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 533, 9)) /** @@ -813,7 +813,7 @@ interface Math { * @param x A numeric expression for which the arctangent is needed. */ atan(x: number): number; ->atan : Symbol(atan, Decl(1.0lib-noErrors.ts, 533, 28)) +>atan : Symbol(Math.atan, Decl(1.0lib-noErrors.ts, 533, 28)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 538, 9)) /** @@ -822,7 +822,7 @@ interface Math { * @param x A numeric expression representing the cartesian x-coordinate. */ atan2(y: number, x: number): number; ->atan2 : Symbol(atan2, Decl(1.0lib-noErrors.ts, 538, 28)) +>atan2 : Symbol(Math.atan2, Decl(1.0lib-noErrors.ts, 538, 28)) >y : Symbol(y, Decl(1.0lib-noErrors.ts, 544, 10)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 544, 20)) @@ -831,7 +831,7 @@ interface Math { * @param x A numeric expression. */ ceil(x: number): number; ->ceil : Symbol(ceil, Decl(1.0lib-noErrors.ts, 544, 40)) +>ceil : Symbol(Math.ceil, Decl(1.0lib-noErrors.ts, 544, 40)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 549, 9)) /** @@ -839,7 +839,7 @@ interface Math { * @param x A numeric expression that contains an angle measured in radians. */ cos(x: number): number; ->cos : Symbol(cos, Decl(1.0lib-noErrors.ts, 549, 28)) +>cos : Symbol(Math.cos, Decl(1.0lib-noErrors.ts, 549, 28)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 554, 8)) /** @@ -847,7 +847,7 @@ interface Math { * @param x A numeric expression representing the power of e. */ exp(x: number): number; ->exp : Symbol(exp, Decl(1.0lib-noErrors.ts, 554, 27)) +>exp : Symbol(Math.exp, Decl(1.0lib-noErrors.ts, 554, 27)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 559, 8)) /** @@ -855,7 +855,7 @@ interface Math { * @param x A numeric expression. */ floor(x: number): number; ->floor : Symbol(floor, Decl(1.0lib-noErrors.ts, 559, 27)) +>floor : Symbol(Math.floor, Decl(1.0lib-noErrors.ts, 559, 27)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 564, 10)) /** @@ -863,7 +863,7 @@ interface Math { * @param x A numeric expression. */ log(x: number): number; ->log : Symbol(log, Decl(1.0lib-noErrors.ts, 564, 29)) +>log : Symbol(Math.log, Decl(1.0lib-noErrors.ts, 564, 29)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 569, 8)) /** @@ -871,7 +871,7 @@ interface Math { * @param values Numeric expressions to be evaluated. */ max(...values: number[]): number; ->max : Symbol(max, Decl(1.0lib-noErrors.ts, 569, 27)) +>max : Symbol(Math.max, Decl(1.0lib-noErrors.ts, 569, 27)) >values : Symbol(values, Decl(1.0lib-noErrors.ts, 574, 8)) /** @@ -879,7 +879,7 @@ interface Math { * @param values Numeric expressions to be evaluated. */ min(...values: number[]): number; ->min : Symbol(min, Decl(1.0lib-noErrors.ts, 574, 37)) +>min : Symbol(Math.min, Decl(1.0lib-noErrors.ts, 574, 37)) >values : Symbol(values, Decl(1.0lib-noErrors.ts, 579, 8)) /** @@ -888,20 +888,20 @@ interface Math { * @param y The exponent value of the expression. */ pow(x: number, y: number): number; ->pow : Symbol(pow, Decl(1.0lib-noErrors.ts, 579, 37)) +>pow : Symbol(Math.pow, Decl(1.0lib-noErrors.ts, 579, 37)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 585, 8)) >y : Symbol(y, Decl(1.0lib-noErrors.ts, 585, 18)) /** Returns a pseudorandom number between 0 and 1. */ random(): number; ->random : Symbol(random, Decl(1.0lib-noErrors.ts, 585, 38)) +>random : Symbol(Math.random, Decl(1.0lib-noErrors.ts, 585, 38)) /** * Returns a supplied numeric expression rounded to the nearest number. * @param x The value to be rounded to the nearest number. */ round(x: number): number; ->round : Symbol(round, Decl(1.0lib-noErrors.ts, 587, 21)) +>round : Symbol(Math.round, Decl(1.0lib-noErrors.ts, 587, 21)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 592, 10)) /** @@ -909,7 +909,7 @@ interface Math { * @param x A numeric expression that contains an angle measured in radians. */ sin(x: number): number; ->sin : Symbol(sin, Decl(1.0lib-noErrors.ts, 592, 29)) +>sin : Symbol(Math.sin, Decl(1.0lib-noErrors.ts, 592, 29)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 597, 8)) /** @@ -917,7 +917,7 @@ interface Math { * @param x A numeric expression. */ sqrt(x: number): number; ->sqrt : Symbol(sqrt, Decl(1.0lib-noErrors.ts, 597, 27)) +>sqrt : Symbol(Math.sqrt, Decl(1.0lib-noErrors.ts, 597, 27)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 602, 9)) /** @@ -925,7 +925,7 @@ interface Math { * @param x A numeric expression that contains an angle measured in radians. */ tan(x: number): number; ->tan : Symbol(tan, Decl(1.0lib-noErrors.ts, 602, 28)) +>tan : Symbol(Math.tan, Decl(1.0lib-noErrors.ts, 602, 28)) >x : Symbol(x, Decl(1.0lib-noErrors.ts, 607, 8)) } /** An intrinsic object that provides basic mathematics functionality and constants. */ @@ -939,110 +939,110 @@ interface Date { /** Returns a string representation of a date. The format of the string depends on the locale. */ toString(): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 613, 16)) +>toString : Symbol(Date.toString, Decl(1.0lib-noErrors.ts, 613, 16)) /** Returns a date as a string value. */ toDateString(): string; ->toDateString : Symbol(toDateString, Decl(1.0lib-noErrors.ts, 615, 23)) +>toDateString : Symbol(Date.toDateString, Decl(1.0lib-noErrors.ts, 615, 23)) /** Returns a time as a string value. */ toTimeString(): string; ->toTimeString : Symbol(toTimeString, Decl(1.0lib-noErrors.ts, 617, 27)) +>toTimeString : Symbol(Date.toTimeString, Decl(1.0lib-noErrors.ts, 617, 27)) /** Returns a value as a string value appropriate to the host environment's current locale. */ toLocaleString(): string; ->toLocaleString : Symbol(toLocaleString, Decl(1.0lib-noErrors.ts, 619, 27)) +>toLocaleString : Symbol(Date.toLocaleString, Decl(1.0lib-noErrors.ts, 619, 27)) /** Returns a date as a string value appropriate to the host environment's current locale. */ toLocaleDateString(): string; ->toLocaleDateString : Symbol(toLocaleDateString, Decl(1.0lib-noErrors.ts, 621, 29)) +>toLocaleDateString : Symbol(Date.toLocaleDateString, Decl(1.0lib-noErrors.ts, 621, 29)) /** Returns a time as a string value appropriate to the host environment's current locale. */ toLocaleTimeString(): string; ->toLocaleTimeString : Symbol(toLocaleTimeString, Decl(1.0lib-noErrors.ts, 623, 33)) +>toLocaleTimeString : Symbol(Date.toLocaleTimeString, Decl(1.0lib-noErrors.ts, 623, 33)) /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ valueOf(): number; ->valueOf : Symbol(valueOf, Decl(1.0lib-noErrors.ts, 625, 33)) +>valueOf : Symbol(Date.valueOf, Decl(1.0lib-noErrors.ts, 625, 33)) /** Gets the time value in milliseconds. */ getTime(): number; ->getTime : Symbol(getTime, Decl(1.0lib-noErrors.ts, 627, 22)) +>getTime : Symbol(Date.getTime, Decl(1.0lib-noErrors.ts, 627, 22)) /** Gets the year, using local time. */ getFullYear(): number; ->getFullYear : Symbol(getFullYear, Decl(1.0lib-noErrors.ts, 629, 22)) +>getFullYear : Symbol(Date.getFullYear, Decl(1.0lib-noErrors.ts, 629, 22)) /** Gets the year using Universal Coordinated Time (UTC). */ getUTCFullYear(): number; ->getUTCFullYear : Symbol(getUTCFullYear, Decl(1.0lib-noErrors.ts, 631, 26)) +>getUTCFullYear : Symbol(Date.getUTCFullYear, Decl(1.0lib-noErrors.ts, 631, 26)) /** Gets the month, using local time. */ getMonth(): number; ->getMonth : Symbol(getMonth, Decl(1.0lib-noErrors.ts, 633, 29)) +>getMonth : Symbol(Date.getMonth, Decl(1.0lib-noErrors.ts, 633, 29)) /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ getUTCMonth(): number; ->getUTCMonth : Symbol(getUTCMonth, Decl(1.0lib-noErrors.ts, 635, 23)) +>getUTCMonth : Symbol(Date.getUTCMonth, Decl(1.0lib-noErrors.ts, 635, 23)) /** Gets the day-of-the-month, using local time. */ getDate(): number; ->getDate : Symbol(getDate, Decl(1.0lib-noErrors.ts, 637, 26)) +>getDate : Symbol(Date.getDate, Decl(1.0lib-noErrors.ts, 637, 26)) /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ getUTCDate(): number; ->getUTCDate : Symbol(getUTCDate, Decl(1.0lib-noErrors.ts, 639, 22)) +>getUTCDate : Symbol(Date.getUTCDate, Decl(1.0lib-noErrors.ts, 639, 22)) /** Gets the day of the week, using local time. */ getDay(): number; ->getDay : Symbol(getDay, Decl(1.0lib-noErrors.ts, 641, 25)) +>getDay : Symbol(Date.getDay, Decl(1.0lib-noErrors.ts, 641, 25)) /** Gets the day of the week using Universal Coordinated Time (UTC). */ getUTCDay(): number; ->getUTCDay : Symbol(getUTCDay, Decl(1.0lib-noErrors.ts, 643, 21)) +>getUTCDay : Symbol(Date.getUTCDay, Decl(1.0lib-noErrors.ts, 643, 21)) /** Gets the hours in a date, using local time. */ getHours(): number; ->getHours : Symbol(getHours, Decl(1.0lib-noErrors.ts, 645, 24)) +>getHours : Symbol(Date.getHours, Decl(1.0lib-noErrors.ts, 645, 24)) /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ getUTCHours(): number; ->getUTCHours : Symbol(getUTCHours, Decl(1.0lib-noErrors.ts, 647, 23)) +>getUTCHours : Symbol(Date.getUTCHours, Decl(1.0lib-noErrors.ts, 647, 23)) /** Gets the minutes of a Date object, using local time. */ getMinutes(): number; ->getMinutes : Symbol(getMinutes, Decl(1.0lib-noErrors.ts, 649, 26)) +>getMinutes : Symbol(Date.getMinutes, Decl(1.0lib-noErrors.ts, 649, 26)) /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ getUTCMinutes(): number; ->getUTCMinutes : Symbol(getUTCMinutes, Decl(1.0lib-noErrors.ts, 651, 25)) +>getUTCMinutes : Symbol(Date.getUTCMinutes, Decl(1.0lib-noErrors.ts, 651, 25)) /** Gets the seconds of a Date object, using local time. */ getSeconds(): number; ->getSeconds : Symbol(getSeconds, Decl(1.0lib-noErrors.ts, 653, 28)) +>getSeconds : Symbol(Date.getSeconds, Decl(1.0lib-noErrors.ts, 653, 28)) /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ getUTCSeconds(): number; ->getUTCSeconds : Symbol(getUTCSeconds, Decl(1.0lib-noErrors.ts, 655, 25)) +>getUTCSeconds : Symbol(Date.getUTCSeconds, Decl(1.0lib-noErrors.ts, 655, 25)) /** Gets the milliseconds of a Date, using local time. */ getMilliseconds(): number; ->getMilliseconds : Symbol(getMilliseconds, Decl(1.0lib-noErrors.ts, 657, 28)) +>getMilliseconds : Symbol(Date.getMilliseconds, Decl(1.0lib-noErrors.ts, 657, 28)) /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ getUTCMilliseconds(): number; ->getUTCMilliseconds : Symbol(getUTCMilliseconds, Decl(1.0lib-noErrors.ts, 659, 30)) +>getUTCMilliseconds : Symbol(Date.getUTCMilliseconds, Decl(1.0lib-noErrors.ts, 659, 30)) /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ getTimezoneOffset(): number; ->getTimezoneOffset : Symbol(getTimezoneOffset, Decl(1.0lib-noErrors.ts, 661, 33)) +>getTimezoneOffset : Symbol(Date.getTimezoneOffset, Decl(1.0lib-noErrors.ts, 661, 33)) /** * Sets the date and time value in the Date object. * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. */ setTime(time: number): number; ->setTime : Symbol(setTime, Decl(1.0lib-noErrors.ts, 663, 32)) +>setTime : Symbol(Date.setTime, Decl(1.0lib-noErrors.ts, 663, 32)) >time : Symbol(time, Decl(1.0lib-noErrors.ts, 668, 12)) /** @@ -1050,7 +1050,7 @@ interface Date { * @param ms A numeric value equal to the millisecond value. */ setMilliseconds(ms: number): number; ->setMilliseconds : Symbol(setMilliseconds, Decl(1.0lib-noErrors.ts, 668, 34)) +>setMilliseconds : Symbol(Date.setMilliseconds, Decl(1.0lib-noErrors.ts, 668, 34)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 673, 20)) /** @@ -1058,7 +1058,7 @@ interface Date { * @param ms A numeric value equal to the millisecond value. */ setUTCMilliseconds(ms: number): number; ->setUTCMilliseconds : Symbol(setUTCMilliseconds, Decl(1.0lib-noErrors.ts, 673, 40)) +>setUTCMilliseconds : Symbol(Date.setUTCMilliseconds, Decl(1.0lib-noErrors.ts, 673, 40)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 678, 23)) /** @@ -1067,7 +1067,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setSeconds(sec: number, ms?: number): number; ->setSeconds : Symbol(setSeconds, Decl(1.0lib-noErrors.ts, 678, 43)) +>setSeconds : Symbol(Date.setSeconds, Decl(1.0lib-noErrors.ts, 678, 43)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 685, 15)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 685, 27)) @@ -1077,7 +1077,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setUTCSeconds(sec: number, ms?: number): number; ->setUTCSeconds : Symbol(setUTCSeconds, Decl(1.0lib-noErrors.ts, 685, 49)) +>setUTCSeconds : Symbol(Date.setUTCSeconds, Decl(1.0lib-noErrors.ts, 685, 49)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 691, 18)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 691, 30)) @@ -1088,7 +1088,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setMinutes(min: number, sec?: number, ms?: number): number; ->setMinutes : Symbol(setMinutes, Decl(1.0lib-noErrors.ts, 691, 52)) +>setMinutes : Symbol(Date.setMinutes, Decl(1.0lib-noErrors.ts, 691, 52)) >min : Symbol(min, Decl(1.0lib-noErrors.ts, 698, 15)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 698, 27)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 698, 41)) @@ -1100,7 +1100,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setUTCMinutes(min: number, sec?: number, ms?: number): number; ->setUTCMinutes : Symbol(setUTCMinutes, Decl(1.0lib-noErrors.ts, 698, 63)) +>setUTCMinutes : Symbol(Date.setUTCMinutes, Decl(1.0lib-noErrors.ts, 698, 63)) >min : Symbol(min, Decl(1.0lib-noErrors.ts, 705, 18)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 705, 30)) >ms : Symbol(ms, Decl(1.0lib-noErrors.ts, 705, 44)) @@ -1113,7 +1113,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setHours(hours: number, min?: number, sec?: number, ms?: number): number; ->setHours : Symbol(setHours, Decl(1.0lib-noErrors.ts, 705, 66)) +>setHours : Symbol(Date.setHours, Decl(1.0lib-noErrors.ts, 705, 66)) >hours : Symbol(hours, Decl(1.0lib-noErrors.ts, 713, 13)) >min : Symbol(min, Decl(1.0lib-noErrors.ts, 713, 27)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 713, 41)) @@ -1127,7 +1127,7 @@ interface Date { * @param ms A numeric value equal to the milliseconds value. */ setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; ->setUTCHours : Symbol(setUTCHours, Decl(1.0lib-noErrors.ts, 713, 77)) +>setUTCHours : Symbol(Date.setUTCHours, Decl(1.0lib-noErrors.ts, 713, 77)) >hours : Symbol(hours, Decl(1.0lib-noErrors.ts, 721, 16)) >min : Symbol(min, Decl(1.0lib-noErrors.ts, 721, 30)) >sec : Symbol(sec, Decl(1.0lib-noErrors.ts, 721, 44)) @@ -1138,7 +1138,7 @@ interface Date { * @param date A numeric value equal to the day of the month. */ setDate(date: number): number; ->setDate : Symbol(setDate, Decl(1.0lib-noErrors.ts, 721, 80)) +>setDate : Symbol(Date.setDate, Decl(1.0lib-noErrors.ts, 721, 80)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 726, 12)) /** @@ -1146,7 +1146,7 @@ interface Date { * @param date A numeric value equal to the day of the month. */ setUTCDate(date: number): number; ->setUTCDate : Symbol(setUTCDate, Decl(1.0lib-noErrors.ts, 726, 34)) +>setUTCDate : Symbol(Date.setUTCDate, Decl(1.0lib-noErrors.ts, 726, 34)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 731, 15)) /** @@ -1155,7 +1155,7 @@ interface Date { * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. */ setMonth(month: number, date?: number): number; ->setMonth : Symbol(setMonth, Decl(1.0lib-noErrors.ts, 731, 37)) +>setMonth : Symbol(Date.setMonth, Decl(1.0lib-noErrors.ts, 731, 37)) >month : Symbol(month, Decl(1.0lib-noErrors.ts, 737, 13)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 737, 27)) @@ -1165,7 +1165,7 @@ interface Date { * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. */ setUTCMonth(month: number, date?: number): number; ->setUTCMonth : Symbol(setUTCMonth, Decl(1.0lib-noErrors.ts, 737, 51)) +>setUTCMonth : Symbol(Date.setUTCMonth, Decl(1.0lib-noErrors.ts, 737, 51)) >month : Symbol(month, Decl(1.0lib-noErrors.ts, 743, 16)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 743, 30)) @@ -1176,7 +1176,7 @@ interface Date { * @param date A numeric value equal for the day of the month. */ setFullYear(year: number, month?: number, date?: number): number; ->setFullYear : Symbol(setFullYear, Decl(1.0lib-noErrors.ts, 743, 54)) +>setFullYear : Symbol(Date.setFullYear, Decl(1.0lib-noErrors.ts, 743, 54)) >year : Symbol(year, Decl(1.0lib-noErrors.ts, 750, 16)) >month : Symbol(month, Decl(1.0lib-noErrors.ts, 750, 29)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 750, 45)) @@ -1188,22 +1188,22 @@ interface Date { * @param date A numeric value equal to the day of the month. */ setUTCFullYear(year: number, month?: number, date?: number): number; ->setUTCFullYear : Symbol(setUTCFullYear, Decl(1.0lib-noErrors.ts, 750, 69)) +>setUTCFullYear : Symbol(Date.setUTCFullYear, Decl(1.0lib-noErrors.ts, 750, 69)) >year : Symbol(year, Decl(1.0lib-noErrors.ts, 757, 19)) >month : Symbol(month, Decl(1.0lib-noErrors.ts, 757, 32)) >date : Symbol(date, Decl(1.0lib-noErrors.ts, 757, 48)) /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ toUTCString(): string; ->toUTCString : Symbol(toUTCString, Decl(1.0lib-noErrors.ts, 757, 72)) +>toUTCString : Symbol(Date.toUTCString, Decl(1.0lib-noErrors.ts, 757, 72)) /** Returns a date as a string value in ISO format. */ toISOString(): string; ->toISOString : Symbol(toISOString, Decl(1.0lib-noErrors.ts, 759, 26)) +>toISOString : Symbol(Date.toISOString, Decl(1.0lib-noErrors.ts, 759, 26)) /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ toJSON(key?: any): string; ->toJSON : Symbol(toJSON, Decl(1.0lib-noErrors.ts, 761, 26)) +>toJSON : Symbol(Date.toJSON, Decl(1.0lib-noErrors.ts, 761, 26)) >key : Symbol(key, Decl(1.0lib-noErrors.ts, 763, 11)) } @@ -1275,78 +1275,78 @@ interface RegExpExecArray { >index : Symbol(index, Decl(1.0lib-noErrors.ts, 793, 5)) length: number; ->length : Symbol(length, Decl(1.0lib-noErrors.ts, 793, 28)) +>length : Symbol(RegExpExecArray.length, Decl(1.0lib-noErrors.ts, 793, 28)) index: number; ->index : Symbol(index, Decl(1.0lib-noErrors.ts, 794, 19)) +>index : Symbol(RegExpExecArray.index, Decl(1.0lib-noErrors.ts, 794, 19)) input: string; ->input : Symbol(input, Decl(1.0lib-noErrors.ts, 796, 18)) +>input : Symbol(RegExpExecArray.input, Decl(1.0lib-noErrors.ts, 796, 18)) toString(): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 797, 18)) +>toString : Symbol(RegExpExecArray.toString, Decl(1.0lib-noErrors.ts, 797, 18)) toLocaleString(): string; ->toLocaleString : Symbol(toLocaleString, Decl(1.0lib-noErrors.ts, 799, 23)) +>toLocaleString : Symbol(RegExpExecArray.toLocaleString, Decl(1.0lib-noErrors.ts, 799, 23)) concat(...items: string[][]): string[]; ->concat : Symbol(concat, Decl(1.0lib-noErrors.ts, 800, 29)) +>concat : Symbol(RegExpExecArray.concat, Decl(1.0lib-noErrors.ts, 800, 29)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 801, 11)) join(separator?: string): string; ->join : Symbol(join, Decl(1.0lib-noErrors.ts, 801, 43)) +>join : Symbol(RegExpExecArray.join, Decl(1.0lib-noErrors.ts, 801, 43)) >separator : Symbol(separator, Decl(1.0lib-noErrors.ts, 802, 9)) pop(): string; ->pop : Symbol(pop, Decl(1.0lib-noErrors.ts, 802, 37)) +>pop : Symbol(RegExpExecArray.pop, Decl(1.0lib-noErrors.ts, 802, 37)) push(...items: string[]): number; ->push : Symbol(push, Decl(1.0lib-noErrors.ts, 803, 18)) +>push : Symbol(RegExpExecArray.push, Decl(1.0lib-noErrors.ts, 803, 18)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 804, 9)) reverse(): string[]; ->reverse : Symbol(reverse, Decl(1.0lib-noErrors.ts, 804, 37)) +>reverse : Symbol(RegExpExecArray.reverse, Decl(1.0lib-noErrors.ts, 804, 37)) shift(): string; ->shift : Symbol(shift, Decl(1.0lib-noErrors.ts, 805, 24)) +>shift : Symbol(RegExpExecArray.shift, Decl(1.0lib-noErrors.ts, 805, 24)) slice(start?: number, end?: number): string[]; ->slice : Symbol(slice, Decl(1.0lib-noErrors.ts, 806, 20)) +>slice : Symbol(RegExpExecArray.slice, Decl(1.0lib-noErrors.ts, 806, 20)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 807, 10)) >end : Symbol(end, Decl(1.0lib-noErrors.ts, 807, 25)) sort(compareFn?: (a: string, b: string) => number): string[]; ->sort : Symbol(sort, Decl(1.0lib-noErrors.ts, 807, 50)) +>sort : Symbol(RegExpExecArray.sort, Decl(1.0lib-noErrors.ts, 807, 50)) >compareFn : Symbol(compareFn, Decl(1.0lib-noErrors.ts, 808, 9)) >a : Symbol(a, Decl(1.0lib-noErrors.ts, 808, 22)) >b : Symbol(b, Decl(1.0lib-noErrors.ts, 808, 32)) splice(start: number): string[]; ->splice : Symbol(splice, Decl(1.0lib-noErrors.ts, 808, 65), Decl(1.0lib-noErrors.ts, 809, 36)) +>splice : Symbol(RegExpExecArray.splice, Decl(1.0lib-noErrors.ts, 808, 65), Decl(1.0lib-noErrors.ts, 809, 36)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 809, 11)) splice(start: number, deleteCount: number, ...items: string[]): string[]; ->splice : Symbol(splice, Decl(1.0lib-noErrors.ts, 808, 65), Decl(1.0lib-noErrors.ts, 809, 36)) +>splice : Symbol(RegExpExecArray.splice, Decl(1.0lib-noErrors.ts, 808, 65), Decl(1.0lib-noErrors.ts, 809, 36)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 810, 11)) >deleteCount : Symbol(deleteCount, Decl(1.0lib-noErrors.ts, 810, 25)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 810, 46)) unshift(...items: string[]): number; ->unshift : Symbol(unshift, Decl(1.0lib-noErrors.ts, 810, 77)) +>unshift : Symbol(RegExpExecArray.unshift, Decl(1.0lib-noErrors.ts, 810, 77)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 811, 12)) indexOf(searchElement: string, fromIndex?: number): number; ->indexOf : Symbol(indexOf, Decl(1.0lib-noErrors.ts, 811, 40)) +>indexOf : Symbol(RegExpExecArray.indexOf, Decl(1.0lib-noErrors.ts, 811, 40)) >searchElement : Symbol(searchElement, Decl(1.0lib-noErrors.ts, 813, 12)) >fromIndex : Symbol(fromIndex, Decl(1.0lib-noErrors.ts, 813, 34)) lastIndexOf(searchElement: string, fromIndex?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(1.0lib-noErrors.ts, 813, 63)) +>lastIndexOf : Symbol(RegExpExecArray.lastIndexOf, Decl(1.0lib-noErrors.ts, 813, 63)) >searchElement : Symbol(searchElement, Decl(1.0lib-noErrors.ts, 814, 16)) >fromIndex : Symbol(fromIndex, Decl(1.0lib-noErrors.ts, 814, 38)) every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; ->every : Symbol(every, Decl(1.0lib-noErrors.ts, 814, 67)) +>every : Symbol(RegExpExecArray.every, Decl(1.0lib-noErrors.ts, 814, 67)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 815, 10)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 815, 23)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 815, 37)) @@ -1354,7 +1354,7 @@ interface RegExpExecArray { >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 815, 81)) some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; ->some : Symbol(some, Decl(1.0lib-noErrors.ts, 815, 106)) +>some : Symbol(RegExpExecArray.some, Decl(1.0lib-noErrors.ts, 815, 106)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 816, 9)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 816, 22)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 816, 36)) @@ -1362,7 +1362,7 @@ interface RegExpExecArray { >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 816, 80)) forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; ->forEach : Symbol(forEach, Decl(1.0lib-noErrors.ts, 816, 105)) +>forEach : Symbol(RegExpExecArray.forEach, Decl(1.0lib-noErrors.ts, 816, 105)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 817, 12)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 817, 25)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 817, 39)) @@ -1370,7 +1370,7 @@ interface RegExpExecArray { >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 817, 80)) map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; ->map : Symbol(map, Decl(1.0lib-noErrors.ts, 817, 102)) +>map : Symbol(RegExpExecArray.map, Decl(1.0lib-noErrors.ts, 817, 102)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 818, 8)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 818, 21)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 818, 35)) @@ -1378,7 +1378,7 @@ interface RegExpExecArray { >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 818, 75)) filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; ->filter : Symbol(filter, Decl(1.0lib-noErrors.ts, 818, 98)) +>filter : Symbol(RegExpExecArray.filter, Decl(1.0lib-noErrors.ts, 818, 98)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 819, 11)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 819, 24)) >index : Symbol(index, Decl(1.0lib-noErrors.ts, 819, 38)) @@ -1386,7 +1386,7 @@ interface RegExpExecArray { >thisArg : Symbol(thisArg, Decl(1.0lib-noErrors.ts, 819, 82)) reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; ->reduce : Symbol(reduce, Decl(1.0lib-noErrors.ts, 819, 108)) +>reduce : Symbol(RegExpExecArray.reduce, Decl(1.0lib-noErrors.ts, 819, 108)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 820, 11)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 820, 24)) >currentValue : Symbol(currentValue, Decl(1.0lib-noErrors.ts, 820, 43)) @@ -1395,7 +1395,7 @@ interface RegExpExecArray { >initialValue : Symbol(initialValue, Decl(1.0lib-noErrors.ts, 820, 109)) reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; ->reduceRight : Symbol(reduceRight, Decl(1.0lib-noErrors.ts, 820, 135)) +>reduceRight : Symbol(RegExpExecArray.reduceRight, Decl(1.0lib-noErrors.ts, 820, 135)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 821, 16)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 821, 29)) >currentValue : Symbol(currentValue, Decl(1.0lib-noErrors.ts, 821, 48)) @@ -1413,7 +1413,7 @@ interface RegExp { * @param string The String object or string literal on which to perform the search. */ exec(string: string): RegExpExecArray; ->exec : Symbol(exec, Decl(1.0lib-noErrors.ts, 825, 18)) +>exec : Symbol(RegExp.exec, Decl(1.0lib-noErrors.ts, 825, 18)) >string : Symbol(string, Decl(1.0lib-noErrors.ts, 830, 9)) >RegExpExecArray : Symbol(RegExpExecArray, Decl(1.0lib-noErrors.ts, 790, 1)) @@ -1422,31 +1422,31 @@ interface RegExp { * @param string String on which to perform the search. */ test(string: string): boolean; ->test : Symbol(test, Decl(1.0lib-noErrors.ts, 830, 42)) +>test : Symbol(RegExp.test, Decl(1.0lib-noErrors.ts, 830, 42)) >string : Symbol(string, Decl(1.0lib-noErrors.ts, 836, 9)) /** Returns a copy of the text of the regular expression pattern. Read-only. The rgExp argument is a Regular expression object. It can be a variable name or a literal. */ source: string; ->source : Symbol(source, Decl(1.0lib-noErrors.ts, 836, 34)) +>source : Symbol(RegExp.source, Decl(1.0lib-noErrors.ts, 836, 34)) /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ global: boolean; ->global : Symbol(global, Decl(1.0lib-noErrors.ts, 839, 19)) +>global : Symbol(RegExp.global, Decl(1.0lib-noErrors.ts, 839, 19)) /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ ignoreCase: boolean; ->ignoreCase : Symbol(ignoreCase, Decl(1.0lib-noErrors.ts, 842, 20)) +>ignoreCase : Symbol(RegExp.ignoreCase, Decl(1.0lib-noErrors.ts, 842, 20)) /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ multiline: boolean; ->multiline : Symbol(multiline, Decl(1.0lib-noErrors.ts, 845, 24)) +>multiline : Symbol(RegExp.multiline, Decl(1.0lib-noErrors.ts, 845, 24)) lastIndex: number; ->lastIndex : Symbol(lastIndex, Decl(1.0lib-noErrors.ts, 848, 23)) +>lastIndex : Symbol(RegExp.lastIndex, Decl(1.0lib-noErrors.ts, 848, 23)) // Non-standard extensions compile(): RegExp; ->compile : Symbol(compile, Decl(1.0lib-noErrors.ts, 850, 22)) +>compile : Symbol(RegExp.compile, Decl(1.0lib-noErrors.ts, 850, 22)) >RegExp : Symbol(RegExp, Decl(1.0lib-noErrors.ts, 822, 1), Decl(1.0lib-noErrors.ts, 855, 11)) } declare var RegExp: { @@ -1498,10 +1498,10 @@ interface Error { >Error : Symbol(Error, Decl(1.0lib-noErrors.ts, 870, 1), Decl(1.0lib-noErrors.ts, 876, 11)) name: string; ->name : Symbol(name, Decl(1.0lib-noErrors.ts, 872, 17)) +>name : Symbol(Error.name, Decl(1.0lib-noErrors.ts, 872, 17)) message: string; ->message : Symbol(message, Decl(1.0lib-noErrors.ts, 873, 17)) +>message : Symbol(Error.message, Decl(1.0lib-noErrors.ts, 873, 17)) } declare var Error: { >Error : Symbol(Error, Decl(1.0lib-noErrors.ts, 870, 1), Decl(1.0lib-noErrors.ts, 876, 11)) @@ -1649,7 +1649,7 @@ interface JSON { * If a member contains nested objects, the nested objects are transformed before the parent object is. */ parse(text: string, reviver?: (key: any, value: any) => any): any; ->parse : Symbol(parse, Decl(1.0lib-noErrors.ts, 930, 16)) +>parse : Symbol(JSON.parse, Decl(1.0lib-noErrors.ts, 930, 16)) >text : Symbol(text, Decl(1.0lib-noErrors.ts, 937, 10)) >reviver : Symbol(reviver, Decl(1.0lib-noErrors.ts, 937, 23)) >key : Symbol(key, Decl(1.0lib-noErrors.ts, 937, 35)) @@ -1660,7 +1660,7 @@ interface JSON { * @param value A JavaScript value, usually an object or array, to be converted. */ stringify(value: any): string; ->stringify : Symbol(stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) +>stringify : Symbol(JSON.stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 942, 14)) /** @@ -1669,7 +1669,7 @@ interface JSON { * @param replacer A function that transforms the results. */ stringify(value: any, replacer: (key: string, value: any) => any): string; ->stringify : Symbol(stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) +>stringify : Symbol(JSON.stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 948, 14)) >replacer : Symbol(replacer, Decl(1.0lib-noErrors.ts, 948, 25)) >key : Symbol(key, Decl(1.0lib-noErrors.ts, 948, 37)) @@ -1681,7 +1681,7 @@ interface JSON { * @param replacer Array that transforms the results. */ stringify(value: any, replacer: any[]): string; ->stringify : Symbol(stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) +>stringify : Symbol(JSON.stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 954, 14)) >replacer : Symbol(replacer, Decl(1.0lib-noErrors.ts, 954, 25)) @@ -1692,7 +1692,7 @@ interface JSON { * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. */ stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; ->stringify : Symbol(stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) +>stringify : Symbol(JSON.stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 961, 14)) >replacer : Symbol(replacer, Decl(1.0lib-noErrors.ts, 961, 25)) >key : Symbol(key, Decl(1.0lib-noErrors.ts, 961, 37)) @@ -1706,7 +1706,7 @@ interface JSON { * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. */ stringify(value: any, replacer: any[], space: any): string; ->stringify : Symbol(stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) +>stringify : Symbol(JSON.stringify, Decl(1.0lib-noErrors.ts, 937, 70), Decl(1.0lib-noErrors.ts, 942, 34), Decl(1.0lib-noErrors.ts, 948, 78), Decl(1.0lib-noErrors.ts, 954, 51), Decl(1.0lib-noErrors.ts, 961, 90)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 968, 14)) >replacer : Symbol(replacer, Decl(1.0lib-noErrors.ts, 968, 25)) >space : Symbol(space, Decl(1.0lib-noErrors.ts, 968, 42)) @@ -1731,17 +1731,17 @@ interface Array { * Returns a string representation of an array. */ toString(): string; ->toString : Symbol(toString, Decl(1.0lib-noErrors.ts, 980, 20)) +>toString : Symbol(Array.toString, Decl(1.0lib-noErrors.ts, 980, 20)) toLocaleString(): string; ->toLocaleString : Symbol(toLocaleString, Decl(1.0lib-noErrors.ts, 984, 23)) +>toLocaleString : Symbol(Array.toLocaleString, Decl(1.0lib-noErrors.ts, 984, 23)) /** * Combines two or more arrays. * @param items Additional items to add to the end of array1. */ concat(...items: U[]): T[]; ->concat : Symbol(concat, Decl(1.0lib-noErrors.ts, 985, 29), Decl(1.0lib-noErrors.ts, 990, 46)) +>concat : Symbol(Array.concat, Decl(1.0lib-noErrors.ts, 985, 29), Decl(1.0lib-noErrors.ts, 990, 46)) >U : Symbol(U, Decl(1.0lib-noErrors.ts, 990, 11)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 990, 26)) @@ -1753,7 +1753,7 @@ interface Array { * @param items Additional items to add to the end of array1. */ concat(...items: T[]): T[]; ->concat : Symbol(concat, Decl(1.0lib-noErrors.ts, 985, 29), Decl(1.0lib-noErrors.ts, 990, 46)) +>concat : Symbol(Array.concat, Decl(1.0lib-noErrors.ts, 985, 29), Decl(1.0lib-noErrors.ts, 990, 46)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 995, 11)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1763,14 +1763,14 @@ interface Array { * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. */ join(separator?: string): string; ->join : Symbol(join, Decl(1.0lib-noErrors.ts, 995, 31)) +>join : Symbol(Array.join, Decl(1.0lib-noErrors.ts, 995, 31)) >separator : Symbol(separator, Decl(1.0lib-noErrors.ts, 1000, 9)) /** * Removes the last element from an array and returns it. */ pop(): T; ->pop : Symbol(pop, Decl(1.0lib-noErrors.ts, 1000, 37)) +>pop : Symbol(Array.pop, Decl(1.0lib-noErrors.ts, 1000, 37)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) /** @@ -1778,7 +1778,7 @@ interface Array { * @param items New elements of the Array. */ push(...items: T[]): number; ->push : Symbol(push, Decl(1.0lib-noErrors.ts, 1004, 13)) +>push : Symbol(Array.push, Decl(1.0lib-noErrors.ts, 1004, 13)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 1009, 9)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1786,14 +1786,14 @@ interface Array { * Reverses the elements in an Array. */ reverse(): T[]; ->reverse : Symbol(reverse, Decl(1.0lib-noErrors.ts, 1009, 32)) +>reverse : Symbol(Array.reverse, Decl(1.0lib-noErrors.ts, 1009, 32)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) /** * Removes the first element from an array and returns it. */ shift(): T; ->shift : Symbol(shift, Decl(1.0lib-noErrors.ts, 1013, 19)) +>shift : Symbol(Array.shift, Decl(1.0lib-noErrors.ts, 1013, 19)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) /** @@ -1802,7 +1802,7 @@ interface Array { * @param end The end of the specified portion of the array. */ slice(start?: number, end?: number): T[]; ->slice : Symbol(slice, Decl(1.0lib-noErrors.ts, 1017, 15)) +>slice : Symbol(Array.slice, Decl(1.0lib-noErrors.ts, 1017, 15)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 1023, 10)) >end : Symbol(end, Decl(1.0lib-noErrors.ts, 1023, 25)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1812,7 +1812,7 @@ interface Array { * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. */ sort(compareFn?: (a: T, b: T) => number): T[]; ->sort : Symbol(sort, Decl(1.0lib-noErrors.ts, 1023, 45)) +>sort : Symbol(Array.sort, Decl(1.0lib-noErrors.ts, 1023, 45)) >compareFn : Symbol(compareFn, Decl(1.0lib-noErrors.ts, 1029, 9)) >a : Symbol(a, Decl(1.0lib-noErrors.ts, 1029, 22)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1825,7 +1825,7 @@ interface Array { * @param start The zero-based location in the array from which to start removing elements. */ splice(start: number): T[]; ->splice : Symbol(splice, Decl(1.0lib-noErrors.ts, 1029, 50), Decl(1.0lib-noErrors.ts, 1035, 31)) +>splice : Symbol(Array.splice, Decl(1.0lib-noErrors.ts, 1029, 50), Decl(1.0lib-noErrors.ts, 1035, 31)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 1035, 11)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1836,7 +1836,7 @@ interface Array { * @param items Elements to insert into the array in place of the deleted elements. */ splice(start: number, deleteCount: number, ...items: T[]): T[]; ->splice : Symbol(splice, Decl(1.0lib-noErrors.ts, 1029, 50), Decl(1.0lib-noErrors.ts, 1035, 31)) +>splice : Symbol(Array.splice, Decl(1.0lib-noErrors.ts, 1029, 50), Decl(1.0lib-noErrors.ts, 1035, 31)) >start : Symbol(start, Decl(1.0lib-noErrors.ts, 1043, 11)) >deleteCount : Symbol(deleteCount, Decl(1.0lib-noErrors.ts, 1043, 25)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 1043, 46)) @@ -1848,7 +1848,7 @@ interface Array { * @param items Elements to insert at the start of the Array. */ unshift(...items: T[]): number; ->unshift : Symbol(unshift, Decl(1.0lib-noErrors.ts, 1043, 67)) +>unshift : Symbol(Array.unshift, Decl(1.0lib-noErrors.ts, 1043, 67)) >items : Symbol(items, Decl(1.0lib-noErrors.ts, 1049, 12)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1858,7 +1858,7 @@ interface Array { * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. */ indexOf(searchElement: T, fromIndex?: number): number; ->indexOf : Symbol(indexOf, Decl(1.0lib-noErrors.ts, 1049, 35)) +>indexOf : Symbol(Array.indexOf, Decl(1.0lib-noErrors.ts, 1049, 35)) >searchElement : Symbol(searchElement, Decl(1.0lib-noErrors.ts, 1056, 12)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) >fromIndex : Symbol(fromIndex, Decl(1.0lib-noErrors.ts, 1056, 29)) @@ -1869,7 +1869,7 @@ interface Array { * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. */ lastIndexOf(searchElement: T, fromIndex?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(1.0lib-noErrors.ts, 1056, 58)) +>lastIndexOf : Symbol(Array.lastIndexOf, Decl(1.0lib-noErrors.ts, 1056, 58)) >searchElement : Symbol(searchElement, Decl(1.0lib-noErrors.ts, 1063, 16)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) >fromIndex : Symbol(fromIndex, Decl(1.0lib-noErrors.ts, 1063, 33)) @@ -1880,7 +1880,7 @@ interface Array { * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. */ every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; ->every : Symbol(every, Decl(1.0lib-noErrors.ts, 1063, 62)) +>every : Symbol(Array.every, Decl(1.0lib-noErrors.ts, 1063, 62)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1070, 10)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 1070, 23)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1895,7 +1895,7 @@ interface Array { * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. */ some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; ->some : Symbol(some, Decl(1.0lib-noErrors.ts, 1070, 96)) +>some : Symbol(Array.some, Decl(1.0lib-noErrors.ts, 1070, 96)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1077, 9)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 1077, 22)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1910,7 +1910,7 @@ interface Array { * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. */ forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; ->forEach : Symbol(forEach, Decl(1.0lib-noErrors.ts, 1077, 95)) +>forEach : Symbol(Array.forEach, Decl(1.0lib-noErrors.ts, 1077, 95)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1084, 12)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 1084, 25)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1925,7 +1925,7 @@ interface Array { * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. */ map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; ->map : Symbol(map, Decl(1.0lib-noErrors.ts, 1084, 92)) +>map : Symbol(Array.map, Decl(1.0lib-noErrors.ts, 1084, 92)) >U : Symbol(U, Decl(1.0lib-noErrors.ts, 1091, 8)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1091, 11)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 1091, 24)) @@ -1943,7 +1943,7 @@ interface Array { * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. */ filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): T[]; ->filter : Symbol(filter, Decl(1.0lib-noErrors.ts, 1091, 87)) +>filter : Symbol(Array.filter, Decl(1.0lib-noErrors.ts, 1091, 87)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1098, 11)) >value : Symbol(value, Decl(1.0lib-noErrors.ts, 1098, 24)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1959,7 +1959,7 @@ interface Array { * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. */ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; ->reduce : Symbol(reduce, Decl(1.0lib-noErrors.ts, 1098, 93), Decl(1.0lib-noErrors.ts, 1105, 120)) +>reduce : Symbol(Array.reduce, Decl(1.0lib-noErrors.ts, 1098, 93), Decl(1.0lib-noErrors.ts, 1105, 120)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1105, 11)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 1105, 24)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -1979,7 +1979,7 @@ interface Array { * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. */ reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; ->reduce : Symbol(reduce, Decl(1.0lib-noErrors.ts, 1098, 93), Decl(1.0lib-noErrors.ts, 1105, 120)) +>reduce : Symbol(Array.reduce, Decl(1.0lib-noErrors.ts, 1098, 93), Decl(1.0lib-noErrors.ts, 1105, 120)) >U : Symbol(U, Decl(1.0lib-noErrors.ts, 1111, 11)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1111, 14)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 1111, 27)) @@ -2000,7 +2000,7 @@ interface Array { * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. */ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; ->reduceRight : Symbol(reduceRight, Decl(1.0lib-noErrors.ts, 1111, 122), Decl(1.0lib-noErrors.ts, 1118, 125)) +>reduceRight : Symbol(Array.reduceRight, Decl(1.0lib-noErrors.ts, 1111, 122), Decl(1.0lib-noErrors.ts, 1118, 125)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1118, 16)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 1118, 29)) >T : Symbol(T, Decl(1.0lib-noErrors.ts, 980, 16)) @@ -2020,7 +2020,7 @@ interface Array { * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; ->reduceRight : Symbol(reduceRight, Decl(1.0lib-noErrors.ts, 1111, 122), Decl(1.0lib-noErrors.ts, 1118, 125)) +>reduceRight : Symbol(Array.reduceRight, Decl(1.0lib-noErrors.ts, 1111, 122), Decl(1.0lib-noErrors.ts, 1118, 125)) >U : Symbol(U, Decl(1.0lib-noErrors.ts, 1124, 16)) >callbackfn : Symbol(callbackfn, Decl(1.0lib-noErrors.ts, 1124, 19)) >previousValue : Symbol(previousValue, Decl(1.0lib-noErrors.ts, 1124, 32)) @@ -2039,7 +2039,7 @@ interface Array { * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. */ length: number; ->length : Symbol(length, Decl(1.0lib-noErrors.ts, 1124, 127)) +>length : Symbol(Array.length, Decl(1.0lib-noErrors.ts, 1124, 127)) [n: number]: T; >n : Symbol(n, Decl(1.0lib-noErrors.ts, 1131, 5)) diff --git a/tests/baselines/reference/2dArrays.symbols b/tests/baselines/reference/2dArrays.symbols index a42a40e2b6b..8d6b6b167e6 100644 --- a/tests/baselines/reference/2dArrays.symbols +++ b/tests/baselines/reference/2dArrays.symbols @@ -7,28 +7,28 @@ class Ship { >Ship : Symbol(Ship, Decl(2dArrays.ts, 1, 1)) isSunk: boolean; ->isSunk : Symbol(isSunk, Decl(2dArrays.ts, 3, 12)) +>isSunk : Symbol(Ship.isSunk, Decl(2dArrays.ts, 3, 12)) } class Board { >Board : Symbol(Board, Decl(2dArrays.ts, 5, 1)) ships: Ship[]; ->ships : Symbol(ships, Decl(2dArrays.ts, 7, 13)) +>ships : Symbol(Board.ships, Decl(2dArrays.ts, 7, 13)) >Ship : Symbol(Ship, Decl(2dArrays.ts, 1, 1)) cells: Cell[]; ->cells : Symbol(cells, Decl(2dArrays.ts, 8, 18)) +>cells : Symbol(Board.cells, Decl(2dArrays.ts, 8, 18)) >Cell : Symbol(Cell, Decl(2dArrays.ts, 0, 0)) private allShipsSunk() { ->allShipsSunk : Symbol(allShipsSunk, Decl(2dArrays.ts, 9, 18)) +>allShipsSunk : Symbol(Board.allShipsSunk, Decl(2dArrays.ts, 9, 18)) return this.ships.every(function (val) { return val.isSunk; }); >this.ships.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) ->this.ships : Symbol(ships, Decl(2dArrays.ts, 7, 13)) +>this.ships : Symbol(Board.ships, Decl(2dArrays.ts, 7, 13)) >this : Symbol(Board, Decl(2dArrays.ts, 5, 1)) ->ships : Symbol(ships, Decl(2dArrays.ts, 7, 13)) +>ships : Symbol(Board.ships, Decl(2dArrays.ts, 7, 13)) >every : Symbol(Array.every, Decl(lib.d.ts, --, --)) >val : Symbol(val, Decl(2dArrays.ts, 12, 42)) >val.isSunk : Symbol(Ship.isSunk, Decl(2dArrays.ts, 3, 12)) diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.symbols b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.symbols index 2a24e5df919..3db6d644d98 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.symbols +++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.symbols @@ -29,10 +29,10 @@ declare module A { >y : Symbol(y, Decl(class.d.ts, 2, 30)) x: number; ->x : Symbol(x, Decl(class.d.ts, 2, 42)) +>x : Symbol(Point.x, Decl(class.d.ts, 2, 42)) y: number; ->y : Symbol(y, Decl(class.d.ts, 3, 18)) +>y : Symbol(Point.y, Decl(class.d.ts, 3, 18)) } } diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.symbols b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.symbols index 09762fd1406..8a776358b4c 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.symbols +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.symbols @@ -25,8 +25,8 @@ module A { >Point : Symbol(Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(classPoint.ts, 2, 20)) ->y : Symbol(y, Decl(classPoint.ts, 2, 37)) +>x : Symbol(Point.x, Decl(classPoint.ts, 2, 20)) +>y : Symbol(Point.y, Decl(classPoint.ts, 2, 37)) } } diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.symbols b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.symbols index 1c75c33a278..14e9ebf6124 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.symbols +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.symbols @@ -3,8 +3,8 @@ class Point { >Point : Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 4, 1)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 16)) ->y : Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 33)) +>x : Symbol(Point.x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 16)) +>y : Symbol(Point.y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 33)) static Origin(): Point { return { x: 0, y: 0 }; } >Origin : Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 55)) @@ -28,8 +28,8 @@ module A { >Point : Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 16, 5)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 20)) ->y : Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 37)) +>x : Symbol(Point.x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 20)) +>y : Symbol(Point.y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 37)) static Origin(): Point { return { x: 0, y: 0 }; } >Origin : Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 59)) diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.symbols b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.symbols index 046b92fd6ee..b995c02929f 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.symbols +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.symbols @@ -3,8 +3,8 @@ class Point { >Point : Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 4, 1)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 16)) ->y : Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 33)) +>x : Symbol(Point.x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 16)) +>y : Symbol(Point.y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 33)) static Origin: Point = { x: 0, y: 0 }; >Origin : Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 55)) @@ -28,8 +28,8 @@ module A { >Point : Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 16, 5)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 20)) ->y : Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 37)) +>x : Symbol(Point.x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 20)) +>y : Symbol(Point.y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 37)) static Origin: Point = { x: 0, y: 0 }; >Origin : Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 59)) diff --git a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.symbols b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.symbols index ce0ab000017..69f0d0520e6 100644 --- a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.symbols +++ b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.symbols @@ -3,8 +3,8 @@ class C { >C : Symbol(C, Decl(ClassDeclarationWithInvalidConstOnPropertyDeclaration2.ts, 0, 0)) const ->const : Symbol(const, Decl(ClassDeclarationWithInvalidConstOnPropertyDeclaration2.ts, 0, 9)) +>const : Symbol(C.const, Decl(ClassDeclarationWithInvalidConstOnPropertyDeclaration2.ts, 0, 9)) x = 10; ->x : Symbol(x, Decl(ClassDeclarationWithInvalidConstOnPropertyDeclaration2.ts, 1, 9)) +>x : Symbol(C.x, Decl(ClassDeclarationWithInvalidConstOnPropertyDeclaration2.ts, 1, 9)) } diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.symbols b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.symbols index dc97960f71e..30eca163cda 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.symbols +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.symbols @@ -14,8 +14,8 @@ module enumdule { >Point : Symbol(Point, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 4, 17)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 20)) ->y : Symbol(y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 37)) +>x : Symbol(Point.x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 20)) +>y : Symbol(Point.y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 37)) } } diff --git a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.symbols b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.symbols index 8346888d81f..0ff8e694fd5 100644 --- a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.symbols +++ b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.symbols @@ -6,13 +6,13 @@ module A { >Point : Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 2, 21)) +>x : Symbol(Point.x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 2, 21)) y: number; ->y : Symbol(y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 3, 18)) fromOrigin(p: Point): number; ->fromOrigin : Symbol(fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 4, 18)) +>fromOrigin : Symbol(Point.fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 4, 18)) >p : Symbol(p, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 6, 19)) >Point : Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10)) } @@ -22,11 +22,11 @@ module A { >Point : Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 20)) ->y : Symbol(y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 37)) +>x : Symbol(Point2d.x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 20)) +>y : Symbol(Point2d.y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 37)) fromOrigin(p: Point) { ->fromOrigin : Symbol(fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 59)) +>fromOrigin : Symbol(Point2d.fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 59)) >p : Symbol(p, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 12, 19)) >Point : Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10)) diff --git a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols index 2802e6aa392..371c740d967 100644 --- a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 24)) +>x : Symbol(Point.x, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 24)) y: number; ->y : Symbol(y, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18)) } export var Origin: Point = { x: 0, y: 0 }; @@ -23,7 +23,7 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10)) z: number; ->z : Symbol(z, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 40)) +>z : Symbol(Point3d.z, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 40)) } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; @@ -39,9 +39,9 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10)) constructor(public start: TPoint, public end: TPoint) { } ->start : Symbol(start, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 20)) +>start : Symbol(Line.start, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 20)) >TPoint : Symbol(TPoint, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 22)) ->end : Symbol(end, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41)) +>end : Symbol(Line.end, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41)) >TPoint : Symbol(TPoint, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 22)) } } diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.symbols b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.symbols index e1e433a8921..b42f561ccf3 100644 --- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 17)) +>x : Symbol(Point.x, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 17)) y: number; ->y : Symbol(y, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18)) } export class points { diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.symbols b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.symbols index e1044bd2442..38c97a7e54a 100644 --- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.symbols +++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 17)) +>x : Symbol(Point.x, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 17)) y: number; ->y : Symbol(y, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18)) } export var Origin: Point = { x: 0, y: 0 }; @@ -23,7 +23,7 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10)) z: number; ->z : Symbol(z, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 40)) +>z : Symbol(Point3d.z, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 40)) } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; @@ -39,9 +39,9 @@ module A { >Point : Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10)) constructor(public start: TPoint, public end: TPoint) { } ->start : Symbol(start, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 20)) +>start : Symbol(Line.start, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 20)) >TPoint : Symbol(TPoint, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 22)) ->end : Symbol(end, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41)) +>end : Symbol(Line.end, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41)) >TPoint : Symbol(TPoint, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 22)) static fromorigin2d(p: Point): Line{ diff --git a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.symbols b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.symbols index 37b6da18c37..4903398db6a 100644 --- a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.symbols +++ b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.symbols @@ -6,19 +6,19 @@ module A { >Point : Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 2, 24)) +>x : Symbol(Point.x, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 2, 24)) y: number; ->y : Symbol(y, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 3, 18)) } export class Line { >Line : Symbol(Line, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 5, 5)) constructor(public start: Point, public end: Point) { } ->start : Symbol(start, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 20)) +>start : Symbol(Line.start, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 20)) >Point : Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10)) ->end : Symbol(end, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 40)) +>end : Symbol(Line.end, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 40)) >Point : Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10)) } diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.symbols b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.symbols index 41993ebf48f..2583ddc1163 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.symbols +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.symbols @@ -6,19 +6,19 @@ module A { >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 2, 17)) +>x : Symbol(Point.x, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 2, 17)) y: number; ->y : Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 3, 18)) } export class Line { >Line : Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 5, 5)) constructor(public start: Point, public end: Point) { } ->start : Symbol(start, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 20)) +>start : Symbol(Line.start, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 20)) >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10)) ->end : Symbol(end, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 40)) +>end : Symbol(Line.end, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 40)) >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10)) } diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.symbols b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.symbols index 77d57215795..b39abaf7305 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.symbols +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.symbols @@ -6,19 +6,19 @@ module A { >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 2, 24)) +>x : Symbol(Point.x, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 2, 24)) y: number; ->y : Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 3, 18)) } class Line { >Line : Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 5, 5)) constructor(public start: Point, public end: Point) { } ->start : Symbol(start, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 20)) +>start : Symbol(Line.start, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 20)) >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10)) ->end : Symbol(end, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 40)) +>end : Symbol(Line.end, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 40)) >Point : Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10)) } diff --git a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols index 31b978c85f9..d03c7a4f58f 100644 --- a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 28)) +>x : Symbol(Point.x, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 28)) y: number; ->y : Symbol(y, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18)) } export var Origin: Point = { x: 0, y: 0 }; @@ -23,7 +23,7 @@ module A { >Point : Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10)) z: number; ->z : Symbol(z, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 44)) +>z : Symbol(Point3d.z, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 44)) } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; @@ -45,11 +45,11 @@ module A { >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26)) start: TPoint; ->start : Symbol(start, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41)) +>start : Symbol(Line.start, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41)) >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26)) end: TPoint; ->end : Symbol(end, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 17, 22)) +>end : Symbol(Line.end, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 17, 22)) >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26)) } } diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.symbols b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.symbols index 00f9025aa8c..d92f5ea5366 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 21)) +>x : Symbol(Point.x, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 21)) y: number; ->y : Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18)) } export interface points { diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.symbols b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.symbols index 7ee70a0c77b..1d452b2b496 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.symbols +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 21)) +>x : Symbol(Point.x, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 21)) y: number; ->y : Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18)) } export var Origin: Point = { x: 0, y: 0 }; @@ -23,7 +23,7 @@ module A { >Point : Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10)) z: number; ->z : Symbol(z, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 44)) +>z : Symbol(Point3d.z, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 44)) } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; @@ -45,11 +45,11 @@ module A { >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26)) start: TPoint; ->start : Symbol(start, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41)) +>start : Symbol(Line.start, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41)) >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26)) end: TPoint; ->end : Symbol(end, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 18, 22)) +>end : Symbol(Line.end, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 18, 22)) >TPoint : Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26)) } } diff --git a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.symbols b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.symbols index acf6a1caef4..76df3ffd35a 100644 --- a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.symbols +++ b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.symbols @@ -6,8 +6,8 @@ module A { >Point : Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 20)) ->y : Symbol(y, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 37)) +>x : Symbol(Point.x, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 20)) +>y : Symbol(Point.y, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 37)) } export module B { diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.symbols b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.symbols index dccc613aca9..2bbedd3ea09 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.symbols @@ -6,8 +6,8 @@ module A { >Point : Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 20)) ->y : Symbol(y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 37)) +>x : Symbol(Point.x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 20)) +>y : Symbol(Point.y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 37)) } export var Origin: Point = { x: 0, y: 0 }; diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.symbols b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.symbols index 3c1ca13b616..97ac79dc44d 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.symbols +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.symbols @@ -6,8 +6,8 @@ module A { >Point : Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 20)) ->y : Symbol(y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 37)) +>x : Symbol(Point.x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 20)) +>y : Symbol(Point.y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 37)) } export var UnitSquare : { diff --git a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols index 90f2701b534..e837af939b9 100644 --- a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols +++ b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols @@ -6,7 +6,7 @@ module A { >B : Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10)) id: number; ->id : Symbol(id, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 1, 13)) +>id : Symbol(B.id, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 1, 13)) } export var beez: Array; diff --git a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.symbols b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.symbols index 55ba5fd0cf3..c32bed24d98 100644 --- a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.symbols +++ b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 2, 28)) +>x : Symbol(Point.x, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 2, 28)) y: number; ->y : Symbol(y, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 3, 18)) } // valid since Point is exported diff --git a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.symbols b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.symbols index ac43ccea789..ea7806eb0f6 100644 --- a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.symbols +++ b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 2, 28)) +>x : Symbol(Point.x, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 2, 28)) y: number; ->y : Symbol(y, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 3, 18)) +>y : Symbol(Point.y, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 3, 18)) } // valid since Point is exported @@ -24,7 +24,7 @@ module A { >Point : Symbol(Point, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 10)) z: number; ->z : Symbol(z, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 10, 37)) +>z : Symbol(Point3d.z, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 10, 37)) } // invalid Point3d is not exported diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.symbols b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.symbols index 72eb0340eb2..7d1358ca927 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.symbols +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.symbols @@ -6,8 +6,8 @@ module enumdule { >Point : Symbol(Point, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 17)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 20)) ->y : Symbol(y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 37)) +>x : Symbol(Point.x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 20)) +>y : Symbol(Point.y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 37)) } } diff --git a/tests/baselines/reference/Protected8.symbols b/tests/baselines/reference/Protected8.symbols index 502e68bb9c2..eccd4b50f3c 100644 --- a/tests/baselines/reference/Protected8.symbols +++ b/tests/baselines/reference/Protected8.symbols @@ -3,8 +3,8 @@ interface I { >I : Symbol(I, Decl(Protected8.ts, 0, 0)) protected ->protected : Symbol(protected, Decl(Protected8.ts, 0, 13)) +>protected : Symbol(I.protected, Decl(Protected8.ts, 0, 13)) p ->p : Symbol(p, Decl(Protected8.ts, 1, 12)) +>p : Symbol(I.p, Decl(Protected8.ts, 1, 12)) } diff --git a/tests/baselines/reference/Protected9.symbols b/tests/baselines/reference/Protected9.symbols index 27ce91344e4..9ca97c78f9a 100644 --- a/tests/baselines/reference/Protected9.symbols +++ b/tests/baselines/reference/Protected9.symbols @@ -3,5 +3,5 @@ class C { >C : Symbol(C, Decl(Protected9.ts, 0, 0)) constructor(protected p) { } ->p : Symbol(p, Decl(Protected9.ts, 1, 15)) +>p : Symbol(C.p, Decl(Protected9.ts, 1, 15)) } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.symbols b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.symbols index c9e2c124e9d..f5830071897 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.symbols +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 1, 24)) +>x : Symbol(Point.x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 1, 24)) y: number; ->y : Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 2, 18)) +>y : Symbol(Point.y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 2, 18)) } } @@ -20,7 +20,7 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 7, 10)) fromCarthesian(p: A.Point) { ->fromCarthesian : Symbol(fromCarthesian, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 8, 17)) +>fromCarthesian : Symbol(Point.fromCarthesian, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 8, 17)) >p : Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 9, 23)) >A : Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 5, 1)) >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 10)) @@ -58,7 +58,7 @@ module X.Y.Z { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 14)) length: number; ->length : Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 20, 23)) +>length : Symbol(Line.length, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 20, 23)) } } @@ -75,7 +75,7 @@ module X { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 27, 25)) name: string; ->name : Symbol(name, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 28, 24)) +>name : Symbol(Line.name, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 28, 24)) } } } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.symbols b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.symbols index 2fcf3c4b09e..f9237087508 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.symbols +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.symbols @@ -6,13 +6,13 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 1, 28)) +>x : Symbol(Point.x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 1, 28)) y: number; ->y : Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 2, 18)) +>y : Symbol(Point.y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 2, 18)) toCarth(): Point; ->toCarth : Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 3, 18)) +>toCarth : Symbol(Point.toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 3, 18)) >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10)) } } @@ -24,7 +24,7 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 8, 10)) fromCarth(): Point; ->fromCarth : Symbol(fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 9, 21)) +>fromCarth : Symbol(Point.fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 9, 21)) >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 8, 10)) } } @@ -72,12 +72,12 @@ module X { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 25, 23)) start: A.Point; ->start : Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 26, 24)) +>start : Symbol(Line.start, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 26, 24)) >A : Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1)) >Point : Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10)) end: A.Point; ->end : Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 27, 27)) +>end : Symbol(Line.end, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 27, 27)) >A : Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1)) >Point : Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10)) } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.symbols b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.symbols index b7402952dff..a9de1388dcd 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.symbols +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(part1.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(part1.ts, 1, 28)) +>x : Symbol(Point.x, Decl(part1.ts, 1, 28)) y: number; ->y : Symbol(y, Decl(part1.ts, 2, 18)) +>y : Symbol(Point.y, Decl(part1.ts, 2, 18)) } export module Utils { @@ -55,9 +55,9 @@ module A { >Plane : Symbol(Plane, Decl(part2.ts, 4, 25)) constructor(public tl: Point, public br: Point) { } ->tl : Symbol(tl, Decl(part2.ts, 6, 24)) +>tl : Symbol(Plane.tl, Decl(part2.ts, 6, 24)) >Point : Symbol(Point, Decl(part1.ts, 0, 10)) ->br : Symbol(br, Decl(part2.ts, 6, 41)) +>br : Symbol(Plane.br, Decl(part2.ts, 6, 41)) >Point : Symbol(Point, Decl(part1.ts, 0, 10)) } } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.symbols b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.symbols index 3e8fa64501f..ba0d0a1888d 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.symbols +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.symbols @@ -6,13 +6,13 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) x: number; ->x : Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 1, 28)) +>x : Symbol(Point.x, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 1, 28)) y: number; ->y : Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 2, 18)) +>y : Symbol(Point.y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 2, 18)) toCarth(): Point; ->toCarth : Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 3, 18)) +>toCarth : Symbol(Point.toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 3, 18)) >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) } } @@ -24,7 +24,7 @@ module A { >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) fromCarth(): Point; ->fromCarth : Symbol(fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 9, 28)) +>fromCarth : Symbol(Point.fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 9, 28)) >Point : Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) } } @@ -75,12 +75,12 @@ module X { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 14), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 23)) start: A.Point; ->start : Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 26, 31)) +>start : Symbol(Line.start, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 26, 31)) >A : Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1)) >Point : Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) end: A.Point; ->end : Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 27, 27)) +>end : Symbol(Line.end, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 27, 27)) >A : Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1)) >Point : Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10)) } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.symbols b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.symbols index e8187771695..bf8fd1dc48d 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.symbols +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.symbols @@ -39,7 +39,7 @@ module X.Y.Z { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 14)) length: number; ->length : Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 15, 23)) +>length : Symbol(Line.length, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 15, 23)) } } @@ -56,7 +56,7 @@ module X { >Line : Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 22, 18)) name: string; ->name : Symbol(name, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 23, 31)) +>name : Symbol(Line.name, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 23, 31)) } } } diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.symbols b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.symbols index 5c533273fa6..c76da99ac42 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.symbols +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.symbols @@ -9,10 +9,10 @@ module Root { >Point : Symbol(Point, Decl(part1.ts, 1, 21)) x: number; ->x : Symbol(x, Decl(part1.ts, 2, 32)) +>x : Symbol(Point.x, Decl(part1.ts, 2, 32)) y: number; ->y : Symbol(y, Decl(part1.ts, 3, 22)) +>y : Symbol(Point.y, Decl(part1.ts, 3, 22)) } export module Utils { @@ -62,11 +62,11 @@ module otherRoot { >Plane : Symbol(Plane, Decl(part2.ts, 5, 29)) constructor(public tl: Root.A.Point, public br: Root.A.Point) { } ->tl : Symbol(tl, Decl(part2.ts, 7, 28)) +>tl : Symbol(Plane.tl, Decl(part2.ts, 7, 28)) >Root : Symbol(Root, Decl(part1.ts, 0, 0)) >A : Symbol(Root.A, Decl(part1.ts, 0, 13)) >Point : Symbol(Root.A.Point, Decl(part1.ts, 1, 21)) ->br : Symbol(br, Decl(part2.ts, 7, 52)) +>br : Symbol(Plane.br, Decl(part2.ts, 7, 52)) >Root : Symbol(Root, Decl(part1.ts, 0, 0)) >A : Symbol(Root.A, Decl(part1.ts, 0, 13)) >Point : Symbol(Root.A.Point, Decl(part1.ts, 1, 21)) diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.symbols b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.symbols index 34abd4ecd65..ada4d20c0be 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.symbols +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.symbols @@ -6,10 +6,10 @@ module A { >Point : Symbol(Point, Decl(part1.ts, 0, 10)) x: number; ->x : Symbol(x, Decl(part1.ts, 1, 28)) +>x : Symbol(Point.x, Decl(part1.ts, 1, 28)) y: number; ->y : Symbol(y, Decl(part1.ts, 2, 18)) +>y : Symbol(Point.y, Decl(part1.ts, 2, 18)) } export module Utils { @@ -52,9 +52,9 @@ module A { >Plane : Symbol(Plane, Decl(part2.ts, 3, 25)) constructor(public tl: Point, public br: Point) { } ->tl : Symbol(tl, Decl(part2.ts, 5, 24)) +>tl : Symbol(Plane.tl, Decl(part2.ts, 5, 24)) >Point : Symbol(Point, Decl(part1.ts, 0, 10)) ->br : Symbol(br, Decl(part2.ts, 5, 41)) +>br : Symbol(Plane.br, Decl(part2.ts, 5, 41)) >Point : Symbol(Point, Decl(part1.ts, 0, 10)) } } diff --git a/tests/baselines/reference/TypeGuardWithArrayUnion.symbols b/tests/baselines/reference/TypeGuardWithArrayUnion.symbols index 2ff91774b83..38d1dcf3e0a 100644 --- a/tests/baselines/reference/TypeGuardWithArrayUnion.symbols +++ b/tests/baselines/reference/TypeGuardWithArrayUnion.symbols @@ -3,7 +3,7 @@ class Message { >Message : Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0)) value: string; ->value : Symbol(value, Decl(TypeGuardWithArrayUnion.ts, 0, 15)) +>value : Symbol(Message.value, Decl(TypeGuardWithArrayUnion.ts, 0, 15)) } function saySize(message: Message | Message[]) { diff --git a/tests/baselines/reference/abstractInterfaceIdentifierName.symbols b/tests/baselines/reference/abstractInterfaceIdentifierName.symbols index c70cdec8ac9..29a1a361894 100644 --- a/tests/baselines/reference/abstractInterfaceIdentifierName.symbols +++ b/tests/baselines/reference/abstractInterfaceIdentifierName.symbols @@ -4,6 +4,6 @@ interface abstract { >abstract : Symbol(abstract, Decl(abstractInterfaceIdentifierName.ts, 0, 0)) abstract(): void; ->abstract : Symbol(abstract, Decl(abstractInterfaceIdentifierName.ts, 1, 20)) +>abstract : Symbol(abstract.abstract, Decl(abstractInterfaceIdentifierName.ts, 1, 20)) } diff --git a/tests/baselines/reference/abstractProperty.symbols b/tests/baselines/reference/abstractProperty.symbols index f64df9a5cde..3c69af4ffe9 100644 --- a/tests/baselines/reference/abstractProperty.symbols +++ b/tests/baselines/reference/abstractProperty.symbols @@ -3,57 +3,57 @@ interface A { >A : Symbol(A, Decl(abstractProperty.ts, 0, 0)) prop: string; ->prop : Symbol(prop, Decl(abstractProperty.ts, 0, 13)) +>prop : Symbol(A.prop, Decl(abstractProperty.ts, 0, 13)) raw: string; ->raw : Symbol(raw, Decl(abstractProperty.ts, 1, 17)) +>raw : Symbol(A.raw, Decl(abstractProperty.ts, 1, 17)) m(): void; ->m : Symbol(m, Decl(abstractProperty.ts, 2, 16)) +>m : Symbol(A.m, Decl(abstractProperty.ts, 2, 16)) } abstract class B implements A { >B : Symbol(B, Decl(abstractProperty.ts, 4, 1)) >A : Symbol(A, Decl(abstractProperty.ts, 0, 0)) abstract prop: string; ->prop : Symbol(prop, Decl(abstractProperty.ts, 5, 31)) +>prop : Symbol(B.prop, Decl(abstractProperty.ts, 5, 31)) abstract raw: string; ->raw : Symbol(raw, Decl(abstractProperty.ts, 6, 26)) +>raw : Symbol(B.raw, Decl(abstractProperty.ts, 6, 26)) abstract readonly ro: string; ->ro : Symbol(ro, Decl(abstractProperty.ts, 7, 25)) +>ro : Symbol(B.ro, Decl(abstractProperty.ts, 7, 25)) abstract get readonlyProp(): string; ->readonlyProp : Symbol(readonlyProp, Decl(abstractProperty.ts, 8, 33), Decl(abstractProperty.ts, 9, 40)) +>readonlyProp : Symbol(B.readonlyProp, Decl(abstractProperty.ts, 8, 33), Decl(abstractProperty.ts, 9, 40)) abstract set readonlyProp(val: string); ->readonlyProp : Symbol(readonlyProp, Decl(abstractProperty.ts, 8, 33), Decl(abstractProperty.ts, 9, 40)) +>readonlyProp : Symbol(B.readonlyProp, Decl(abstractProperty.ts, 8, 33), Decl(abstractProperty.ts, 9, 40)) >val : Symbol(val, Decl(abstractProperty.ts, 10, 30)) abstract m(): void; ->m : Symbol(m, Decl(abstractProperty.ts, 10, 43)) +>m : Symbol(B.m, Decl(abstractProperty.ts, 10, 43)) } class C extends B { >C : Symbol(C, Decl(abstractProperty.ts, 12, 1)) >B : Symbol(B, Decl(abstractProperty.ts, 4, 1)) get prop() { return "foo"; } ->prop : Symbol(prop, Decl(abstractProperty.ts, 13, 19), Decl(abstractProperty.ts, 14, 32)) +>prop : Symbol(C.prop, Decl(abstractProperty.ts, 13, 19), Decl(abstractProperty.ts, 14, 32)) set prop(v) { } ->prop : Symbol(prop, Decl(abstractProperty.ts, 13, 19), Decl(abstractProperty.ts, 14, 32)) +>prop : Symbol(C.prop, Decl(abstractProperty.ts, 13, 19), Decl(abstractProperty.ts, 14, 32)) >v : Symbol(v, Decl(abstractProperty.ts, 15, 13)) raw = "edge"; ->raw : Symbol(raw, Decl(abstractProperty.ts, 15, 19)) +>raw : Symbol(C.raw, Decl(abstractProperty.ts, 15, 19)) readonly ro = "readonly please"; ->ro : Symbol(ro, Decl(abstractProperty.ts, 16, 17)) +>ro : Symbol(C.ro, Decl(abstractProperty.ts, 16, 17)) readonlyProp: string; // don't have to give a value, in fact ->readonlyProp : Symbol(readonlyProp, Decl(abstractProperty.ts, 17, 36)) +>readonlyProp : Symbol(C.readonlyProp, Decl(abstractProperty.ts, 17, 36)) m() { } ->m : Symbol(m, Decl(abstractProperty.ts, 18, 25)) +>m : Symbol(C.m, Decl(abstractProperty.ts, 18, 25)) } diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.symbols b/tests/baselines/reference/accessOverriddenBaseClassMember1.symbols index e5e19030afa..edcea5686e7 100644 --- a/tests/baselines/reference/accessOverriddenBaseClassMember1.symbols +++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.symbols @@ -3,19 +3,19 @@ class Point { >Point : Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) ->y : Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) +>x : Symbol(Point.x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) +>y : Symbol(Point.y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) public toString() { ->toString : Symbol(toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55)) +>toString : Symbol(Point.toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55)) return "x=" + this.x + " y=" + this.y; ->this.x : Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) +>this.x : Symbol(Point.x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) >this : Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0)) ->x : Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) ->this.y : Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) +>x : Symbol(Point.x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16)) +>this.y : Symbol(Point.y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) >this : Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0)) ->y : Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) +>y : Symbol(Point.y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33)) } } class ColoredPoint extends Point { @@ -25,7 +25,7 @@ class ColoredPoint extends Point { constructor(x: number, y: number, public color: string) { >x : Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 7, 16)) >y : Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 7, 26)) ->color : Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) +>color : Symbol(ColoredPoint.color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) super(x, y); >super : Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0)) @@ -33,15 +33,15 @@ class ColoredPoint extends Point { >y : Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 7, 26)) } public toString() { ->toString : Symbol(toString, Decl(accessOverriddenBaseClassMember1.ts, 9, 5)) +>toString : Symbol(ColoredPoint.toString, Decl(accessOverriddenBaseClassMember1.ts, 9, 5)) return super.toString() + " color=" + this.color; >super.toString : Symbol(Point.toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55)) >super : Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0)) >toString : Symbol(Point.toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55)) ->this.color : Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) +>this.color : Symbol(ColoredPoint.color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) >this : Symbol(ColoredPoint, Decl(accessOverriddenBaseClassMember1.ts, 5, 1)) ->color : Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) +>color : Symbol(ColoredPoint.color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37)) } } diff --git a/tests/baselines/reference/accessorWithES5.symbols b/tests/baselines/reference/accessorWithES5.symbols index dccbd8180bb..46e8d6f91da 100644 --- a/tests/baselines/reference/accessorWithES5.symbols +++ b/tests/baselines/reference/accessorWithES5.symbols @@ -4,7 +4,7 @@ class C { >C : Symbol(C, Decl(accessorWithES5.ts, 0, 0)) get x() { ->x : Symbol(x, Decl(accessorWithES5.ts, 1, 9)) +>x : Symbol(C.x, Decl(accessorWithES5.ts, 1, 9)) return 1; } @@ -14,7 +14,7 @@ class D { >D : Symbol(D, Decl(accessorWithES5.ts, 5, 1)) set x(v) { ->x : Symbol(x, Decl(accessorWithES5.ts, 7, 9)) +>x : Symbol(D.x, Decl(accessorWithES5.ts, 7, 9)) >v : Symbol(v, Decl(accessorWithES5.ts, 8, 10)) } } diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols index bada6c561f1..f95a388c189 100644 --- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols +++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols @@ -6,7 +6,7 @@ class C { >C : Symbol(C, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 18)) public a: string; ->a : Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 1, 9)) +>a : Symbol(C.a, Decl(additionOperatorWithAnyAndEveryType.ts, 1, 9)) static foo() { } >foo : Symbol(C.foo, Decl(additionOperatorWithAnyAndEveryType.ts, 2, 21)) diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols b/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols index 62a2396e2b2..45132ea2aa9 100644 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 50)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsage1_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsage1_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsage1_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0)) @@ -18,19 +18,19 @@ class C2 { >C2 : Symbol(C2, Decl(aliasUsage1_main.ts, 4, 1)) x: IHasVisualizationModel; ->x : Symbol(x, Decl(aliasUsage1_main.ts, 5, 10)) +>x : Symbol(C2.x, Decl(aliasUsage1_main.ts, 5, 10)) >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 50)) get A() { ->A : Symbol(A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5)) +>A : Symbol(C2.A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5)) return this.x; ->this.x : Symbol(x, Decl(aliasUsage1_main.ts, 5, 10)) +>this.x : Symbol(C2.x, Decl(aliasUsage1_main.ts, 5, 10)) >this : Symbol(C2, Decl(aliasUsage1_main.ts, 4, 1)) ->x : Symbol(x, Decl(aliasUsage1_main.ts, 5, 10)) +>x : Symbol(C2.x, Decl(aliasUsage1_main.ts, 5, 10)) } set A(x) { ->A : Symbol(A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5)) +>A : Symbol(C2.A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5)) >x : Symbol(x, Decl(aliasUsage1_main.ts, 10, 10)) x = moduleA; @@ -43,7 +43,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsage1_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsage1_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsage1_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsage1_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInArray.symbols b/tests/baselines/reference/aliasUsageInArray.symbols index 9bca1bc8864..367cd05545a 100644 --- a/tests/baselines/reference/aliasUsageInArray.symbols +++ b/tests/baselines/reference/aliasUsageInArray.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 56)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInArray_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInArray_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInArray_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0)) @@ -30,7 +30,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInArray_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInArray_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInArray_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInArray_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.symbols b/tests/baselines/reference/aliasUsageInFunctionExpression.symbols index bd791d4d38f..a7a1f5d4593 100644 --- a/tests/baselines/reference/aliasUsageInFunctionExpression.symbols +++ b/tests/baselines/reference/aliasUsageInFunctionExpression.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 69)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInFunctionExpression_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0)) @@ -30,7 +30,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.symbols b/tests/baselines/reference/aliasUsageInGenericFunction.symbols index fccf60c3514..e44059e6907 100644 --- a/tests/baselines/reference/aliasUsageInGenericFunction.symbols +++ b/tests/baselines/reference/aliasUsageInGenericFunction.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 66)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInGenericFunction_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0)) @@ -42,7 +42,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInGenericFunction_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols b/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols index 37529d2ead2..3e13b71ea4f 100644 --- a/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols +++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0)) @@ -22,7 +22,7 @@ class N { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65)) x = moduleA; ->x : Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 41)) +>x : Symbol(N.x, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 41)) >moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 67)) } class N2 { @@ -33,7 +33,7 @@ class N2 { >moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 67)) x: IHasVisualizationModel; ->x : Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 33)) +>x : Symbol(N2.x, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 33)) >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65)) } === tests/cases/compiler/aliasUsageInIndexerOfClass_backbone.ts === @@ -41,7 +41,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.symbols b/tests/baselines/reference/aliasUsageInObjectLiteral.symbols index ef94a9037ad..161617e0003 100644 --- a/tests/baselines/reference/aliasUsageInObjectLiteral.symbols +++ b/tests/baselines/reference/aliasUsageInObjectLiteral.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 64)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInObjectLiteral_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0)) @@ -42,7 +42,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInOrExpression.symbols b/tests/baselines/reference/aliasUsageInOrExpression.symbols index 3d9331b1fa9..2d9f55ec274 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.symbols +++ b/tests/baselines/reference/aliasUsageInOrExpression.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0)) @@ -58,7 +58,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInOrExpression_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInOrExpression_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols index 6fc639da2c1..77dbb058371 100644 --- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols +++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0)) @@ -20,7 +20,7 @@ class C { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78)) x: T; ->x : Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 43)) +>x : Symbol(C.x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 43)) >T : Symbol(T, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 8)) } class D extends C { @@ -29,7 +29,7 @@ class D extends C { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78)) x = moduleA; ->x : Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 8, 43)) +>x : Symbol(D.x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 8, 43)) >moduleA : Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 80)) } === tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone.ts === @@ -37,7 +37,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts === diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.symbols b/tests/baselines/reference/aliasUsageInVarAssignment.symbols index d0e7f6b7d05..671cbfc3082 100644 --- a/tests/baselines/reference/aliasUsageInVarAssignment.symbols +++ b/tests/baselines/reference/aliasUsageInVarAssignment.symbols @@ -9,7 +9,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 64)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 2, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 2, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(aliasUsageInVarAssignment_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0)) @@ -28,7 +28,7 @@ export class Model { >Model : Symbol(Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 20)) } === tests/cases/compiler/aliasUsageInVarAssignment_moduleA.ts === diff --git a/tests/baselines/reference/allowSyntheticDefaultImports1.symbols b/tests/baselines/reference/allowSyntheticDefaultImports1.symbols index d88a79e1bf2..ecbe9e4c205 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports1.symbols +++ b/tests/baselines/reference/allowSyntheticDefaultImports1.symbols @@ -13,6 +13,6 @@ export class Foo { >Foo : Symbol(Foo, Decl(b.ts, 0, 0)) member: string; ->member : Symbol(member, Decl(b.ts, 0, 18)) +>member : Symbol(Foo.member, Decl(b.ts, 0, 18)) } diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.symbols b/tests/baselines/reference/allowSyntheticDefaultImports2.symbols index cea6145fbd6..615b1095c66 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports2.symbols +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.symbols @@ -13,5 +13,5 @@ export class Foo { >Foo : Symbol(Foo, Decl(b.ts, 0, 0)) member: string; ->member : Symbol(member, Decl(b.ts, 0, 18)) +>member : Symbol(Foo.member, Decl(b.ts, 0, 18)) } diff --git a/tests/baselines/reference/allowSyntheticDefaultImports4.symbols b/tests/baselines/reference/allowSyntheticDefaultImports4.symbols index 8edad006c2d..22887d48bd9 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports4.symbols +++ b/tests/baselines/reference/allowSyntheticDefaultImports4.symbols @@ -3,7 +3,7 @@ declare class Foo { >Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) member: string; ->member : Symbol(member, Decl(b.d.ts, 0, 19)) +>member : Symbol(Foo.member, Decl(b.d.ts, 0, 19)) } export = Foo; >Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.symbols b/tests/baselines/reference/allowSyntheticDefaultImports5.symbols index 8edad006c2d..22887d48bd9 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports5.symbols +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.symbols @@ -3,7 +3,7 @@ declare class Foo { >Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) member: string; ->member : Symbol(member, Decl(b.d.ts, 0, 19)) +>member : Symbol(Foo.member, Decl(b.d.ts, 0, 19)) } export = Foo; >Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) diff --git a/tests/baselines/reference/ambientClassDeclarationWithExtends.symbols b/tests/baselines/reference/ambientClassDeclarationWithExtends.symbols index 023ae6bf582..125bd0d0e5f 100644 --- a/tests/baselines/reference/ambientClassDeclarationWithExtends.symbols +++ b/tests/baselines/reference/ambientClassDeclarationWithExtends.symbols @@ -10,7 +10,7 @@ declare class C { >C : Symbol(C, Decl(ambientClassDeclarationExtends_singleFile.ts, 1, 29)) public foo; ->foo : Symbol(foo, Decl(ambientClassDeclarationExtends_singleFile.ts, 3, 17)) +>foo : Symbol(C.foo, Decl(ambientClassDeclarationExtends_singleFile.ts, 3, 17)) } namespace D { var x; } >D : Symbol(D, Decl(ambientClassDeclarationExtends_singleFile.ts, 5, 1), Decl(ambientClassDeclarationExtends_singleFile.ts, 6, 22)) @@ -31,7 +31,7 @@ declare class E { >E : Symbol(E, Decl(ambientClassDeclarationExtends_file1.ts, 0, 0)) public bar; ->bar : Symbol(bar, Decl(ambientClassDeclarationExtends_file1.ts, 1, 17)) +>bar : Symbol(E.bar, Decl(ambientClassDeclarationExtends_file1.ts, 1, 17)) } namespace F { var y; } >F : Symbol(F, Decl(ambientClassDeclarationExtends_file1.ts, 3, 1), Decl(ambientClassDeclarationExtends_file2.ts, 0, 0)) diff --git a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.symbols b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.symbols index 9a5eb13d21d..224edf38cee 100644 --- a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.symbols +++ b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.symbols @@ -3,20 +3,20 @@ declare class C { >C : Symbol(C, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 0), Decl(ambientClassMergesOverloadsWithInterface.ts, 3, 1)) baz(): any; ->baz : Symbol(baz, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 17)) +>baz : Symbol(C.baz, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 17)) foo(n: number): any; ->foo : Symbol(foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13)) +>foo : Symbol(C.foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13)) >n : Symbol(n, Decl(ambientClassMergesOverloadsWithInterface.ts, 2, 8)) } interface C { >C : Symbol(C, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 0), Decl(ambientClassMergesOverloadsWithInterface.ts, 3, 1)) foo(n: number): any; ->foo : Symbol(foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13)) +>foo : Symbol(C.foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13)) >n : Symbol(n, Decl(ambientClassMergesOverloadsWithInterface.ts, 5, 8)) bar(): any; ->bar : Symbol(bar, Decl(ambientClassMergesOverloadsWithInterface.ts, 5, 24)) +>bar : Symbol(C.bar, Decl(ambientClassMergesOverloadsWithInterface.ts, 5, 24)) } diff --git a/tests/baselines/reference/ambientDeclarations.symbols b/tests/baselines/reference/ambientDeclarations.symbols index e5b85ae7c2c..ef5c5403ccf 100644 --- a/tests/baselines/reference/ambientDeclarations.symbols +++ b/tests/baselines/reference/ambientDeclarations.symbols @@ -63,7 +63,7 @@ declare class cls { constructor(); method(): cls; ->method : Symbol(method, Decl(ambientDeclarations.ts, 26, 18)) +>method : Symbol(cls.method, Decl(ambientDeclarations.ts, 26, 18)) >cls : Symbol(cls, Decl(ambientDeclarations.ts, 22, 36)) static static(p): number; @@ -74,7 +74,7 @@ declare class cls { >q : Symbol(cls.q, Decl(ambientDeclarations.ts, 28, 29)) private fn(); ->fn : Symbol(fn, Decl(ambientDeclarations.ts, 29, 13)) +>fn : Symbol(cls.fn, Decl(ambientDeclarations.ts, 29, 13)) private static fns(); >fns : Symbol(cls.fns, Decl(ambientDeclarations.ts, 30, 17)) diff --git a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.symbols b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.symbols index 3af41f90957..d7e3b5925b1 100644 --- a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.symbols +++ b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.symbols @@ -19,7 +19,7 @@ declare module 'M' { >C : Symbol(C, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 3, 5)) foo(): void; ->foo : Symbol(foo, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 4, 13)) +>foo : Symbol(C.foo, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 4, 13)) } import X = C; >X : Symbol(X, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 6, 5)) diff --git a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.symbols b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.symbols index baf15f22a4a..15ddf4ac488 100644 --- a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.symbols +++ b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.symbols @@ -19,7 +19,7 @@ declare module 'M' { >C : Symbol(C, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 3, 5)) foo(): void; ->foo : Symbol(foo, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 4, 13)) +>foo : Symbol(C.foo, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 4, 13)) } export = C; >C : Symbol(C, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 3, 5)) diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.symbols b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.symbols index 5d6c34f4d68..9dcf5c515e2 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.symbols +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.symbols @@ -3,35 +3,35 @@ class TestClass { >TestClass : Symbol(TestClass, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 0)) public bar(x: string): void; ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) +>bar : Symbol(TestClass.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 15)) public bar(x: string[]): void; ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) +>bar : Symbol(TestClass.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 15)) public bar(x: any): void { ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) +>bar : Symbol(TestClass.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 3, 15)) } public foo(x: string): void; ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) +>foo : Symbol(TestClass.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 15)) public foo(x: string[]): void; ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) +>foo : Symbol(TestClass.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 15)) public foo(x: any): void { ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) +>foo : Symbol(TestClass.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 9, 15)) this.bar(x); // should not error ->this.bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) +>this.bar : Symbol(TestClass.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) >this : Symbol(TestClass, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 0)) ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) +>bar : Symbol(TestClass.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 9, 15)) } } @@ -40,36 +40,36 @@ class TestClass2 { >TestClass2 : Symbol(TestClass2, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 12, 1)) public bar(x: string): number; ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) +>bar : Symbol(TestClass2.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 15)) public bar(x: string[]): number; ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) +>bar : Symbol(TestClass2.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 15)) public bar(x: any): number { ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) +>bar : Symbol(TestClass2.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 17, 15)) return 0; } public foo(x: string): number; ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) +>foo : Symbol(TestClass2.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 15)) public foo(x: string[]): number; ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) +>foo : Symbol(TestClass2.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 15)) public foo(x: any): number { ->foo : Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) +>foo : Symbol(TestClass2.foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 23, 15)) return this.bar(x); // should not error ->this.bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) +>this.bar : Symbol(TestClass2.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) >this : Symbol(TestClass2, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 12, 1)) ->bar : Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) +>bar : Symbol(TestClass2.bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36)) >x : Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 23, 15)) } } diff --git a/tests/baselines/reference/ambiguousOverloadResolution.symbols b/tests/baselines/reference/ambiguousOverloadResolution.symbols index 1d848d707de..46711a1d142 100644 --- a/tests/baselines/reference/ambiguousOverloadResolution.symbols +++ b/tests/baselines/reference/ambiguousOverloadResolution.symbols @@ -5,7 +5,7 @@ class A { } class B extends A { x: number; } >B : Symbol(B, Decl(ambiguousOverloadResolution.ts, 0, 11)) >A : Symbol(A, Decl(ambiguousOverloadResolution.ts, 0, 0)) ->x : Symbol(x, Decl(ambiguousOverloadResolution.ts, 1, 19)) +>x : Symbol(B.x, Decl(ambiguousOverloadResolution.ts, 1, 19)) declare function f(p: A, q: B): number; >f : Symbol(f, Decl(ambiguousOverloadResolution.ts, 1, 32), Decl(ambiguousOverloadResolution.ts, 3, 39)) diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.symbols b/tests/baselines/reference/amdImportNotAsPrimaryExpression.symbols index 68a852c6165..ae67c0a3175 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.symbols +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.symbols @@ -43,7 +43,7 @@ export class C1 { >C1 : Symbol(C1, Decl(foo_0.ts, 0, 0)) m1 = 42; ->m1 : Symbol(m1, Decl(foo_0.ts, 0, 17)) +>m1 : Symbol(C1.m1, Decl(foo_0.ts, 0, 17)) static s1 = true; >s1 : Symbol(C1.s1, Decl(foo_0.ts, 1, 9)) @@ -53,10 +53,10 @@ export interface I1 { >I1 : Symbol(I1, Decl(foo_0.ts, 3, 1)) name: string; ->name : Symbol(name, Decl(foo_0.ts, 5, 21)) +>name : Symbol(I1.name, Decl(foo_0.ts, 5, 21)) age: number; ->age : Symbol(age, Decl(foo_0.ts, 6, 14)) +>age : Symbol(I1.age, Decl(foo_0.ts, 6, 14)) } export module M1 { @@ -66,7 +66,7 @@ export module M1 { >I2 : Symbol(I2, Decl(foo_0.ts, 10, 18)) foo: string; ->foo : Symbol(foo, Decl(foo_0.ts, 11, 22)) +>foo : Symbol(I2.foo, Decl(foo_0.ts, 11, 22)) } } diff --git a/tests/baselines/reference/amdModuleName1.symbols b/tests/baselines/reference/amdModuleName1.symbols index 04f471dc2ad..d6e44acf93a 100644 --- a/tests/baselines/reference/amdModuleName1.symbols +++ b/tests/baselines/reference/amdModuleName1.symbols @@ -4,13 +4,13 @@ class Foo { >Foo : Symbol(Foo, Decl(amdModuleName1.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(amdModuleName1.ts, 1, 11)) +>x : Symbol(Foo.x, Decl(amdModuleName1.ts, 1, 11)) constructor() { this.x = 5; ->this.x : Symbol(x, Decl(amdModuleName1.ts, 1, 11)) +>this.x : Symbol(Foo.x, Decl(amdModuleName1.ts, 1, 11)) >this : Symbol(Foo, Decl(amdModuleName1.ts, 0, 0)) ->x : Symbol(x, Decl(amdModuleName1.ts, 1, 11)) +>x : Symbol(Foo.x, Decl(amdModuleName1.ts, 1, 11)) } } export = Foo; diff --git a/tests/baselines/reference/anonterface.symbols b/tests/baselines/reference/anonterface.symbols index fccd48043cf..56d6b6a09b8 100644 --- a/tests/baselines/reference/anonterface.symbols +++ b/tests/baselines/reference/anonterface.symbols @@ -6,7 +6,7 @@ module M { >C : Symbol(C, Decl(anonterface.ts, 0, 10)) m(fn:{ (n:number):string; },n2:number):string { ->m : Symbol(m, Decl(anonterface.ts, 1, 20)) +>m : Symbol(C.m, Decl(anonterface.ts, 1, 20)) >fn : Symbol(fn, Decl(anonterface.ts, 2, 10)) >n : Symbol(n, Decl(anonterface.ts, 2, 16)) >n2 : Symbol(n2, Decl(anonterface.ts, 2, 36)) diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.symbols b/tests/baselines/reference/anyAssignabilityInInheritance.symbols index 50148d7df99..351c7faf78f 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.symbols +++ b/tests/baselines/reference/anyAssignabilityInInheritance.symbols @@ -8,7 +8,7 @@ interface I { >x : Symbol(x, Decl(anyAssignabilityInInheritance.ts, 3, 5)) foo: any; // ok, any identical to itself ->foo : Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 3, 21)) +>foo : Symbol(I.foo, Decl(anyAssignabilityInInheritance.ts, 3, 21)) } var a: any; @@ -113,7 +113,7 @@ var r3 = foo3(a); // any interface I8 { foo: string } >I8 : Symbol(I8, Decl(anyAssignabilityInInheritance.ts, 35, 17)) ->foo : Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 37, 14)) +>foo : Symbol(I8.foo, Decl(anyAssignabilityInInheritance.ts, 37, 14)) declare function foo9(x: I8): I8; >foo9 : Symbol(foo9, Decl(anyAssignabilityInInheritance.ts, 37, 28), Decl(anyAssignabilityInInheritance.ts, 38, 33)) @@ -132,7 +132,7 @@ var r3 = foo3(a); // any class A { foo: number; } >A : Symbol(A, Decl(anyAssignabilityInInheritance.ts, 40, 17)) ->foo : Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 42, 9)) +>foo : Symbol(A.foo, Decl(anyAssignabilityInInheritance.ts, 42, 9)) declare function foo10(x: A): A; >foo10 : Symbol(foo10, Decl(anyAssignabilityInInheritance.ts, 42, 24), Decl(anyAssignabilityInInheritance.ts, 43, 32)) @@ -152,7 +152,7 @@ var r3 = foo3(a); // any class A2 { foo: T; } >A2 : Symbol(A2, Decl(anyAssignabilityInInheritance.ts, 45, 17)) >T : Symbol(T, Decl(anyAssignabilityInInheritance.ts, 47, 9)) ->foo : Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 47, 13)) +>foo : Symbol(A2.foo, Decl(anyAssignabilityInInheritance.ts, 47, 13)) >T : Symbol(T, Decl(anyAssignabilityInInheritance.ts, 47, 9)) declare function foo11(x: A2): A2; @@ -251,7 +251,7 @@ var r3 = foo3(a); // any class CC { baz: string } >CC : Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24)) ->baz : Symbol(baz, Decl(anyAssignabilityInInheritance.ts, 73, 10)) +>baz : Symbol(CC.baz, Decl(anyAssignabilityInInheritance.ts, 73, 10)) module CC { >CC : Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24)) diff --git a/tests/baselines/reference/anyAssignableToEveryType.symbols b/tests/baselines/reference/anyAssignableToEveryType.symbols index b1b2f87c050..a7a2843dc3d 100644 --- a/tests/baselines/reference/anyAssignableToEveryType.symbols +++ b/tests/baselines/reference/anyAssignableToEveryType.symbols @@ -6,7 +6,7 @@ class C { >C : Symbol(C, Decl(anyAssignableToEveryType.ts, 0, 11)) foo: string; ->foo : Symbol(foo, Decl(anyAssignableToEveryType.ts, 2, 9)) +>foo : Symbol(C.foo, Decl(anyAssignableToEveryType.ts, 2, 9)) } var ac: C; >ac : Symbol(ac, Decl(anyAssignableToEveryType.ts, 5, 3)) @@ -16,7 +16,7 @@ interface I { >I : Symbol(I, Decl(anyAssignableToEveryType.ts, 5, 10)) foo: string; ->foo : Symbol(foo, Decl(anyAssignableToEveryType.ts, 6, 13)) +>foo : Symbol(I.foo, Decl(anyAssignableToEveryType.ts, 6, 13)) } var ai: I; >ai : Symbol(ai, Decl(anyAssignableToEveryType.ts, 9, 3)) diff --git a/tests/baselines/reference/anyAssignableToEveryType2.symbols b/tests/baselines/reference/anyAssignableToEveryType2.symbols index 9984a3f2fb8..46d74d90bd9 100644 --- a/tests/baselines/reference/anyAssignableToEveryType2.symbols +++ b/tests/baselines/reference/anyAssignableToEveryType2.symbols @@ -8,7 +8,7 @@ interface I { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 3, 5)) foo: any; // ok, any identical to itself ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 3, 21)) +>foo : Symbol(I.foo, Decl(anyAssignableToEveryType2.ts, 3, 21)) } @@ -19,7 +19,7 @@ interface I2 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 9, 5)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 9, 24)) +>foo : Symbol(I2.foo, Decl(anyAssignableToEveryType2.ts, 9, 24)) } @@ -30,7 +30,7 @@ interface I3 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 15, 5)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 15, 24)) +>foo : Symbol(I3.foo, Decl(anyAssignableToEveryType2.ts, 15, 24)) } @@ -41,7 +41,7 @@ interface I4 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 21, 5)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 21, 25)) +>foo : Symbol(I4.foo, Decl(anyAssignableToEveryType2.ts, 21, 25)) } @@ -53,7 +53,7 @@ interface I5 { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 27, 22)) +>foo : Symbol(I5.foo, Decl(anyAssignableToEveryType2.ts, 27, 22)) } @@ -65,7 +65,7 @@ interface I6 { >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 33, 24)) +>foo : Symbol(I6.foo, Decl(anyAssignableToEveryType2.ts, 33, 24)) } @@ -77,7 +77,7 @@ interface I7 { >bar : Symbol(bar, Decl(anyAssignableToEveryType2.ts, 39, 18)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 39, 33)) +>foo : Symbol(I7.foo, Decl(anyAssignableToEveryType2.ts, 39, 33)) } @@ -88,7 +88,7 @@ interface I8 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 45, 5)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 45, 26)) +>foo : Symbol(I8.foo, Decl(anyAssignableToEveryType2.ts, 45, 26)) } @@ -100,12 +100,12 @@ interface I9 { >I8 : Symbol(I8, Decl(anyAssignableToEveryType2.ts, 41, 1)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 51, 20)) +>foo : Symbol(I9.foo, Decl(anyAssignableToEveryType2.ts, 51, 20)) } class A { foo: number; } >A : Symbol(A, Decl(anyAssignableToEveryType2.ts, 53, 1)) ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 55, 9)) +>foo : Symbol(A.foo, Decl(anyAssignableToEveryType2.ts, 55, 9)) interface I10 { >I10 : Symbol(I10, Decl(anyAssignableToEveryType2.ts, 55, 24)) @@ -115,13 +115,13 @@ interface I10 { >A : Symbol(A, Decl(anyAssignableToEveryType2.ts, 53, 1)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 57, 19)) +>foo : Symbol(I10.foo, Decl(anyAssignableToEveryType2.ts, 57, 19)) } class A2 { foo: T; } >A2 : Symbol(A2, Decl(anyAssignableToEveryType2.ts, 59, 1)) >T : Symbol(T, Decl(anyAssignableToEveryType2.ts, 61, 9)) ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 61, 13)) +>foo : Symbol(A2.foo, Decl(anyAssignableToEveryType2.ts, 61, 13)) >T : Symbol(T, Decl(anyAssignableToEveryType2.ts, 61, 9)) interface I11 { @@ -132,7 +132,7 @@ interface I11 { >A2 : Symbol(A2, Decl(anyAssignableToEveryType2.ts, 59, 1)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 63, 28)) +>foo : Symbol(I11.foo, Decl(anyAssignableToEveryType2.ts, 63, 28)) } @@ -144,7 +144,7 @@ interface I12 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 69, 18)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 69, 31)) +>foo : Symbol(I12.foo, Decl(anyAssignableToEveryType2.ts, 69, 31)) } @@ -159,7 +159,7 @@ interface I13 { >T : Symbol(T, Decl(anyAssignableToEveryType2.ts, 75, 18)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 75, 32)) +>foo : Symbol(I13.foo, Decl(anyAssignableToEveryType2.ts, 75, 32)) } @@ -175,7 +175,7 @@ interface I14 { >E : Symbol(E, Decl(anyAssignableToEveryType2.ts, 77, 1)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 82, 19)) +>foo : Symbol(I14.foo, Decl(anyAssignableToEveryType2.ts, 82, 19)) } @@ -196,13 +196,13 @@ interface I15 { >f : Symbol(f, Decl(anyAssignableToEveryType2.ts, 84, 1), Decl(anyAssignableToEveryType2.ts, 87, 16)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 92, 26)) +>foo : Symbol(I15.foo, Decl(anyAssignableToEveryType2.ts, 92, 26)) } class c { baz: string } >c : Symbol(c, Decl(anyAssignableToEveryType2.ts, 94, 1), Decl(anyAssignableToEveryType2.ts, 97, 23)) ->baz : Symbol(baz, Decl(anyAssignableToEveryType2.ts, 97, 9)) +>baz : Symbol(c.baz, Decl(anyAssignableToEveryType2.ts, 97, 9)) module c { >c : Symbol(c, Decl(anyAssignableToEveryType2.ts, 94, 1), Decl(anyAssignableToEveryType2.ts, 97, 23)) @@ -218,7 +218,7 @@ interface I16 { >c : Symbol(c, Decl(anyAssignableToEveryType2.ts, 94, 1), Decl(anyAssignableToEveryType2.ts, 97, 23)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 102, 26)) +>foo : Symbol(I16.foo, Decl(anyAssignableToEveryType2.ts, 102, 26)) } @@ -231,7 +231,7 @@ interface I17 { >T : Symbol(T, Decl(anyAssignableToEveryType2.ts, 107, 14)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 108, 19)) +>foo : Symbol(I17.foo, Decl(anyAssignableToEveryType2.ts, 108, 19)) } @@ -246,7 +246,7 @@ interface I18 { >U : Symbol(U, Decl(anyAssignableToEveryType2.ts, 113, 16)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 114, 19)) +>foo : Symbol(I18.foo, Decl(anyAssignableToEveryType2.ts, 114, 19)) } @@ -258,7 +258,7 @@ interface I19 { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 120, 24)) +>foo : Symbol(I19.foo, Decl(anyAssignableToEveryType2.ts, 120, 24)) } @@ -269,6 +269,6 @@ interface I20 { >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 126, 5)) foo: any; ->foo : Symbol(foo, Decl(anyAssignableToEveryType2.ts, 126, 20)) +>foo : Symbol(I20.foo, Decl(anyAssignableToEveryType2.ts, 126, 20)) } diff --git a/tests/baselines/reference/anyIsAssignableToObject.symbols b/tests/baselines/reference/anyIsAssignableToObject.symbols index a9650fa58b8..15478466d5b 100644 --- a/tests/baselines/reference/anyIsAssignableToObject.symbols +++ b/tests/baselines/reference/anyIsAssignableToObject.symbols @@ -3,7 +3,7 @@ interface P { >P : Symbol(P, Decl(anyIsAssignableToObject.ts, 0, 0)) p: {}; ->p : Symbol(p, Decl(anyIsAssignableToObject.ts, 0, 13)) +>p : Symbol(P.p, Decl(anyIsAssignableToObject.ts, 0, 13)) } interface Q extends P { // Check assignability here. Any is assignable to {} @@ -11,5 +11,5 @@ interface Q extends P { // Check assignability here. Any is assignable to {} >P : Symbol(P, Decl(anyIsAssignableToObject.ts, 0, 0)) p: any; ->p : Symbol(p, Decl(anyIsAssignableToObject.ts, 4, 23)) +>p : Symbol(Q.p, Decl(anyIsAssignableToObject.ts, 4, 23)) } diff --git a/tests/baselines/reference/anyIsAssignableToVoid.symbols b/tests/baselines/reference/anyIsAssignableToVoid.symbols index f5ee5ce7b23..50545c05d56 100644 --- a/tests/baselines/reference/anyIsAssignableToVoid.symbols +++ b/tests/baselines/reference/anyIsAssignableToVoid.symbols @@ -3,7 +3,7 @@ interface P { >P : Symbol(P, Decl(anyIsAssignableToVoid.ts, 0, 0)) p: void; ->p : Symbol(p, Decl(anyIsAssignableToVoid.ts, 0, 13)) +>p : Symbol(P.p, Decl(anyIsAssignableToVoid.ts, 0, 13)) } interface Q extends P { // check assignability here. any is assignable to void. @@ -11,5 +11,5 @@ interface Q extends P { // check assignability here. any is assignable to void. >P : Symbol(P, Decl(anyIsAssignableToVoid.ts, 0, 0)) p: any; ->p : Symbol(p, Decl(anyIsAssignableToVoid.ts, 4, 23)) +>p : Symbol(Q.p, Decl(anyIsAssignableToVoid.ts, 4, 23)) } diff --git a/tests/baselines/reference/argsInScope.symbols b/tests/baselines/reference/argsInScope.symbols index 6faf88facd9..1c91e2bdd73 100644 --- a/tests/baselines/reference/argsInScope.symbols +++ b/tests/baselines/reference/argsInScope.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(argsInScope.ts, 0, 0)) P(ii:number, j:number, k:number) { ->P : Symbol(P, Decl(argsInScope.ts, 0, 9)) +>P : Symbol(C.P, Decl(argsInScope.ts, 0, 9)) >ii : Symbol(ii, Decl(argsInScope.ts, 1, 6)) >j : Symbol(j, Decl(argsInScope.ts, 1, 16)) >k : Symbol(k, Decl(argsInScope.ts, 1, 26)) diff --git a/tests/baselines/reference/arrayAssignmentTest6.symbols b/tests/baselines/reference/arrayAssignmentTest6.symbols index c4d4ba76a5f..a224f260625 100644 --- a/tests/baselines/reference/arrayAssignmentTest6.symbols +++ b/tests/baselines/reference/arrayAssignmentTest6.symbols @@ -9,24 +9,24 @@ module Test { >IToken : Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5)) startIndex: number; ->startIndex : Symbol(startIndex, Decl(arrayAssignmentTest6.ts, 3, 22)) +>startIndex : Symbol(IToken.startIndex, Decl(arrayAssignmentTest6.ts, 3, 22)) } interface ILineTokens { >ILineTokens : Symbol(ILineTokens, Decl(arrayAssignmentTest6.ts, 5, 5)) tokens: IToken[]; ->tokens : Symbol(tokens, Decl(arrayAssignmentTest6.ts, 6, 27)) +>tokens : Symbol(ILineTokens.tokens, Decl(arrayAssignmentTest6.ts, 6, 27)) >IToken : Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5)) endState: IState; ->endState : Symbol(endState, Decl(arrayAssignmentTest6.ts, 7, 25)) +>endState : Symbol(ILineTokens.endState, Decl(arrayAssignmentTest6.ts, 7, 25)) >IState : Symbol(IState, Decl(arrayAssignmentTest6.ts, 0, 13)) } interface IMode { >IMode : Symbol(IMode, Decl(arrayAssignmentTest6.ts, 9, 5)) tokenize(line:string, state:IState, includeStates:boolean):ILineTokens; ->tokenize : Symbol(tokenize, Decl(arrayAssignmentTest6.ts, 10, 21)) +>tokenize : Symbol(IMode.tokenize, Decl(arrayAssignmentTest6.ts, 10, 21)) >line : Symbol(line, Decl(arrayAssignmentTest6.ts, 11, 17)) >state : Symbol(state, Decl(arrayAssignmentTest6.ts, 11, 29)) >IState : Symbol(IState, Decl(arrayAssignmentTest6.ts, 0, 13)) @@ -38,7 +38,7 @@ module Test { >IMode : Symbol(IMode, Decl(arrayAssignmentTest6.ts, 9, 5)) public tokenize(line:string, tokens:IToken[], includeStates:boolean):ILineTokens { ->tokenize : Symbol(tokenize, Decl(arrayAssignmentTest6.ts, 13, 39)) +>tokenize : Symbol(Bug.tokenize, Decl(arrayAssignmentTest6.ts, 13, 39)) >line : Symbol(line, Decl(arrayAssignmentTest6.ts, 14, 24)) >tokens : Symbol(tokens, Decl(arrayAssignmentTest6.ts, 14, 36)) >IToken : Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5)) diff --git a/tests/baselines/reference/arrayAugment.symbols b/tests/baselines/reference/arrayAugment.symbols index 90a506077ad..5ba92ca07e1 100644 --- a/tests/baselines/reference/arrayAugment.symbols +++ b/tests/baselines/reference/arrayAugment.symbols @@ -4,7 +4,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) split: (parts: number) => T[][]; ->split : Symbol(split, Decl(arrayAugment.ts, 0, 20)) +>split : Symbol(Array.split, Decl(arrayAugment.ts, 0, 20)) >parts : Symbol(parts, Decl(arrayAugment.ts, 1, 12)) >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) } diff --git a/tests/baselines/reference/arrayBestCommonTypes.symbols b/tests/baselines/reference/arrayBestCommonTypes.symbols index c4b42f66991..fc7d10261e8 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.symbols +++ b/tests/baselines/reference/arrayBestCommonTypes.symbols @@ -22,98 +22,98 @@ module EmptyTypes { >f : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) public voidIfAny(x: boolean, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 8, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 8, 36)) public voidIfAny(x: string, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 9, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 9, 35)) public voidIfAny(x: number, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 10, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 10, 35)) public voidIfAny(x: any, y = false): any { return null; } ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 11, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 11, 32)) public x() { ->x : Symbol(x, Decl(arrayBestCommonTypes.ts, 11, 65)) +>x : Symbol(f.x, Decl(arrayBestCommonTypes.ts, 11, 65)) (this.voidIfAny([4, 2][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny([4, 2, undefined][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny([undefined, 2, 4][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny([null, 2, 4][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny([2, 4, null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny([undefined, 4, null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny(['', "q"][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny(['', "q", undefined][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny([undefined, "q", ''][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny([null, "q", ''][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny(["q", '', null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) (this.voidIfAny([undefined, '', null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >undefined : Symbol(undefined) (this.voidIfAny([[3, 4], [null]][0][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57)) var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }]; @@ -231,122 +231,122 @@ module NonEmptyTypes { interface iface { x: string; } >iface : Symbol(iface, Decl(arrayBestCommonTypes.ts, 53, 22)) ->x : Symbol(x, Decl(arrayBestCommonTypes.ts, 54, 21)) +>x : Symbol(iface.x, Decl(arrayBestCommonTypes.ts, 54, 21)) class base implements iface { x: string; y: string; } >base : Symbol(base, Decl(arrayBestCommonTypes.ts, 54, 34)) >iface : Symbol(iface, Decl(arrayBestCommonTypes.ts, 53, 22)) ->x : Symbol(x, Decl(arrayBestCommonTypes.ts, 55, 33)) ->y : Symbol(y, Decl(arrayBestCommonTypes.ts, 55, 44)) +>x : Symbol(base.x, Decl(arrayBestCommonTypes.ts, 55, 33)) +>y : Symbol(base.y, Decl(arrayBestCommonTypes.ts, 55, 44)) class base2 implements iface { x: string; z: string; } >base2 : Symbol(base2, Decl(arrayBestCommonTypes.ts, 55, 57)) >iface : Symbol(iface, Decl(arrayBestCommonTypes.ts, 53, 22)) ->x : Symbol(x, Decl(arrayBestCommonTypes.ts, 56, 34)) ->z : Symbol(z, Decl(arrayBestCommonTypes.ts, 56, 45)) +>x : Symbol(base2.x, Decl(arrayBestCommonTypes.ts, 56, 34)) +>z : Symbol(base2.z, Decl(arrayBestCommonTypes.ts, 56, 45)) class derived extends base { a: string; } >derived : Symbol(derived, Decl(arrayBestCommonTypes.ts, 56, 58)) >base : Symbol(base, Decl(arrayBestCommonTypes.ts, 54, 34)) ->a : Symbol(a, Decl(arrayBestCommonTypes.ts, 57, 32)) +>a : Symbol(derived.a, Decl(arrayBestCommonTypes.ts, 57, 32)) class f { >f : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) public voidIfAny(x: boolean, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 61, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 61, 36)) public voidIfAny(x: string, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 62, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 62, 35)) public voidIfAny(x: number, y?: boolean): number; ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 63, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 63, 35)) public voidIfAny(x: any, y = false): any { return null; } ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >x : Symbol(x, Decl(arrayBestCommonTypes.ts, 64, 25)) >y : Symbol(y, Decl(arrayBestCommonTypes.ts, 64, 32)) public x() { ->x : Symbol(x, Decl(arrayBestCommonTypes.ts, 64, 65)) +>x : Symbol(f.x, Decl(arrayBestCommonTypes.ts, 64, 65)) (this.voidIfAny([4, 2][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny([4, 2, undefined][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny([undefined, 2, 4][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny([null, 2, 4][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny([2, 4, null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny([undefined, 4, null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny(['', "q"][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny(['', "q", undefined][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny([undefined, "q", ''][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny([null, "q", ''][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny(["q", '', null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) (this.voidIfAny([undefined, '', null][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >undefined : Symbol(undefined) (this.voidIfAny([[3, 4], [null]][0][0])); ->this.voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>this.voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) >this : Symbol(f, Decl(arrayBestCommonTypes.ts, 57, 45)) ->voidIfAny : Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) +>voidIfAny : Symbol(f.voidIfAny, Decl(arrayBestCommonTypes.ts, 60, 13), Decl(arrayBestCommonTypes.ts, 61, 58), Decl(arrayBestCommonTypes.ts, 62, 57), Decl(arrayBestCommonTypes.ts, 63, 57)) var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }]; diff --git a/tests/baselines/reference/arrayLiteralContextualType.symbols b/tests/baselines/reference/arrayLiteralContextualType.symbols index 500c1d522f6..2049ec342ec 100644 --- a/tests/baselines/reference/arrayLiteralContextualType.symbols +++ b/tests/baselines/reference/arrayLiteralContextualType.symbols @@ -3,27 +3,27 @@ interface IAnimal { >IAnimal : Symbol(IAnimal, Decl(arrayLiteralContextualType.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(arrayLiteralContextualType.ts, 0, 19)) +>name : Symbol(IAnimal.name, Decl(arrayLiteralContextualType.ts, 0, 19)) } class Giraffe { >Giraffe : Symbol(Giraffe, Decl(arrayLiteralContextualType.ts, 2, 1)) name = "Giraffe"; ->name : Symbol(name, Decl(arrayLiteralContextualType.ts, 4, 15)) +>name : Symbol(Giraffe.name, Decl(arrayLiteralContextualType.ts, 4, 15)) neckLength = "3m"; ->neckLength : Symbol(neckLength, Decl(arrayLiteralContextualType.ts, 5, 21)) +>neckLength : Symbol(Giraffe.neckLength, Decl(arrayLiteralContextualType.ts, 5, 21)) } class Elephant { >Elephant : Symbol(Elephant, Decl(arrayLiteralContextualType.ts, 7, 1)) name = "Elephant"; ->name : Symbol(name, Decl(arrayLiteralContextualType.ts, 9, 16)) +>name : Symbol(Elephant.name, Decl(arrayLiteralContextualType.ts, 9, 16)) trunkDiameter = "20cm"; ->trunkDiameter : Symbol(trunkDiameter, Decl(arrayLiteralContextualType.ts, 10, 22)) +>trunkDiameter : Symbol(Elephant.trunkDiameter, Decl(arrayLiteralContextualType.ts, 10, 22)) } function foo(animals: IAnimal[]) { } diff --git a/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.symbols b/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.symbols index cd597dc2b4e..0b3630cac28 100644 --- a/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.symbols +++ b/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.symbols @@ -4,11 +4,11 @@ class List { >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) data: T; ->data : Symbol(data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 15)) +>data : Symbol(List.data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 15)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) next: List>; ->next : Symbol(next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 1, 12)) +>next : Symbol(List.next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 1, 12)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) @@ -21,7 +21,7 @@ class DerivedList extends List { >U : Symbol(U, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 18)) foo: U; ->foo : Symbol(foo, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 38)) +>foo : Symbol(DerivedList.foo, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 38)) >U : Symbol(U, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 18)) // next: List> @@ -32,11 +32,11 @@ class MyList { >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) data: T; ->data : Symbol(data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 17)) +>data : Symbol(MyList.data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 17)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) next: MyList>; ->next : Symbol(next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 11, 12)) +>next : Symbol(MyList.next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 11, 12)) >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) diff --git a/tests/baselines/reference/arrayOfExportedClass.symbols b/tests/baselines/reference/arrayOfExportedClass.symbols index bdcaf98eb0d..acdcbfa398b 100644 --- a/tests/baselines/reference/arrayOfExportedClass.symbols +++ b/tests/baselines/reference/arrayOfExportedClass.symbols @@ -7,18 +7,18 @@ class Road { >Road : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 49)) public cars: Car[]; ->cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) +>cars : Symbol(Road.cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) >Car : Symbol(Car, Decl(arrayOfExportedClass_1.ts, 0, 0)) public AddCars(cars: Car[]) { ->AddCars : Symbol(AddCars, Decl(arrayOfExportedClass_1.ts, 5, 23)) +>AddCars : Symbol(Road.AddCars, Decl(arrayOfExportedClass_1.ts, 5, 23)) >cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 7, 19)) >Car : Symbol(Car, Decl(arrayOfExportedClass_1.ts, 0, 0)) this.cars = cars; ->this.cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) +>this.cars : Symbol(Road.cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) >this : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 49)) ->cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) +>cars : Symbol(Road.cars, Decl(arrayOfExportedClass_1.ts, 3, 12)) >cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 7, 19)) } } @@ -31,7 +31,7 @@ class Car { >Car : Symbol(Car, Decl(arrayOfExportedClass_0.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(arrayOfExportedClass_0.ts, 0, 11)) +>foo : Symbol(Car.foo, Decl(arrayOfExportedClass_0.ts, 0, 11)) } export = Car; diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.symbols b/tests/baselines/reference/arrayOfFunctionTypes3.symbols index d26effeb5b7..9ff5a252d34 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.symbols +++ b/tests/baselines/reference/arrayOfFunctionTypes3.symbols @@ -12,7 +12,7 @@ class C { >C : Symbol(C, Decl(arrayOfFunctionTypes3.ts, 3, 16)) foo: string; ->foo : Symbol(foo, Decl(arrayOfFunctionTypes3.ts, 5, 9)) +>foo : Symbol(C.foo, Decl(arrayOfFunctionTypes3.ts, 5, 9)) } var y = [C, C]; >y : Symbol(y, Decl(arrayOfFunctionTypes3.ts, 8, 3)) diff --git a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.symbols b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.symbols index d9665e98eb5..018f9ce35c9 100644 --- a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.symbols +++ b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.symbols @@ -7,7 +7,7 @@ declare module WinJS { >T : Symbol(T, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 1, 18)) then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : Symbol(then, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 1, 22)) +>then : Symbol(Promise.then, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 1, 22)) >U : Symbol(U, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 2, 13)) >success : Symbol(success, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 2, 16)) >value : Symbol(value, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 2, 27)) @@ -32,29 +32,29 @@ declare module Data { >T : Symbol(T, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 6, 31)) itemIndex: number; ->itemIndex : Symbol(itemIndex, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 6, 35)) +>itemIndex : Symbol(IListItem.itemIndex, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 6, 35)) key: any; ->key : Symbol(key, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 7, 26)) +>key : Symbol(IListItem.key, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 7, 26)) data: T; ->data : Symbol(data, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 8, 17)) +>data : Symbol(IListItem.data, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 8, 17)) >T : Symbol(T, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 6, 31)) group: any; ->group : Symbol(group, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 9, 16)) +>group : Symbol(IListItem.group, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 9, 16)) isHeader: boolean; ->isHeader : Symbol(isHeader, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 10, 19)) +>isHeader : Symbol(IListItem.isHeader, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 10, 19)) cached: boolean; ->cached : Symbol(cached, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 11, 26)) +>cached : Symbol(IListItem.cached, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 11, 26)) isNonSourceData: boolean; ->isNonSourceData : Symbol(isNonSourceData, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 12, 24)) +>isNonSourceData : Symbol(IListItem.isNonSourceData, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 12, 24)) preventAugmentation: boolean; ->preventAugmentation : Symbol(preventAugmentation, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 13, 33)) +>preventAugmentation : Symbol(IListItem.preventAugmentation, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 13, 33)) } export interface IVirtualList { >IVirtualList : Symbol(IVirtualList, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 15, 5)) @@ -62,7 +62,7 @@ declare module Data { //removeIndices: WinJS.Promise[]>; removeIndices(indices: number[], options?: any): WinJS.Promise[]>; ->removeIndices : Symbol(removeIndices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 16, 38)) +>removeIndices : Symbol(IVirtualList.removeIndices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 16, 38)) >indices : Symbol(indices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 18, 22)) >options : Symbol(options, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 18, 40)) >WinJS : Symbol(WinJS, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 0, 0)) @@ -78,7 +78,7 @@ declare module Data { //removeIndices: WinJS.Promise[]>; public removeIndices(indices: number[], options?: any): WinJS.Promise[]>; ->removeIndices : Symbol(removeIndices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 20, 60)) +>removeIndices : Symbol(VirtualList.removeIndices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 20, 60)) >indices : Symbol(indices, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 22, 29)) >options : Symbol(options, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 22, 47)) >WinJS : Symbol(WinJS, Decl(arrayTypeInSignatureOfInterfaceAndClass.ts, 0, 0)) diff --git a/tests/baselines/reference/arrayconcat.symbols b/tests/baselines/reference/arrayconcat.symbols index 4fee1860be6..74cc7ef06c1 100644 --- a/tests/baselines/reference/arrayconcat.symbols +++ b/tests/baselines/reference/arrayconcat.symbols @@ -3,46 +3,46 @@ interface IOptions { >IOptions : Symbol(IOptions, Decl(arrayconcat.ts, 0, 0)) name?: string; ->name : Symbol(name, Decl(arrayconcat.ts, 0, 20)) +>name : Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) flag?: boolean; ->flag : Symbol(flag, Decl(arrayconcat.ts, 1, 18)) +>flag : Symbol(IOptions.flag, Decl(arrayconcat.ts, 1, 18)) short?: string; ->short : Symbol(short, Decl(arrayconcat.ts, 2, 19)) +>short : Symbol(IOptions.short, Decl(arrayconcat.ts, 2, 19)) usage?: string; ->usage : Symbol(usage, Decl(arrayconcat.ts, 3, 19)) +>usage : Symbol(IOptions.usage, Decl(arrayconcat.ts, 3, 19)) set?: (s: string) => void; ->set : Symbol(set, Decl(arrayconcat.ts, 4, 19)) +>set : Symbol(IOptions.set, Decl(arrayconcat.ts, 4, 19)) >s : Symbol(s, Decl(arrayconcat.ts, 5, 11)) type?: string; ->type : Symbol(type, Decl(arrayconcat.ts, 5, 30)) +>type : Symbol(IOptions.type, Decl(arrayconcat.ts, 5, 30)) experimental?: boolean; ->experimental : Symbol(experimental, Decl(arrayconcat.ts, 6, 18)) +>experimental : Symbol(IOptions.experimental, Decl(arrayconcat.ts, 6, 18)) } class parser { >parser : Symbol(parser, Decl(arrayconcat.ts, 8, 1)) public options: IOptions[]; ->options : Symbol(options, Decl(arrayconcat.ts, 10, 14)) +>options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >IOptions : Symbol(IOptions, Decl(arrayconcat.ts, 0, 0)) public m() { ->m : Symbol(m, Decl(arrayconcat.ts, 11, 28)) +>m : Symbol(parser.m, Decl(arrayconcat.ts, 11, 28)) this.options = this.options.sort(function(a, b) { ->this.options : Symbol(options, Decl(arrayconcat.ts, 10, 14)) +>this.options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >this : Symbol(parser, Decl(arrayconcat.ts, 8, 1)) ->options : Symbol(options, Decl(arrayconcat.ts, 10, 14)) +>options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >this.options.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) ->this.options : Symbol(options, Decl(arrayconcat.ts, 10, 14)) +>this.options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >this : Symbol(parser, Decl(arrayconcat.ts, 8, 1)) ->options : Symbol(options, Decl(arrayconcat.ts, 10, 14)) +>options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(arrayconcat.ts, 14, 44)) >b : Symbol(b, Decl(arrayconcat.ts, 14, 46)) diff --git a/tests/baselines/reference/arrowFunctionExpressions.symbols b/tests/baselines/reference/arrowFunctionExpressions.symbols index 853c5074580..028d57084a2 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.symbols +++ b/tests/baselines/reference/arrowFunctionExpressions.symbols @@ -94,18 +94,18 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(arrowFunctionExpressions.ts, 24, 37)) m = (n) => n + 1; ->m : Symbol(m, Decl(arrowFunctionExpressions.ts, 28, 15)) +>m : Symbol(MyClass.m, Decl(arrowFunctionExpressions.ts, 28, 15)) >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 29, 9)) >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 29, 9)) p = (n) => n && this; ->p : Symbol(p, Decl(arrowFunctionExpressions.ts, 29, 21)) +>p : Symbol(MyClass.p, Decl(arrowFunctionExpressions.ts, 29, 21)) >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 30, 9)) >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 30, 9)) >this : Symbol(MyClass, Decl(arrowFunctionExpressions.ts, 24, 37)) fn() { ->fn : Symbol(fn, Decl(arrowFunctionExpressions.ts, 30, 25)) +>fn : Symbol(MyClass.fn, Decl(arrowFunctionExpressions.ts, 30, 25)) var m = (n) => n + 1; >m : Symbol(m, Decl(arrowFunctionExpressions.ts, 33, 11)) diff --git a/tests/baselines/reference/asiInES6Classes.symbols b/tests/baselines/reference/asiInES6Classes.symbols index e6af356008d..e4b89c19bf0 100644 --- a/tests/baselines/reference/asiInES6Classes.symbols +++ b/tests/baselines/reference/asiInES6Classes.symbols @@ -5,7 +5,7 @@ class Foo { defaults = { ->defaults : Symbol(defaults, Decl(asiInES6Classes.ts, 0, 11)) +>defaults : Symbol(Foo.defaults, Decl(asiInES6Classes.ts, 0, 11)) done: false >done : Symbol(done, Decl(asiInES6Classes.ts, 4, 16)) @@ -15,7 +15,7 @@ class Foo { bar() { ->bar : Symbol(bar, Decl(asiInES6Classes.ts, 8, 5)) +>bar : Symbol(Foo.bar, Decl(asiInES6Classes.ts, 8, 5)) return 3; diff --git a/tests/baselines/reference/assign1.symbols b/tests/baselines/reference/assign1.symbols index f434da72670..a8ab57146af 100644 --- a/tests/baselines/reference/assign1.symbols +++ b/tests/baselines/reference/assign1.symbols @@ -6,10 +6,10 @@ module M { >I : Symbol(I, Decl(assign1.ts, 0, 10)) salt:number; ->salt : Symbol(salt, Decl(assign1.ts, 1, 17)) +>salt : Symbol(I.salt, Decl(assign1.ts, 1, 17)) pepper:number; ->pepper : Symbol(pepper, Decl(assign1.ts, 2, 20)) +>pepper : Symbol(I.pepper, Decl(assign1.ts, 2, 20)) } var x:I={salt:2,pepper:0}; diff --git a/tests/baselines/reference/assignEveryTypeToAny.symbols b/tests/baselines/reference/assignEveryTypeToAny.symbols index 145e19664fd..e94413d4a3b 100644 --- a/tests/baselines/reference/assignEveryTypeToAny.symbols +++ b/tests/baselines/reference/assignEveryTypeToAny.symbols @@ -84,7 +84,7 @@ interface I { >I : Symbol(I, Decl(assignEveryTypeToAny.ts, 31, 6)) foo: string; ->foo : Symbol(foo, Decl(assignEveryTypeToAny.ts, 33, 13)) +>foo : Symbol(I.foo, Decl(assignEveryTypeToAny.ts, 33, 13)) } var g: I; @@ -99,7 +99,7 @@ class C { >C : Symbol(C, Decl(assignEveryTypeToAny.ts, 38, 6)) bar: string; ->bar : Symbol(bar, Decl(assignEveryTypeToAny.ts, 40, 9)) +>bar : Symbol(C.bar, Decl(assignEveryTypeToAny.ts, 40, 9)) } var h: C; diff --git a/tests/baselines/reference/assignToPrototype1.symbols b/tests/baselines/reference/assignToPrototype1.symbols index ddb8e915043..7e58c92fdcb 100644 --- a/tests/baselines/reference/assignToPrototype1.symbols +++ b/tests/baselines/reference/assignToPrototype1.symbols @@ -3,7 +3,7 @@ declare class Point { >Point : Symbol(Point, Decl(assignToPrototype1.ts, 0, 0)) add(dx: number, dy: number): void; ->add : Symbol(add, Decl(assignToPrototype1.ts, 0, 21)) +>add : Symbol(Point.add, Decl(assignToPrototype1.ts, 0, 21)) >dx : Symbol(dx, Decl(assignToPrototype1.ts, 1, 6)) >dy : Symbol(dy, Decl(assignToPrototype1.ts, 1, 17)) } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols index ea9440cf1a9..288444a5a10 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithCallSignatures3.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures3.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithCallSignatures3.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures3.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithCallSignatures3.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithCallSignatures3.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithCallSignatures3.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithCallSignatures3.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithCallSignatures3.ts, 5, 33)) var a: (x: number) => number[]; >a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols index e26e95b0c0c..e958922c1de 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithCallSignatures5.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures5.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures5.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithCallSignatures5.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures5.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures5.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithCallSignatures5.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithCallSignatures5.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithCallSignatures5.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithCallSignatures5.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithCallSignatures5.ts, 5, 33)) var a: (x: T) => T[]; >a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols index b7e6956ef65..008ea5481a9 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols @@ -3,47 +3,47 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithCallSignatures6.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures6.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures6.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithCallSignatures6.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures6.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures6.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithCallSignatures6.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithCallSignatures6.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithCallSignatures6.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithCallSignatures6.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithCallSignatures6.ts, 5, 33)) interface A { >A : Symbol(A, Decl(assignmentCompatWithCallSignatures6.ts, 5, 49)) a: (x: T) => T[]; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) +>a : Symbol(A.a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 8, 8)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 8, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 8, 8)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 8, 8)) a2: (x: T) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) +>a2 : Symbol(A.a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 9, 9)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 9, 12)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 9, 9)) a3: (x: T) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) +>a3 : Symbol(A.a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 10, 9)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 10, 12)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 10, 9)) a4: (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) +>a4 : Symbol(A.a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 11, 9)) >U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 11, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 11, 14)) @@ -52,7 +52,7 @@ interface A { >U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 11, 11)) a5: (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) +>a5 : Symbol(A.a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 12, 9)) >U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 12, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 12, 14)) @@ -62,7 +62,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 12, 9)) a6: (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures6.ts, 12, 37)) +>a6 : Symbol(A.a6, Decl(assignmentCompatWithCallSignatures6.ts, 12, 37)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 13, 9)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 13, 25)) @@ -72,7 +72,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 13, 9)) a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) +>a11 : Symbol(A.a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 14, 10)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 14, 13)) >foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 14, 17)) @@ -85,7 +85,7 @@ interface A { >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) a15: (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures6.ts, 14, 59)) +>a15 : Symbol(A.a15, Decl(assignmentCompatWithCallSignatures6.ts, 14, 59)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 15, 10)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 15, 13)) >a : Symbol(a, Decl(assignmentCompatWithCallSignatures6.ts, 15, 17)) @@ -95,7 +95,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 15, 10)) a16: (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) +>a16 : Symbol(A.a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 16, 10)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 16, 26)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols index 4ef01deaea8..d05984ca39f 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures3.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithConstructSignatures3.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures3.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithConstructSignatures3.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithConstructSignatures3.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithConstructSignatures3.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithConstructSignatures3.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithConstructSignatures3.ts, 5, 33)) var a: new (x: number) => number[]; >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols index d2016b247b8..6fa6cc53bcd 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures5.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithConstructSignatures5.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures5.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithConstructSignatures5.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithConstructSignatures5.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithConstructSignatures5.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithConstructSignatures5.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithConstructSignatures5.ts, 5, 33)) var a: new (x: T) => T[]; >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols index 1850406bfa8..8db5ad09d1d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols @@ -3,47 +3,47 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(assignmentCompatWithConstructSignatures6.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures6.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures6.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(assignmentCompatWithConstructSignatures6.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures6.ts, 3, 43)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures6.ts, 2, 27)) ->baz : Symbol(baz, Decl(assignmentCompatWithConstructSignatures6.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(assignmentCompatWithConstructSignatures6.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(assignmentCompatWithConstructSignatures6.ts, 4, 47)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) ->bing : Symbol(bing, Decl(assignmentCompatWithConstructSignatures6.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithConstructSignatures6.ts, 5, 33)) interface A { >A : Symbol(A, Decl(assignmentCompatWithConstructSignatures6.ts, 5, 49)) a: new (x: T) => T[]; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) +>a : Symbol(A.a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 12)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 15)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 12)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 12)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) +>a2 : Symbol(A.a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 13)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 16)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 13)) a3: new (x: T) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) +>a3 : Symbol(A.a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 13)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 16)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 13)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) +>a4 : Symbol(A.a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 13)) >U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 15)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 19)) @@ -52,7 +52,7 @@ interface A { >U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 15)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) +>a5 : Symbol(A.a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 13)) >U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 15)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 19)) @@ -62,7 +62,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 13)) a6: new (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 42)) +>a6 : Symbol(A.a6, Decl(assignmentCompatWithConstructSignatures6.ts, 12, 42)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 13)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 29)) @@ -72,7 +72,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 13)) a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) +>a11 : Symbol(A.a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 14, 14)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 14, 17)) >foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 14, 21)) @@ -85,7 +85,7 @@ interface A { >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) a15: new (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures6.ts, 14, 63)) +>a15 : Symbol(A.a15, Decl(assignmentCompatWithConstructSignatures6.ts, 14, 63)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 14)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 17)) >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 21)) @@ -95,7 +95,7 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 14)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) +>a16 : Symbol(A.a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 16, 14)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 16, 30)) diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols index bcea8fbbb27..86531a95506 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols @@ -6,7 +6,7 @@ interface I2 { >T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 2, 13)) p: T ->p : Symbol(p, Decl(assignmentCompatWithGenericCallSignatures4.ts, 2, 17)) +>p : Symbol(I2.p, Decl(assignmentCompatWithGenericCallSignatures4.ts, 2, 17)) >T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 2, 13)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembers.symbols index 181c4db641a..9b84883324d 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.symbols @@ -7,11 +7,11 @@ module SimpleTypes { class S { foo: string; } >S : Symbol(S, Decl(assignmentCompatWithObjectMembers.ts, 3, 20)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 4, 13)) +>foo : Symbol(S.foo, Decl(assignmentCompatWithObjectMembers.ts, 4, 13)) class T { foo: string; } >T : Symbol(T, Decl(assignmentCompatWithObjectMembers.ts, 4, 28)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 5, 13)) +>foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers.ts, 5, 13)) var s: S; >s : Symbol(s, Decl(assignmentCompatWithObjectMembers.ts, 6, 7)) @@ -23,11 +23,11 @@ module SimpleTypes { interface S2 { foo: string; } >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers.ts, 7, 13)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 9, 18)) +>foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers.ts, 9, 18)) interface T2 { foo: string; } >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers.ts, 9, 33)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 10, 18)) +>foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers.ts, 10, 18)) var s2: S2; >s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers.ts, 11, 7)) @@ -135,12 +135,12 @@ module ObjectTypes { class S { foo: S; } >S : Symbol(S, Decl(assignmentCompatWithObjectMembers.ts, 44, 20)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 45, 13)) +>foo : Symbol(S.foo, Decl(assignmentCompatWithObjectMembers.ts, 45, 13)) >S : Symbol(S, Decl(assignmentCompatWithObjectMembers.ts, 44, 20)) class T { foo: T; } >T : Symbol(T, Decl(assignmentCompatWithObjectMembers.ts, 45, 23)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 46, 13)) +>foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers.ts, 46, 13)) >T : Symbol(T, Decl(assignmentCompatWithObjectMembers.ts, 45, 23)) var s: S; @@ -153,12 +153,12 @@ module ObjectTypes { interface S2 { foo: S2; } >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers.ts, 48, 13)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 50, 18)) +>foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers.ts, 50, 18)) >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers.ts, 48, 13)) interface T2 { foo: T2; } >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers.ts, 50, 29)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers.ts, 51, 18)) +>foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers.ts, 51, 18)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers.ts, 50, 29)) var s2: S2; diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers2.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembers2.symbols index ab3301c5e93..e0ac6899eaf 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers2.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers2.symbols @@ -4,11 +4,11 @@ class S { foo: string; } >S : Symbol(S, Decl(assignmentCompatWithObjectMembers2.ts, 0, 0)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers2.ts, 3, 9)) +>foo : Symbol(S.foo, Decl(assignmentCompatWithObjectMembers2.ts, 3, 9)) class T { foo: string; } >T : Symbol(T, Decl(assignmentCompatWithObjectMembers2.ts, 3, 24)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers2.ts, 4, 9)) +>foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers2.ts, 4, 9)) var s: S; >s : Symbol(s, Decl(assignmentCompatWithObjectMembers2.ts, 5, 3)) @@ -20,13 +20,13 @@ var t: T; interface S2 { foo: string; bar?: string } >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers2.ts, 6, 9)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers2.ts, 8, 14)) ->bar : Symbol(bar, Decl(assignmentCompatWithObjectMembers2.ts, 8, 27)) +>foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers2.ts, 8, 14)) +>bar : Symbol(S2.bar, Decl(assignmentCompatWithObjectMembers2.ts, 8, 27)) interface T2 { foo: string; baz?: string } >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers2.ts, 8, 42)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers2.ts, 9, 14)) ->baz : Symbol(baz, Decl(assignmentCompatWithObjectMembers2.ts, 9, 27)) +>foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers2.ts, 9, 14)) +>baz : Symbol(T2.baz, Decl(assignmentCompatWithObjectMembers2.ts, 9, 27)) var s2: S2; >s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers2.ts, 10, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers3.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembers3.symbols index 861d38530bb..72151ce6048 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers3.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers3.symbols @@ -5,12 +5,12 @@ class S implements S2 { foo: string; } >S : Symbol(S, Decl(assignmentCompatWithObjectMembers3.ts, 0, 0)) >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers3.ts, 6, 9)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers3.ts, 3, 23)) +>foo : Symbol(S.foo, Decl(assignmentCompatWithObjectMembers3.ts, 3, 23)) class T implements T2 { foo: string; } >T : Symbol(T, Decl(assignmentCompatWithObjectMembers3.ts, 3, 38)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers3.ts, 8, 42)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers3.ts, 4, 23)) +>foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers3.ts, 4, 23)) var s: S; >s : Symbol(s, Decl(assignmentCompatWithObjectMembers3.ts, 5, 3)) @@ -22,13 +22,13 @@ var t: T; interface S2 { foo: string; bar?: string } >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers3.ts, 6, 9)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers3.ts, 8, 14)) ->bar : Symbol(bar, Decl(assignmentCompatWithObjectMembers3.ts, 8, 27)) +>foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers3.ts, 8, 14)) +>bar : Symbol(S2.bar, Decl(assignmentCompatWithObjectMembers3.ts, 8, 27)) interface T2 { foo: string; baz?: string } >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers3.ts, 8, 42)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers3.ts, 9, 14)) ->baz : Symbol(baz, Decl(assignmentCompatWithObjectMembers3.ts, 9, 27)) +>foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers3.ts, 9, 14)) +>baz : Symbol(T2.baz, Decl(assignmentCompatWithObjectMembers3.ts, 9, 27)) var s2: S2; >s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers3.ts, 10, 3)) diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.symbols index e01bcee21c0..ce633683339 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.symbols @@ -18,11 +18,11 @@ var t: T; interface S2 { 1: string; bar?: string } >S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 9)) ->bar : Symbol(bar, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 25)) +>bar : Symbol(S2.bar, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 25)) interface T2 { 1.0: string; baz?: string } >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 40)) ->baz : Symbol(baz, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 9, 27)) +>baz : Symbol(T2.baz, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 9, 27)) var s2: S2; >s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) diff --git a/tests/baselines/reference/assignmentCompatability1.symbols b/tests/baselines/reference/assignmentCompatability1.symbols index 07d3cf4c029..15da482c203 100644 --- a/tests/baselines/reference/assignmentCompatability1.symbols +++ b/tests/baselines/reference/assignmentCompatability1.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability1.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability1.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability1.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability1.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability1.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability1.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability1.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability1.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability1.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability1.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability1.ts, 0, 18)) diff --git a/tests/baselines/reference/assignmentCompatability2.symbols b/tests/baselines/reference/assignmentCompatability2.symbols index 1ed6dd3c639..55ed25fb4ad 100644 --- a/tests/baselines/reference/assignmentCompatability2.symbols +++ b/tests/baselines/reference/assignmentCompatability2.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability2.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability2.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability2.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability2.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability2.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability2.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability2.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability2.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability2.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability2.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability2.ts, 0, 18)) diff --git a/tests/baselines/reference/assignmentCompatability3.symbols b/tests/baselines/reference/assignmentCompatability3.symbols index c31d69e2f12..49fccff55f0 100644 --- a/tests/baselines/reference/assignmentCompatability3.symbols +++ b/tests/baselines/reference/assignmentCompatability3.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability3.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability3.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability3.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability3.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability3.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability3.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability3.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability3.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability3.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability3.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability3.ts, 0, 18)) diff --git a/tests/baselines/reference/assignmentCompatability36.symbols b/tests/baselines/reference/assignmentCompatability36.symbols index 4b4b7d75a51..09ebfb67ed8 100644 --- a/tests/baselines/reference/assignmentCompatability36.symbols +++ b/tests/baselines/reference/assignmentCompatability36.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability36.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability36.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability36.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability36.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability36.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability36.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability36.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability36.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability36.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability36.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability36.ts, 0, 18)) diff --git a/tests/baselines/reference/assignmentCompatability4.symbols b/tests/baselines/reference/assignmentCompatability4.symbols index fe5e4a32dee..cac51957fc8 100644 --- a/tests/baselines/reference/assignmentCompatability4.symbols +++ b/tests/baselines/reference/assignmentCompatability4.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability4.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability4.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability4.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability4.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability4.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability4.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability4.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability4.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability4.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability4.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability4.ts, 0, 18)) diff --git a/tests/baselines/reference/assignmentCompatability5.symbols b/tests/baselines/reference/assignmentCompatability5.symbols index 15885d07892..9cbfd0dbd8b 100644 --- a/tests/baselines/reference/assignmentCompatability5.symbols +++ b/tests/baselines/reference/assignmentCompatability5.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability5.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability5.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability5.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability5.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability5.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability5.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability5.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability5.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability5.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability5.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability5.ts, 0, 18)) @@ -24,7 +24,7 @@ module __test2__ { export interface interfaceOne { one: T; }; var obj1: interfaceOne = { one: 1 };; >interfaceOne : Symbol(interfaceOne, Decl(assignmentCompatability5.ts, 4, 18)) >T : Symbol(T, Decl(assignmentCompatability5.ts, 5, 52)) ->one : Symbol(one, Decl(assignmentCompatability5.ts, 5, 56)) +>one : Symbol(interfaceOne.one, Decl(assignmentCompatability5.ts, 5, 56)) >T : Symbol(T, Decl(assignmentCompatability5.ts, 5, 52)) >obj1 : Symbol(obj1, Decl(assignmentCompatability5.ts, 5, 86)) >interfaceOne : Symbol(interfaceOne, Decl(assignmentCompatability5.ts, 4, 18)) diff --git a/tests/baselines/reference/assignmentCompatability6.symbols b/tests/baselines/reference/assignmentCompatability6.symbols index 4ddacd5cd8c..713ca092653 100644 --- a/tests/baselines/reference/assignmentCompatability6.symbols +++ b/tests/baselines/reference/assignmentCompatability6.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability6.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability6.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability6.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability6.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability6.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability6.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability6.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability6.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability6.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability6.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability6.ts, 0, 18)) @@ -24,7 +24,7 @@ module __test2__ { export interface interfaceWithOptional { one?: T; }; var obj3: interfaceWithOptional = { };; >interfaceWithOptional : Symbol(interfaceWithOptional, Decl(assignmentCompatability6.ts, 4, 18)) >T : Symbol(T, Decl(assignmentCompatability6.ts, 5, 52)) ->one : Symbol(one, Decl(assignmentCompatability6.ts, 5, 56)) +>one : Symbol(interfaceWithOptional.one, Decl(assignmentCompatability6.ts, 5, 56)) >T : Symbol(T, Decl(assignmentCompatability6.ts, 5, 52)) >obj3 : Symbol(obj3, Decl(assignmentCompatability6.ts, 5, 86)) >interfaceWithOptional : Symbol(interfaceWithOptional, Decl(assignmentCompatability6.ts, 4, 18)) diff --git a/tests/baselines/reference/assignmentCompatability7.symbols b/tests/baselines/reference/assignmentCompatability7.symbols index 32a5be9f87f..ae66ee04584 100644 --- a/tests/baselines/reference/assignmentCompatability7.symbols +++ b/tests/baselines/reference/assignmentCompatability7.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability7.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability7.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability7.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability7.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability7.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability7.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability7.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability7.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability7.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability7.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability7.ts, 0, 18)) @@ -25,9 +25,9 @@ module __test2__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability7.ts, 4, 18)) >T : Symbol(T, Decl(assignmentCompatability7.ts, 5, 52)) >U : Symbol(U, Decl(assignmentCompatability7.ts, 5, 54)) ->one : Symbol(one, Decl(assignmentCompatability7.ts, 5, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability7.ts, 5, 58)) >T : Symbol(T, Decl(assignmentCompatability7.ts, 5, 52)) ->two : Symbol(two, Decl(assignmentCompatability7.ts, 5, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability7.ts, 5, 66)) >U : Symbol(U, Decl(assignmentCompatability7.ts, 5, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability7.ts, 5, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability7.ts, 4, 18)) diff --git a/tests/baselines/reference/assignmentCompatability8.symbols b/tests/baselines/reference/assignmentCompatability8.symbols index ba30e4fee94..78b74f4ba62 100644 --- a/tests/baselines/reference/assignmentCompatability8.symbols +++ b/tests/baselines/reference/assignmentCompatability8.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability8.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability8.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability8.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability8.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability8.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability8.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability8.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability8.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability8.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability8.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability8.ts, 0, 18)) @@ -24,7 +24,7 @@ module __test2__ { export class classWithPublic { constructor(public one: T) {} } var x1 = new classWithPublic(1);; >classWithPublic : Symbol(classWithPublic, Decl(assignmentCompatability8.ts, 4, 18)) >T : Symbol(T, Decl(assignmentCompatability8.ts, 5, 44)) ->one : Symbol(one, Decl(assignmentCompatability8.ts, 5, 61)) +>one : Symbol(classWithPublic.one, Decl(assignmentCompatability8.ts, 5, 61)) >T : Symbol(T, Decl(assignmentCompatability8.ts, 5, 44)) >x1 : Symbol(x1, Decl(assignmentCompatability8.ts, 5, 107)) >classWithPublic : Symbol(classWithPublic, Decl(assignmentCompatability8.ts, 4, 18)) diff --git a/tests/baselines/reference/assignmentCompatability9.symbols b/tests/baselines/reference/assignmentCompatability9.symbols index 7c49da7fea2..3799e8beed0 100644 --- a/tests/baselines/reference/assignmentCompatability9.symbols +++ b/tests/baselines/reference/assignmentCompatability9.symbols @@ -6,9 +6,9 @@ module __test1__ { >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability9.ts, 0, 18)) >T : Symbol(T, Decl(assignmentCompatability9.ts, 1, 52)) >U : Symbol(U, Decl(assignmentCompatability9.ts, 1, 54)) ->one : Symbol(one, Decl(assignmentCompatability9.ts, 1, 58)) +>one : Symbol(interfaceWithPublicAndOptional.one, Decl(assignmentCompatability9.ts, 1, 58)) >T : Symbol(T, Decl(assignmentCompatability9.ts, 1, 52)) ->two : Symbol(two, Decl(assignmentCompatability9.ts, 1, 66)) +>two : Symbol(interfaceWithPublicAndOptional.two, Decl(assignmentCompatability9.ts, 1, 66)) >U : Symbol(U, Decl(assignmentCompatability9.ts, 1, 54)) >obj4 : Symbol(obj4, Decl(assignmentCompatability9.ts, 1, 83)) >interfaceWithPublicAndOptional : Symbol(interfaceWithPublicAndOptional, Decl(assignmentCompatability9.ts, 0, 18)) @@ -24,7 +24,7 @@ module __test2__ { export class classWithOptional { constructor(public one?: T) {} } var x3 = new classWithOptional();; >classWithOptional : Symbol(classWithOptional, Decl(assignmentCompatability9.ts, 4, 18)) >T : Symbol(T, Decl(assignmentCompatability9.ts, 5, 44)) ->one : Symbol(one, Decl(assignmentCompatability9.ts, 5, 61)) +>one : Symbol(classWithOptional.one, Decl(assignmentCompatability9.ts, 5, 61)) >T : Symbol(T, Decl(assignmentCompatability9.ts, 5, 44)) >x3 : Symbol(x3, Decl(assignmentCompatability9.ts, 5, 107)) >classWithOptional : Symbol(classWithOptional, Decl(assignmentCompatability9.ts, 4, 18)) diff --git a/tests/baselines/reference/assignmentNonObjectTypeConstraints.symbols b/tests/baselines/reference/assignmentNonObjectTypeConstraints.symbols index d8bff5df5f2..52596124e42 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.symbols +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.symbols @@ -27,11 +27,11 @@ foo(E.A); class A { a } >A : Symbol(A, Decl(assignmentNonObjectTypeConstraints.ts, 7, 9)) ->a : Symbol(a, Decl(assignmentNonObjectTypeConstraints.ts, 9, 9)) +>a : Symbol(A.a, Decl(assignmentNonObjectTypeConstraints.ts, 9, 9)) class B { b } >B : Symbol(B, Decl(assignmentNonObjectTypeConstraints.ts, 9, 13)) ->b : Symbol(b, Decl(assignmentNonObjectTypeConstraints.ts, 10, 9)) +>b : Symbol(B.b, Decl(assignmentNonObjectTypeConstraints.ts, 10, 9)) function bar(x: T) { >bar : Symbol(bar, Decl(assignmentNonObjectTypeConstraints.ts, 10, 13)) diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols index 2f516d7d758..f2f71492ccf 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 0, 0)) method() { ->method : Symbol(method, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 0, 9)) +>method : Symbol(C.method, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 0, 9)) function other() {} >other : Symbol(other, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 1, 13)) diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.symbols b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.symbols index ae516bb7fe3..17293752672 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(asyncArrowFunctionCapturesThis_es6.ts, 0, 0)) method() { ->method : Symbol(method, Decl(asyncArrowFunctionCapturesThis_es6.ts, 0, 9)) +>method : Symbol(C.method, Decl(asyncArrowFunctionCapturesThis_es6.ts, 0, 9)) var fn = async () => await this; >fn : Symbol(fn, Decl(asyncArrowFunctionCapturesThis_es6.ts, 2, 9)) diff --git a/tests/baselines/reference/asyncAwait_es6.symbols b/tests/baselines/reference/asyncAwait_es6.symbols index 3c668b15b36..aa70c0a712e 100644 --- a/tests/baselines/reference/asyncAwait_es6.symbols +++ b/tests/baselines/reference/asyncAwait_es6.symbols @@ -88,14 +88,14 @@ class C { >C : Symbol(C, Decl(asyncAwait_es6.ts, 25, 2)) async m1() { } ->m1 : Symbol(m1, Decl(asyncAwait_es6.ts, 27, 9)) +>m1 : Symbol(C.m1, Decl(asyncAwait_es6.ts, 27, 9)) async m2(): Promise { } ->m2 : Symbol(m2, Decl(asyncAwait_es6.ts, 28, 15)) +>m2 : Symbol(C.m2, Decl(asyncAwait_es6.ts, 28, 15)) >Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) async m3(): MyPromise { } ->m3 : Symbol(m3, Decl(asyncAwait_es6.ts, 29, 30)) +>m3 : Symbol(C.m3, Decl(asyncAwait_es6.ts, 29, 30)) >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es6.ts, 0, 0), Decl(asyncAwait_es6.ts, 1, 11)) static async m4() { } diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.symbols b/tests/baselines/reference/asyncMethodWithSuper_es6.symbols index 37937a061a8..268ad90f203 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.symbols +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0)) x() { ->x : Symbol(x, Decl(asyncMethodWithSuper_es6.ts, 0, 9)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9)) } } @@ -13,7 +13,7 @@ class B extends A { // async method with only call/get on 'super' does not require a binding async simple() { ->simple : Symbol(simple, Decl(asyncMethodWithSuper_es6.ts, 5, 19)) +>simple : Symbol(B.simple, Decl(asyncMethodWithSuper_es6.ts, 5, 19)) // call with property access super.x(); @@ -42,7 +42,7 @@ class B extends A { // async method with assignment/destructuring on 'super' requires a binding async advanced() { ->advanced : Symbol(advanced, Decl(asyncMethodWithSuper_es6.ts, 19, 5)) +>advanced : Symbol(B.advanced, Decl(asyncMethodWithSuper_es6.ts, 19, 5)) const f = () => {}; >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 23, 13)) diff --git a/tests/baselines/reference/augmentExportEquals5.symbols b/tests/baselines/reference/augmentExportEquals5.symbols index f255bf8c065..37fa00bd8cc 100644 --- a/tests/baselines/reference/augmentExportEquals5.symbols +++ b/tests/baselines/reference/augmentExportEquals5.symbols @@ -27,7 +27,7 @@ declare module "express" { >IRoute : Symbol(IRoute, Decl(express.d.ts, 10, 17)) all(...handler: RequestHandler[]): IRoute; ->all : Symbol(all, Decl(express.d.ts, 11, 26)) +>all : Symbol(IRoute.all, Decl(express.d.ts, 11, 26)) >handler : Symbol(handler, Decl(express.d.ts, 12, 16)) >RequestHandler : Symbol(RequestHandler, Decl(express.d.ts, 40, 9)) >IRoute : Symbol(IRoute, Decl(express.d.ts, 10, 17)) @@ -51,7 +51,7 @@ declare module "express" { >RequestHandler : Symbol(RequestHandler, Decl(express.d.ts, 40, 9)) route(path: string): IRoute; ->route : Symbol(route, Decl(express.d.ts, 19, 53)) +>route : Symbol(IRouter.route, Decl(express.d.ts, 19, 53)) >path : Symbol(path, Decl(express.d.ts, 20, 18)) >IRoute : Symbol(IRoute, Decl(express.d.ts, 10, 17)) } @@ -78,7 +78,7 @@ declare module "express" { >Request : Symbol(Express.Request, Decl(express.d.ts, 2, 24)) get (name: string): string; ->get : Symbol(get, Decl(express.d.ts, 29, 51)) +>get : Symbol(Request.get, Decl(express.d.ts, 29, 51)) >name : Symbol(name, Decl(express.d.ts, 31, 17)) } @@ -89,7 +89,7 @@ declare module "express" { >Response : Symbol(Express.Response, Decl(express.d.ts, 3, 32)) charset: string; ->charset : Symbol(charset, Decl(express.d.ts, 34, 53)) +>charset : Symbol(Response.charset, Decl(express.d.ts, 34, 53)) } interface ErrorRequestHandler { @@ -143,7 +143,7 @@ declare module "express" { >Application : Symbol(Express.Application, Decl(express.d.ts, 4, 33)) routes: any; ->routes : Symbol(routes, Decl(express.d.ts, 52, 81)) +>routes : Symbol(Application.routes, Decl(express.d.ts, 52, 81)) } interface Express extends Application { @@ -151,7 +151,7 @@ declare module "express" { >Application : Symbol(Application, Decl(express.d.ts, 50, 9)) createApplication(): Application; ->createApplication : Symbol(createApplication, Decl(express.d.ts, 56, 47)) +>createApplication : Symbol(Express.createApplication, Decl(express.d.ts, 56, 47)) >Application : Symbol(Application, Decl(express.d.ts, 50, 9)) } @@ -173,7 +173,7 @@ declare module "express" { >Request : Symbol(Request, Decl(express.d.ts, 27, 49), Decl(augmentation.ts, 2, 26)) id: number; ->id : Symbol(id, Decl(augmentation.ts, 3, 23)) +>id : Symbol(Request.id, Decl(augmentation.ts, 3, 23)) } } diff --git a/tests/baselines/reference/augmentExportEquals6.symbols b/tests/baselines/reference/augmentExportEquals6.symbols index 24f8ef7c903..4af820f24d7 100644 --- a/tests/baselines/reference/augmentExportEquals6.symbols +++ b/tests/baselines/reference/augmentExportEquals6.symbols @@ -31,7 +31,7 @@ x.B.b = 1; declare module "./file1" { interface A { a: number } >A : Symbol(A, Decl(file1.ts, 2, 15), Decl(file2.ts, 4, 26)) ->a : Symbol(a, Decl(file2.ts, 5, 17)) +>a : Symbol(A.a, Decl(file2.ts, 5, 17)) namespace B { >B : Symbol(B, Decl(file1.ts, 3, 21), Decl(file2.ts, 5, 29)) diff --git a/tests/baselines/reference/augmentExportEquals6_1.symbols b/tests/baselines/reference/augmentExportEquals6_1.symbols index 5c45af00a48..3db6702448e 100644 --- a/tests/baselines/reference/augmentExportEquals6_1.symbols +++ b/tests/baselines/reference/augmentExportEquals6_1.symbols @@ -24,7 +24,7 @@ import x = require("file1"); declare module "file1" { interface A { a: number } >A : Symbol(A, Decl(file1.d.ts, 3, 19), Decl(file2.ts, 4, 24)) ->a : Symbol(a, Decl(file2.ts, 5, 17)) +>a : Symbol(A.a, Decl(file2.ts, 5, 17)) } === tests/cases/compiler/file3.ts === diff --git a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols index c3dfe5996b9..9ab4ceb9068 100644 --- a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols +++ b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/types/members/augmentedTypeBracketAccessIndexSignature.ts === interface Foo { a } >Foo : Symbol(Foo, Decl(augmentedTypeBracketAccessIndexSignature.ts, 0, 0)) ->a : Symbol(a, Decl(augmentedTypeBracketAccessIndexSignature.ts, 0, 15)) +>a : Symbol(Foo.a, Decl(augmentedTypeBracketAccessIndexSignature.ts, 0, 15)) interface Bar { b } >Bar : Symbol(Bar, Decl(augmentedTypeBracketAccessIndexSignature.ts, 0, 19)) ->b : Symbol(b, Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 15)) +>b : Symbol(Bar.b, Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 15)) interface Object { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 19)) diff --git a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols index d12e8e13793..c51c0497ec8 100644 --- a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols +++ b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols @@ -3,13 +3,13 @@ interface Object { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 0)) data: number; ->data : Symbol(data, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 18)) +>data : Symbol(Object.data, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 18)) } interface Function { >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 2, 1)) functionData: string; ->functionData : Symbol(functionData, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 3, 20)) +>functionData : Symbol(Function.functionData, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 3, 20)) } var o = {}; >o : Symbol(o, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 6, 3)) diff --git a/tests/baselines/reference/augmentedTypesClass3.symbols b/tests/baselines/reference/augmentedTypesClass3.symbols index 62504a56f25..e968ecd61ed 100644 --- a/tests/baselines/reference/augmentedTypesClass3.symbols +++ b/tests/baselines/reference/augmentedTypesClass3.symbols @@ -2,14 +2,14 @@ // class then module class c5 { public foo() { } } >c5 : Symbol(c5, Decl(augmentedTypesClass3.ts, 0, 0), Decl(augmentedTypesClass3.ts, 1, 29)) ->foo : Symbol(foo, Decl(augmentedTypesClass3.ts, 1, 10)) +>foo : Symbol(c5.foo, Decl(augmentedTypesClass3.ts, 1, 10)) module c5 { } // should be ok >c5 : Symbol(c5, Decl(augmentedTypesClass3.ts, 0, 0), Decl(augmentedTypesClass3.ts, 1, 29)) class c5a { public foo() { } } >c5a : Symbol(c5a, Decl(augmentedTypesClass3.ts, 2, 13), Decl(augmentedTypesClass3.ts, 4, 30)) ->foo : Symbol(foo, Decl(augmentedTypesClass3.ts, 4, 11)) +>foo : Symbol(c5a.foo, Decl(augmentedTypesClass3.ts, 4, 11)) module c5a { var y = 2; } // should be ok >c5a : Symbol(c5a, Decl(augmentedTypesClass3.ts, 2, 13), Decl(augmentedTypesClass3.ts, 4, 30)) @@ -17,7 +17,7 @@ module c5a { var y = 2; } // should be ok class c5b { public foo() { } } >c5b : Symbol(c5b, Decl(augmentedTypesClass3.ts, 5, 25), Decl(augmentedTypesClass3.ts, 7, 30)) ->foo : Symbol(foo, Decl(augmentedTypesClass3.ts, 7, 11)) +>foo : Symbol(c5b.foo, Decl(augmentedTypesClass3.ts, 7, 11)) module c5b { export var y = 2; } // should be ok >c5b : Symbol(c5b, Decl(augmentedTypesClass3.ts, 5, 25), Decl(augmentedTypesClass3.ts, 7, 30)) @@ -26,6 +26,6 @@ module c5b { export var y = 2; } // should be ok //// class then import class c5c { public foo() { } } >c5c : Symbol(c5c, Decl(augmentedTypesClass3.ts, 8, 32)) ->foo : Symbol(foo, Decl(augmentedTypesClass3.ts, 11, 11)) +>foo : Symbol(c5c.foo, Decl(augmentedTypesClass3.ts, 11, 11)) //import c5c = require(''); diff --git a/tests/baselines/reference/augmentedTypesExternalModule1.symbols b/tests/baselines/reference/augmentedTypesExternalModule1.symbols index 3a909b91df5..d44d1f213a0 100644 --- a/tests/baselines/reference/augmentedTypesExternalModule1.symbols +++ b/tests/baselines/reference/augmentedTypesExternalModule1.symbols @@ -4,7 +4,7 @@ export var a = 1; class c5 { public foo() { } } >c5 : Symbol(c5, Decl(augmentedTypesExternalModule1.ts, 0, 17), Decl(augmentedTypesExternalModule1.ts, 1, 29)) ->foo : Symbol(foo, Decl(augmentedTypesExternalModule1.ts, 1, 10)) +>foo : Symbol(c5.foo, Decl(augmentedTypesExternalModule1.ts, 1, 10)) module c5 { } // should be ok everywhere >c5 : Symbol(c5, Decl(augmentedTypesExternalModule1.ts, 0, 17), Decl(augmentedTypesExternalModule1.ts, 1, 29)) diff --git a/tests/baselines/reference/augmentedTypesModules3b.symbols b/tests/baselines/reference/augmentedTypesModules3b.symbols index dd5456e4cf2..abafc4855ca 100644 --- a/tests/baselines/reference/augmentedTypesModules3b.symbols +++ b/tests/baselines/reference/augmentedTypesModules3b.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/augmentedTypesModules3b.ts === class m3b { foo() { } } >m3b : Symbol(m3b, Decl(augmentedTypesModules3b.ts, 0, 0), Decl(augmentedTypesModules3b.ts, 0, 23)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 0, 11)) +>foo : Symbol(m3b.foo, Decl(augmentedTypesModules3b.ts, 0, 11)) module m3b { var y = 2; } >m3b : Symbol(m3b, Decl(augmentedTypesModules3b.ts, 0, 0), Decl(augmentedTypesModules3b.ts, 0, 23)) @@ -9,7 +9,7 @@ module m3b { var y = 2; } class m3c { foo() { } } >m3c : Symbol(m3c, Decl(augmentedTypesModules3b.ts, 1, 25), Decl(augmentedTypesModules3b.ts, 3, 23)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 3, 11)) +>foo : Symbol(m3c.foo, Decl(augmentedTypesModules3b.ts, 3, 11)) module m3c { export var y = 2; } >m3c : Symbol(m3c, Decl(augmentedTypesModules3b.ts, 1, 25), Decl(augmentedTypesModules3b.ts, 3, 23)) @@ -17,7 +17,7 @@ module m3c { export var y = 2; } declare class m3d { foo(): void } >m3d : Symbol(m3d, Decl(augmentedTypesModules3b.ts, 4, 32), Decl(augmentedTypesModules3b.ts, 6, 33)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 6, 19)) +>foo : Symbol(m3d.foo, Decl(augmentedTypesModules3b.ts, 6, 19)) module m3d { export var y = 2; } >m3d : Symbol(m3d, Decl(augmentedTypesModules3b.ts, 4, 32), Decl(augmentedTypesModules3b.ts, 6, 33)) @@ -29,23 +29,23 @@ module m3e { export var y = 2; } declare class m3e { foo(): void } >m3e : Symbol(m3e, Decl(augmentedTypesModules3b.ts, 7, 32), Decl(augmentedTypesModules3b.ts, 9, 32)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 10, 19)) +>foo : Symbol(m3e.foo, Decl(augmentedTypesModules3b.ts, 10, 19)) declare class m3f { foo(): void } >m3f : Symbol(m3f, Decl(augmentedTypesModules3b.ts, 10, 33), Decl(augmentedTypesModules3b.ts, 12, 33)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 12, 19)) +>foo : Symbol(m3f.foo, Decl(augmentedTypesModules3b.ts, 12, 19)) module m3f { export interface I { foo(): void } } >m3f : Symbol(m3f, Decl(augmentedTypesModules3b.ts, 10, 33), Decl(augmentedTypesModules3b.ts, 12, 33)) >I : Symbol(I, Decl(augmentedTypesModules3b.ts, 13, 12)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 13, 33)) +>foo : Symbol(I.foo, Decl(augmentedTypesModules3b.ts, 13, 33)) declare class m3g { foo(): void } >m3g : Symbol(m3g, Decl(augmentedTypesModules3b.ts, 13, 49), Decl(augmentedTypesModules3b.ts, 15, 33)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 15, 19)) +>foo : Symbol(m3g.foo, Decl(augmentedTypesModules3b.ts, 15, 19)) module m3g { export class C { foo() { } } } >m3g : Symbol(m3g, Decl(augmentedTypesModules3b.ts, 13, 49), Decl(augmentedTypesModules3b.ts, 15, 33)) >C : Symbol(C, Decl(augmentedTypesModules3b.ts, 16, 12)) ->foo : Symbol(foo, Decl(augmentedTypesModules3b.ts, 16, 29)) +>foo : Symbol(C.foo, Decl(augmentedTypesModules3b.ts, 16, 29)) diff --git a/tests/baselines/reference/augmentedTypesModules4.symbols b/tests/baselines/reference/augmentedTypesModules4.symbols index e0cee3e7c3a..8df383141ec 100644 --- a/tests/baselines/reference/augmentedTypesModules4.symbols +++ b/tests/baselines/reference/augmentedTypesModules4.symbols @@ -26,7 +26,7 @@ enum m4b { One } module m4c { interface I { foo(): void } } >m4c : Symbol(m4c, Decl(augmentedTypesModules4.ts, 9, 16), Decl(augmentedTypesModules4.ts, 11, 42)) >I : Symbol(I, Decl(augmentedTypesModules4.ts, 11, 12)) ->foo : Symbol(foo, Decl(augmentedTypesModules4.ts, 11, 26)) +>foo : Symbol(I.foo, Decl(augmentedTypesModules4.ts, 11, 26)) enum m4c { One } >m4c : Symbol(m4c, Decl(augmentedTypesModules4.ts, 9, 16), Decl(augmentedTypesModules4.ts, 11, 42)) @@ -35,7 +35,7 @@ enum m4c { One } module m4d { class C { foo() { } } } >m4d : Symbol(m4d, Decl(augmentedTypesModules4.ts, 12, 16), Decl(augmentedTypesModules4.ts, 14, 36)) >C : Symbol(C, Decl(augmentedTypesModules4.ts, 14, 12)) ->foo : Symbol(foo, Decl(augmentedTypesModules4.ts, 14, 22)) +>foo : Symbol(C.foo, Decl(augmentedTypesModules4.ts, 14, 22)) enum m4d { One } >m4d : Symbol(m4d, Decl(augmentedTypesModules4.ts, 12, 16), Decl(augmentedTypesModules4.ts, 14, 36)) @@ -50,5 +50,5 @@ module m5 { export var y = 2; } module m5 { export interface I { foo(): void } } // should already be reasonably well covered >m5 : Symbol(m5, Decl(augmentedTypesModules4.ts, 15, 16), Decl(augmentedTypesModules4.ts, 19, 31)) >I : Symbol(I, Decl(augmentedTypesModules4.ts, 20, 11)) ->foo : Symbol(foo, Decl(augmentedTypesModules4.ts, 20, 32)) +>foo : Symbol(I.foo, Decl(augmentedTypesModules4.ts, 20, 32)) diff --git a/tests/baselines/reference/avoid.symbols b/tests/baselines/reference/avoid.symbols index 9b9440eea65..e2f9e1c4507 100644 --- a/tests/baselines/reference/avoid.symbols +++ b/tests/baselines/reference/avoid.symbols @@ -25,7 +25,7 @@ class C { >C : Symbol(C, Decl(avoid.ts, 7, 6)) g() { ->g : Symbol(g, Decl(avoid.ts, 9, 9)) +>g : Symbol(C.g, Decl(avoid.ts, 9, 9)) } } diff --git a/tests/baselines/reference/baseIndexSignatureResolution.symbols b/tests/baselines/reference/baseIndexSignatureResolution.symbols index 297f6b092f3..a70ad99fc7b 100644 --- a/tests/baselines/reference/baseIndexSignatureResolution.symbols +++ b/tests/baselines/reference/baseIndexSignatureResolution.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/baseIndexSignatureResolution.ts === class Base { private a: string; } >Base : Symbol(Base, Decl(baseIndexSignatureResolution.ts, 0, 0)) ->a : Symbol(a, Decl(baseIndexSignatureResolution.ts, 0, 12)) +>a : Symbol(Base.a, Decl(baseIndexSignatureResolution.ts, 0, 12)) class Derived extends Base { private b: string; } >Derived : Symbol(Derived, Decl(baseIndexSignatureResolution.ts, 0, 33)) >Base : Symbol(Base, Decl(baseIndexSignatureResolution.ts, 0, 0)) ->b : Symbol(b, Decl(baseIndexSignatureResolution.ts, 1, 28)) +>b : Symbol(Derived.b, Decl(baseIndexSignatureResolution.ts, 1, 28)) // Note - commmenting "extends Foo" prevents the error interface Foo { diff --git a/tests/baselines/reference/baseTypeAfterDerivedType.symbols b/tests/baselines/reference/baseTypeAfterDerivedType.symbols index b085e0a4152..89d35e21635 100644 --- a/tests/baselines/reference/baseTypeAfterDerivedType.symbols +++ b/tests/baselines/reference/baseTypeAfterDerivedType.symbols @@ -4,7 +4,7 @@ interface Derived extends Base { >Base : Symbol(Base, Decl(baseTypeAfterDerivedType.ts, 2, 1)) method(...args: any[]): void; ->method : Symbol(method, Decl(baseTypeAfterDerivedType.ts, 0, 32)) +>method : Symbol(Derived.method, Decl(baseTypeAfterDerivedType.ts, 0, 32)) >args : Symbol(args, Decl(baseTypeAfterDerivedType.ts, 1, 11)) } @@ -12,7 +12,7 @@ interface Base { >Base : Symbol(Base, Decl(baseTypeAfterDerivedType.ts, 2, 1)) method(...args: any[]): void; ->method : Symbol(method, Decl(baseTypeAfterDerivedType.ts, 4, 16)) +>method : Symbol(Base.method, Decl(baseTypeAfterDerivedType.ts, 4, 16)) >args : Symbol(args, Decl(baseTypeAfterDerivedType.ts, 5, 11)) } @@ -21,7 +21,7 @@ class Derived2 implements Base2 { >Base2 : Symbol(Base2, Decl(baseTypeAfterDerivedType.ts, 10, 1)) method(...args: any[]): void { } ->method : Symbol(method, Decl(baseTypeAfterDerivedType.ts, 8, 33)) +>method : Symbol(Derived2.method, Decl(baseTypeAfterDerivedType.ts, 8, 33)) >args : Symbol(args, Decl(baseTypeAfterDerivedType.ts, 9, 11)) } @@ -29,7 +29,7 @@ interface Base2 { >Base2 : Symbol(Base2, Decl(baseTypeAfterDerivedType.ts, 10, 1)) method(...args: any[]): void; ->method : Symbol(method, Decl(baseTypeAfterDerivedType.ts, 12, 17)) +>method : Symbol(Base2.method, Decl(baseTypeAfterDerivedType.ts, 12, 17)) >args : Symbol(args, Decl(baseTypeAfterDerivedType.ts, 13, 11)) } diff --git a/tests/baselines/reference/baseTypeOrderChecking.symbols b/tests/baselines/reference/baseTypeOrderChecking.symbols index 05d913f481e..13a926fe278 100644 --- a/tests/baselines/reference/baseTypeOrderChecking.symbols +++ b/tests/baselines/reference/baseTypeOrderChecking.symbols @@ -32,7 +32,7 @@ class Class3 { public memberVariable: Class2; ->memberVariable : Symbol(memberVariable, Decl(baseTypeOrderChecking.ts, 22, 1)) +>memberVariable : Symbol(Class3.memberVariable, Decl(baseTypeOrderChecking.ts, 22, 1)) >Class2 : Symbol(Class2, Decl(baseTypeOrderChecking.ts, 8, 1)) } diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols b/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols index 1e8ab089b90..936110ea43a 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols @@ -6,7 +6,7 @@ class C extends CBase { >T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) public works() { ->works : Symbol(works, Decl(baseTypeWrappingInstantiationChain.ts, 0, 31)) +>works : Symbol(C.works, Decl(baseTypeWrappingInstantiationChain.ts, 0, 31)) new CBaseBase>(this); >CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1)) @@ -15,7 +15,7 @@ class C extends CBase { >this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) } public alsoWorks() { ->alsoWorks : Symbol(alsoWorks, Decl(baseTypeWrappingInstantiationChain.ts, 3, 5)) +>alsoWorks : Symbol(C.alsoWorks, Decl(baseTypeWrappingInstantiationChain.ts, 3, 5)) new CBase(this); // Should not error, parameter is of type Parameter> >CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1)) @@ -24,7 +24,7 @@ class C extends CBase { } public method(t: Wrapper) { } ->method : Symbol(method, Decl(baseTypeWrappingInstantiationChain.ts, 6, 5)) +>method : Symbol(C.method, Decl(baseTypeWrappingInstantiationChain.ts, 6, 5)) >t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 8, 18)) >Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1)) >T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) @@ -54,7 +54,7 @@ class Parameter { >T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16)) method(t: T4) { } ->method : Symbol(method, Decl(baseTypeWrappingInstantiationChain.ts, 19, 21)) +>method : Symbol(Parameter.method, Decl(baseTypeWrappingInstantiationChain.ts, 19, 21)) >t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 20, 11)) >T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16)) } @@ -64,6 +64,6 @@ class Wrapper { >T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14)) property: T5; ->property : Symbol(property, Decl(baseTypeWrappingInstantiationChain.ts, 23, 19)) +>property : Symbol(Wrapper.property, Decl(baseTypeWrappingInstantiationChain.ts, 23, 19)) >T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14)) } diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols index 626777523ab..1cdb83ea837 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols @@ -14,17 +14,17 @@ var b: { x: number; z?: number }; class Base { foo: string; } >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions.ts, 4, 33)) ->foo : Symbol(foo, Decl(bestCommonTypeOfConditionalExpressions.ts, 6, 12)) +>foo : Symbol(Base.foo, Decl(bestCommonTypeOfConditionalExpressions.ts, 6, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(bestCommonTypeOfConditionalExpressions.ts, 6, 27)) >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions.ts, 4, 33)) ->bar : Symbol(bar, Decl(bestCommonTypeOfConditionalExpressions.ts, 7, 28)) +>bar : Symbol(Derived.bar, Decl(bestCommonTypeOfConditionalExpressions.ts, 7, 28)) class Derived2 extends Base { baz: string; } >Derived2 : Symbol(Derived2, Decl(bestCommonTypeOfConditionalExpressions.ts, 7, 43)) >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions.ts, 4, 33)) ->baz : Symbol(baz, Decl(bestCommonTypeOfConditionalExpressions.ts, 8, 29)) +>baz : Symbol(Derived2.baz, Decl(bestCommonTypeOfConditionalExpressions.ts, 8, 29)) var base: Base; >base : Symbol(base, Decl(bestCommonTypeOfConditionalExpressions.ts, 9, 3)) diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.symbols b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.symbols index 68103761051..11a3430a668 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.symbols +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.symbols @@ -4,17 +4,17 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions2.ts, 0, 0)) ->foo : Symbol(foo, Decl(bestCommonTypeOfConditionalExpressions2.ts, 3, 12)) +>foo : Symbol(Base.foo, Decl(bestCommonTypeOfConditionalExpressions2.ts, 3, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(bestCommonTypeOfConditionalExpressions2.ts, 3, 27)) >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions2.ts, 0, 0)) ->bar : Symbol(bar, Decl(bestCommonTypeOfConditionalExpressions2.ts, 4, 28)) +>bar : Symbol(Derived.bar, Decl(bestCommonTypeOfConditionalExpressions2.ts, 4, 28)) class Derived2 extends Base { baz: string; } >Derived2 : Symbol(Derived2, Decl(bestCommonTypeOfConditionalExpressions2.ts, 4, 43)) >Base : Symbol(Base, Decl(bestCommonTypeOfConditionalExpressions2.ts, 0, 0)) ->baz : Symbol(baz, Decl(bestCommonTypeOfConditionalExpressions2.ts, 5, 29)) +>baz : Symbol(Derived2.baz, Decl(bestCommonTypeOfConditionalExpressions2.ts, 5, 29)) var base: Base; >base : Symbol(base, Decl(bestCommonTypeOfConditionalExpressions2.ts, 6, 3)) diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.symbols b/tests/baselines/reference/bestCommonTypeOfTuple2.symbols index 842d07c417c..1e17f253f8a 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.symbols +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.symbols @@ -4,39 +4,39 @@ interface base { } interface base1 { i } >base1 : Symbol(base1, Decl(bestCommonTypeOfTuple2.ts, 0, 18)) ->i : Symbol(i, Decl(bestCommonTypeOfTuple2.ts, 1, 17)) +>i : Symbol(base1.i, Decl(bestCommonTypeOfTuple2.ts, 1, 17)) class C implements base { c } >C : Symbol(C, Decl(bestCommonTypeOfTuple2.ts, 1, 21)) >base : Symbol(base, Decl(bestCommonTypeOfTuple2.ts, 0, 0)) ->c : Symbol(c, Decl(bestCommonTypeOfTuple2.ts, 2, 25)) +>c : Symbol(C.c, Decl(bestCommonTypeOfTuple2.ts, 2, 25)) class D implements base { d } >D : Symbol(D, Decl(bestCommonTypeOfTuple2.ts, 2, 29)) >base : Symbol(base, Decl(bestCommonTypeOfTuple2.ts, 0, 0)) ->d : Symbol(d, Decl(bestCommonTypeOfTuple2.ts, 3, 25)) +>d : Symbol(D.d, Decl(bestCommonTypeOfTuple2.ts, 3, 25)) class E implements base { e } >E : Symbol(E, Decl(bestCommonTypeOfTuple2.ts, 3, 29)) >base : Symbol(base, Decl(bestCommonTypeOfTuple2.ts, 0, 0)) ->e : Symbol(e, Decl(bestCommonTypeOfTuple2.ts, 4, 25)) +>e : Symbol(E.e, Decl(bestCommonTypeOfTuple2.ts, 4, 25)) class F extends C { f } >F : Symbol(F, Decl(bestCommonTypeOfTuple2.ts, 4, 29)) >C : Symbol(C, Decl(bestCommonTypeOfTuple2.ts, 1, 21)) ->f : Symbol(f, Decl(bestCommonTypeOfTuple2.ts, 5, 19)) +>f : Symbol(F.f, Decl(bestCommonTypeOfTuple2.ts, 5, 19)) class C1 implements base1 { i = "foo"; c } >C1 : Symbol(C1, Decl(bestCommonTypeOfTuple2.ts, 5, 23)) >base1 : Symbol(base1, Decl(bestCommonTypeOfTuple2.ts, 0, 18)) ->i : Symbol(i, Decl(bestCommonTypeOfTuple2.ts, 7, 27)) ->c : Symbol(c, Decl(bestCommonTypeOfTuple2.ts, 7, 38)) +>i : Symbol(C1.i, Decl(bestCommonTypeOfTuple2.ts, 7, 27)) +>c : Symbol(C1.c, Decl(bestCommonTypeOfTuple2.ts, 7, 38)) class D1 extends C1 { i = "bar"; d } >D1 : Symbol(D1, Decl(bestCommonTypeOfTuple2.ts, 7, 42)) >C1 : Symbol(C1, Decl(bestCommonTypeOfTuple2.ts, 5, 23)) ->i : Symbol(i, Decl(bestCommonTypeOfTuple2.ts, 8, 21)) ->d : Symbol(d, Decl(bestCommonTypeOfTuple2.ts, 8, 32)) +>i : Symbol(D1.i, Decl(bestCommonTypeOfTuple2.ts, 8, 21)) +>d : Symbol(D1.d, Decl(bestCommonTypeOfTuple2.ts, 8, 32)) var t1: [C, base]; >t1 : Symbol(t1, Decl(bestCommonTypeOfTuple2.ts, 10, 3)) diff --git a/tests/baselines/reference/bestCommonTypeReturnStatement.symbols b/tests/baselines/reference/bestCommonTypeReturnStatement.symbols index 14e770ae255..db5fb4cfbcd 100644 --- a/tests/baselines/reference/bestCommonTypeReturnStatement.symbols +++ b/tests/baselines/reference/bestCommonTypeReturnStatement.symbols @@ -5,7 +5,7 @@ interface IPromise { >T : Symbol(T, Decl(bestCommonTypeReturnStatement.ts, 1, 19)) then(successCallback: (promiseValue: T) => any, errorCallback?: (reason: any) => any): IPromise; ->then : Symbol(then, Decl(bestCommonTypeReturnStatement.ts, 1, 23)) +>then : Symbol(IPromise.then, Decl(bestCommonTypeReturnStatement.ts, 1, 23)) >successCallback : Symbol(successCallback, Decl(bestCommonTypeReturnStatement.ts, 2, 9)) >promiseValue : Symbol(promiseValue, Decl(bestCommonTypeReturnStatement.ts, 2, 27)) >T : Symbol(T, Decl(bestCommonTypeReturnStatement.ts, 1, 19)) diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols b/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols index cfa5310bd3c..acaab09cb0e 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols @@ -3,20 +3,20 @@ interface Contextual { >Contextual : Symbol(Contextual, Decl(bestCommonTypeWithContextualTyping.ts, 0, 0)) dummy; ->dummy : Symbol(dummy, Decl(bestCommonTypeWithContextualTyping.ts, 0, 22)) +>dummy : Symbol(Contextual.dummy, Decl(bestCommonTypeWithContextualTyping.ts, 0, 22)) p?: number; ->p : Symbol(p, Decl(bestCommonTypeWithContextualTyping.ts, 1, 10)) +>p : Symbol(Contextual.p, Decl(bestCommonTypeWithContextualTyping.ts, 1, 10)) } interface Ellement { >Ellement : Symbol(Ellement, Decl(bestCommonTypeWithContextualTyping.ts, 3, 1)) dummy; ->dummy : Symbol(dummy, Decl(bestCommonTypeWithContextualTyping.ts, 5, 20)) +>dummy : Symbol(Ellement.dummy, Decl(bestCommonTypeWithContextualTyping.ts, 5, 20)) p: any; ->p : Symbol(p, Decl(bestCommonTypeWithContextualTyping.ts, 6, 10)) +>p : Symbol(Ellement.p, Decl(bestCommonTypeWithContextualTyping.ts, 6, 10)) } var e: Ellement; diff --git a/tests/baselines/reference/bestCommonTypeWithOptionalProperties.symbols b/tests/baselines/reference/bestCommonTypeWithOptionalProperties.symbols index 35e9534ddb5..5bb2dc8ecf9 100644 --- a/tests/baselines/reference/bestCommonTypeWithOptionalProperties.symbols +++ b/tests/baselines/reference/bestCommonTypeWithOptionalProperties.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/bestCommonTypeWithOptionalProperties.ts === interface X { foo: string } >X : Symbol(X, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 0)) ->foo : Symbol(foo, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 13)) +>foo : Symbol(X.foo, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 13)) interface Y extends X { bar?: number } >Y : Symbol(Y, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 27)) >X : Symbol(X, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 0)) ->bar : Symbol(bar, Decl(bestCommonTypeWithOptionalProperties.ts, 1, 23)) +>bar : Symbol(Y.bar, Decl(bestCommonTypeWithOptionalProperties.ts, 1, 23)) interface Z extends X { bar: string } >Z : Symbol(Z, Decl(bestCommonTypeWithOptionalProperties.ts, 1, 38)) >X : Symbol(X, Decl(bestCommonTypeWithOptionalProperties.ts, 0, 0)) ->bar : Symbol(bar, Decl(bestCommonTypeWithOptionalProperties.ts, 2, 23)) +>bar : Symbol(Z.bar, Decl(bestCommonTypeWithOptionalProperties.ts, 2, 23)) var x: X; >x : Symbol(x, Decl(bestCommonTypeWithOptionalProperties.ts, 4, 3)) diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.symbols b/tests/baselines/reference/binopAssignmentShouldHaveType.symbols index 98f4ffee743..ae7a3c521af 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.symbols +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.symbols @@ -10,12 +10,12 @@ module Test { >Bug : Symbol(Bug, Decl(binopAssignmentShouldHaveType.ts, 2, 13)) getName():string { ->getName : Symbol(getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) +>getName : Symbol(Bug.getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) return "name"; } bug() { ->bug : Symbol(bug, Decl(binopAssignmentShouldHaveType.ts, 6, 3)) +>bug : Symbol(Bug.bug, Decl(binopAssignmentShouldHaveType.ts, 6, 3)) var name:string= null; >name : Symbol(name, Decl(binopAssignmentShouldHaveType.ts, 8, 6)) @@ -23,9 +23,9 @@ module Test { if ((name= this.getName()).length > 0) { >(name= this.getName()).length : Symbol(String.length, Decl(lib.d.ts, --, --)) >name : Symbol(name, Decl(binopAssignmentShouldHaveType.ts, 8, 6)) ->this.getName : Symbol(getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) +>this.getName : Symbol(Bug.getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) >this : Symbol(Bug, Decl(binopAssignmentShouldHaveType.ts, 2, 13)) ->getName : Symbol(getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) +>getName : Symbol(Bug.getName, Decl(binopAssignmentShouldHaveType.ts, 3, 19)) >length : Symbol(String.length, Decl(lib.d.ts, --, --)) console.log(name); diff --git a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.symbols b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.symbols index d6a29a11980..d52e73ba600 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(bitwiseNotOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(bitwiseNotOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(bitwiseNotOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(bitwiseNotOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.symbols b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.symbols index 2cb37660135..f7dd03d78c3 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.symbols +++ b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(bitwiseNotOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(bitwiseNotOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(bitwiseNotOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(bitwiseNotOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols b/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols index 39c16a701b6..f535acc199b 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(bitwiseNotOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(bitwiseNotOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(bitwiseNotOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(bitwiseNotOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.symbols b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.symbols index 107650c530e..83f18f2d41d 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.symbols +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.symbols @@ -38,7 +38,7 @@ class C { >C : Symbol(C, Decl(callGenericFunctionWithZeroTypeArguments.ts, 9, 15)) f(x: T): T { ->f : Symbol(f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 11, 9)) +>f : Symbol(C.f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 11, 9)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 12, 6)) >x : Symbol(x, Decl(callGenericFunctionWithZeroTypeArguments.ts, 12, 9)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 12, 6)) @@ -57,7 +57,7 @@ interface I { >I : Symbol(I, Decl(callGenericFunctionWithZeroTypeArguments.ts, 16, 24)) f(x: T): T; ->f : Symbol(f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 18, 13)) +>f : Symbol(I.f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 18, 13)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 19, 6)) >x : Symbol(x, Decl(callGenericFunctionWithZeroTypeArguments.ts, 19, 9)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 19, 6)) @@ -78,7 +78,7 @@ class C2 { >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 24, 9)) f(x: T): T { ->f : Symbol(f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 24, 13)) +>f : Symbol(C2.f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 24, 13)) >x : Symbol(x, Decl(callGenericFunctionWithZeroTypeArguments.ts, 25, 6)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 24, 9)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 24, 9)) @@ -97,7 +97,7 @@ interface I2 { >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 31, 13)) f(x: T): T; ->f : Symbol(f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 31, 17)) +>f : Symbol(I2.f, Decl(callGenericFunctionWithZeroTypeArguments.ts, 31, 17)) >x : Symbol(x, Decl(callGenericFunctionWithZeroTypeArguments.ts, 32, 6)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 31, 13)) >T : Symbol(T, Decl(callGenericFunctionWithZeroTypeArguments.ts, 31, 13)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols index 12bc165575b..f0fbcce4bf1 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols @@ -3,51 +3,51 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) ->foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) ->bar : Symbol(bar, Decl(callSignatureAssignabilityInInheritance2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(callSignatureAssignabilityInInheritance2.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance2.ts, 3, 43)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) ->baz : Symbol(baz, Decl(callSignatureAssignabilityInInheritance2.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(callSignatureAssignabilityInInheritance2.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(callSignatureAssignabilityInInheritance2.ts, 4, 47)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) ->bing : Symbol(bing, Decl(callSignatureAssignabilityInInheritance2.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(callSignatureAssignabilityInInheritance2.ts, 5, 33)) interface A { // T >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance2.ts, 5, 49)) // M's a: (x: number) => number[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 7, 13)) +>a : Symbol(A.a, Decl(callSignatureAssignabilityInInheritance2.ts, 7, 13)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 9, 8)) a2: (x: number) => string[]; ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance2.ts, 9, 31)) +>a2 : Symbol(A.a2, Decl(callSignatureAssignabilityInInheritance2.ts, 9, 31)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 10, 9)) a3: (x: number) => void; ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance2.ts, 10, 32)) +>a3 : Symbol(A.a3, Decl(callSignatureAssignabilityInInheritance2.ts, 10, 32)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 11, 9)) a4: (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance2.ts, 11, 28)) +>a4 : Symbol(A.a4, Decl(callSignatureAssignabilityInInheritance2.ts, 11, 28)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 12, 9)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 12, 19)) a5: (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance2.ts, 12, 41)) +>a5 : Symbol(A.a5, Decl(callSignatureAssignabilityInInheritance2.ts, 12, 41)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 13, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance2.ts, 13, 13)) a6: (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance2.ts, 13, 47)) +>a6 : Symbol(A.a6, Decl(callSignatureAssignabilityInInheritance2.ts, 13, 47)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 14, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance2.ts, 14, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -55,7 +55,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(callSignatureAssignabilityInInheritance2.ts, 14, 44)) +>a7 : Symbol(A.a7, Decl(callSignatureAssignabilityInInheritance2.ts, 14, 44)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 15, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance2.ts, 15, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -65,7 +65,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(callSignatureAssignabilityInInheritance2.ts, 15, 60)) +>a8 : Symbol(A.a8, Decl(callSignatureAssignabilityInInheritance2.ts, 15, 60)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 16, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance2.ts, 16, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -79,7 +79,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(callSignatureAssignabilityInInheritance2.ts, 16, 88)) +>a9 : Symbol(A.a9, Decl(callSignatureAssignabilityInInheritance2.ts, 16, 88)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 17, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance2.ts, 17, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -93,13 +93,13 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a10: (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(callSignatureAssignabilityInInheritance2.ts, 17, 88)) +>a10 : Symbol(A.a10, Decl(callSignatureAssignabilityInInheritance2.ts, 17, 88)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 18, 10)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance2.ts, 18, 38)) +>a11 : Symbol(A.a11, Decl(callSignatureAssignabilityInInheritance2.ts, 18, 38)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 10)) >foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 14)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 29)) @@ -108,7 +108,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) a12: (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 71)) +>a12 : Symbol(A.a12, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 71)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -119,7 +119,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 64)) +>a13 : Symbol(A.a13, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 64)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 21, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -130,14 +130,14 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a14: (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(callSignatureAssignabilityInInheritance2.ts, 21, 63)) +>a14 : Symbol(A.a14, Decl(callSignatureAssignabilityInInheritance2.ts, 21, 63)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 10)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 14)) >b : Symbol(b, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 25)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) a15: { ->a15 : Symbol(a15, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 49)) +>a15 : Symbol(A.a15, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 49)) (x: number): number[]; >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 24, 9)) @@ -147,7 +147,7 @@ interface A { // T }; a16: { ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance2.ts, 26, 6)) +>a16 : Symbol(A.a16, Decl(callSignatureAssignabilityInInheritance2.ts, 26, 6)) (x: T): number[]; >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 28, 9)) @@ -163,7 +163,7 @@ interface A { // T }; a17: { ->a17 : Symbol(a17, Decl(callSignatureAssignabilityInInheritance2.ts, 30, 6)) +>a17 : Symbol(A.a17, Decl(callSignatureAssignabilityInInheritance2.ts, 30, 6)) (x: (a: number) => number): number[]; >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 32, 9)) @@ -175,7 +175,7 @@ interface A { // T }; a18: { ->a18 : Symbol(a18, Decl(callSignatureAssignabilityInInheritance2.ts, 34, 6)) +>a18 : Symbol(A.a18, Decl(callSignatureAssignabilityInInheritance2.ts, 34, 6)) (x: { >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 36, 9)) @@ -209,27 +209,27 @@ interface I extends A { // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 48, 23)) +>a : Symbol(I.a, Decl(callSignatureAssignabilityInInheritance2.ts, 48, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 8)) a2: (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 24)) +>a2 : Symbol(I.a2, Decl(callSignatureAssignabilityInInheritance2.ts, 50, 24)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 51, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 51, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 51, 9)) a3: (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance2.ts, 51, 30)) +>a3 : Symbol(I.a3, Decl(callSignatureAssignabilityInInheritance2.ts, 51, 30)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 9)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 9)) a4: (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 23)) +>a4 : Symbol(I.a4, Decl(callSignatureAssignabilityInInheritance2.ts, 52, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 15)) @@ -239,7 +239,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 9)) a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 32)) +>a5 : Symbol(I.a5, Decl(callSignatureAssignabilityInInheritance2.ts, 53, 32)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 15)) @@ -249,7 +249,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 9)) a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 38)) +>a6 : Symbol(I.a6, Decl(callSignatureAssignabilityInInheritance2.ts, 54, 38)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 55, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 55, 24)) @@ -261,7 +261,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 55, 9)) a7: (x: (arg: T) => U) => (r: T) => U; // ok ->a7 : Symbol(a7, Decl(callSignatureAssignabilityInInheritance2.ts, 55, 67)) +>a7 : Symbol(I.a7, Decl(callSignatureAssignabilityInInheritance2.ts, 55, 67)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 56, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 56, 24)) @@ -275,7 +275,7 @@ interface I extends A { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 56, 24)) a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok ->a8 : Symbol(a8, Decl(callSignatureAssignabilityInInheritance2.ts, 56, 77)) +>a8 : Symbol(I.a8, Decl(callSignatureAssignabilityInInheritance2.ts, 56, 77)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 57, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 57, 24)) @@ -293,7 +293,7 @@ interface I extends A { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 57, 24)) a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : Symbol(a9, Decl(callSignatureAssignabilityInInheritance2.ts, 57, 96)) +>a9 : Symbol(I.a9, Decl(callSignatureAssignabilityInInheritance2.ts, 57, 96)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 58, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 58, 24)) @@ -312,7 +312,7 @@ interface I extends A { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance2.ts, 58, 24)) a10: (...x: T[]) => T; // ok ->a10 : Symbol(a10, Decl(callSignatureAssignabilityInInheritance2.ts, 58, 124)) +>a10 : Symbol(I.a10, Decl(callSignatureAssignabilityInInheritance2.ts, 58, 124)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 59, 10)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 59, 29)) @@ -320,7 +320,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 59, 10)) a11: (x: T, y: T) => T; // ok ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance2.ts, 59, 45)) +>a11 : Symbol(I.a11, Decl(callSignatureAssignabilityInInheritance2.ts, 59, 45)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 10)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 26)) @@ -330,7 +330,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 10)) a12: >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : Symbol(a12, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 43)) +>a12 : Symbol(I.a12, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 43)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -343,7 +343,7 @@ interface I extends A { >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : Symbol(a13, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 73)) +>a13 : Symbol(I.a13, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 73)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) @@ -355,7 +355,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 10)) a14: (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature ->a14 : Symbol(a14, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 63)) +>a14 : Symbol(I.a14, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 63)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 17)) @@ -365,21 +365,21 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 10)) a15: (x: T) => T[]; // ok ->a15 : Symbol(a15, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 37)) +>a15 : Symbol(I.a15, Decl(callSignatureAssignabilityInInheritance2.ts, 63, 37)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 13)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 10)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 10)) a16: (x: T) => number[]; // ok ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 26)) +>a16 : Symbol(I.a16, Decl(callSignatureAssignabilityInInheritance2.ts, 64, 26)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 65, 10)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 65, 26)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 65, 10)) a17: (x: (a: T) => T) => T[]; // ok ->a17 : Symbol(a17, Decl(callSignatureAssignabilityInInheritance2.ts, 65, 44)) +>a17 : Symbol(I.a17, Decl(callSignatureAssignabilityInInheritance2.ts, 65, 44)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 17)) @@ -388,7 +388,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 10)) a18: (x: (a: T) => T) => T[]; // ok, no inferences for T but assignable to any ->a18 : Symbol(a18, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 36)) +>a18 : Symbol(I.a18, Decl(callSignatureAssignabilityInInheritance2.ts, 66, 36)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 67, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 67, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 67, 17)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.symbols index f45d7f318d2..4261483f451 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.symbols @@ -3,48 +3,48 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) ->foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance4.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(callSignatureAssignabilityInInheritance4.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance4.ts, 2, 27)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) ->bar : Symbol(bar, Decl(callSignatureAssignabilityInInheritance4.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(callSignatureAssignabilityInInheritance4.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance4.ts, 3, 43)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance4.ts, 2, 27)) ->baz : Symbol(baz, Decl(callSignatureAssignabilityInInheritance4.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(callSignatureAssignabilityInInheritance4.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(callSignatureAssignabilityInInheritance4.ts, 4, 47)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) ->bing : Symbol(bing, Decl(callSignatureAssignabilityInInheritance4.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(callSignatureAssignabilityInInheritance4.ts, 5, 33)) interface A { // T >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance4.ts, 5, 49)) // M's a: (x: T) => T[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 7, 13)) +>a : Symbol(A.a, Decl(callSignatureAssignabilityInInheritance4.ts, 7, 13)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 8)) a2: (x: T) => string[]; ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 24)) +>a2 : Symbol(A.a2, Decl(callSignatureAssignabilityInInheritance4.ts, 9, 24)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 10, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 10, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 10, 9)) a3: (x: T) => void; ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance4.ts, 10, 30)) +>a3 : Symbol(A.a3, Decl(callSignatureAssignabilityInInheritance4.ts, 10, 30)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 11, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 11, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 11, 9)) a4: (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance4.ts, 11, 26)) +>a4 : Symbol(A.a4, Decl(callSignatureAssignabilityInInheritance4.ts, 11, 26)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 14)) @@ -53,7 +53,7 @@ interface A { // T >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 11)) a5: (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 36)) +>a5 : Symbol(A.a5, Decl(callSignatureAssignabilityInInheritance4.ts, 12, 36)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 14)) @@ -63,7 +63,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 9)) a6: (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 37)) +>a6 : Symbol(A.a6, Decl(callSignatureAssignabilityInInheritance4.ts, 13, 37)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 14, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 14, 25)) @@ -73,7 +73,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 14, 9)) a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance4.ts, 14, 54)) +>a11 : Symbol(A.a11, Decl(callSignatureAssignabilityInInheritance4.ts, 14, 54)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 15, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 15, 13)) >foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance4.ts, 15, 17)) @@ -86,7 +86,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) a15: (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(callSignatureAssignabilityInInheritance4.ts, 15, 59)) +>a15 : Symbol(A.a15, Decl(callSignatureAssignabilityInInheritance4.ts, 15, 59)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 17)) @@ -96,7 +96,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 10)) a16: (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 39)) +>a16 : Symbol(A.a16, Decl(callSignatureAssignabilityInInheritance4.ts, 16, 39)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 17, 10)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 17, 26)) @@ -107,7 +107,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 17, 10)) a17: { ->a17 : Symbol(a17, Decl(callSignatureAssignabilityInInheritance4.ts, 17, 52)) +>a17 : Symbol(A.a17, Decl(callSignatureAssignabilityInInheritance4.ts, 17, 52)) (x: (a: T) => T): T[]; >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 19, 9)) @@ -129,7 +129,7 @@ interface A { // T }; a18: { ->a18 : Symbol(a18, Decl(callSignatureAssignabilityInInheritance4.ts, 21, 6)) +>a18 : Symbol(A.a18, Decl(callSignatureAssignabilityInInheritance4.ts, 21, 6)) (x: { >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 23, 9)) @@ -177,27 +177,27 @@ interface I extends A { // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 35, 23)) +>a : Symbol(I.a, Decl(callSignatureAssignabilityInInheritance4.ts, 35, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 8)) a2: (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 24)) +>a2 : Symbol(I.a2, Decl(callSignatureAssignabilityInInheritance4.ts, 37, 24)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 38, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 38, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 38, 9)) a3: (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance4.ts, 38, 30)) +>a3 : Symbol(I.a3, Decl(callSignatureAssignabilityInInheritance4.ts, 38, 30)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 9)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 9)) a4: (x: T, y: U) => string; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 23)) +>a4 : Symbol(I.a4, Decl(callSignatureAssignabilityInInheritance4.ts, 39, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 15)) @@ -206,7 +206,7 @@ interface I extends A { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 11)) a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 37)) +>a5 : Symbol(I.a5, Decl(callSignatureAssignabilityInInheritance4.ts, 40, 37)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 15)) @@ -216,7 +216,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 9)) a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 38)) +>a6 : Symbol(I.a6, Decl(callSignatureAssignabilityInInheritance4.ts, 41, 38)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 42, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 42, 24)) @@ -228,7 +228,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 42, 9)) a11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; // ok ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance4.ts, 42, 67)) +>a11 : Symbol(I.a11, Decl(callSignatureAssignabilityInInheritance4.ts, 42, 67)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 43, 10)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 43, 12)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 43, 16)) @@ -242,7 +242,7 @@ interface I extends A { >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance4.ts, 0, 0)) a15: (x: { a: U; b: V; }) => U[]; // ok, T = U, T = V ->a15 : Symbol(a15, Decl(callSignatureAssignabilityInInheritance4.ts, 43, 62)) +>a15 : Symbol(I.a15, Decl(callSignatureAssignabilityInInheritance4.ts, 43, 62)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 10)) >V : Symbol(V, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 12)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 16)) @@ -253,7 +253,7 @@ interface I extends A { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 10)) a16: (x: { a: T; b: T }) => T[]; // ok, more general parameter type ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 43)) +>a16 : Symbol(I.a16, Decl(callSignatureAssignabilityInInheritance4.ts, 44, 43)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 17)) @@ -263,7 +263,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 10)) a17: (x: (a: T) => T) => T[]; // ok ->a17 : Symbol(a17, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 39)) +>a17 : Symbol(I.a17, Decl(callSignatureAssignabilityInInheritance4.ts, 45, 39)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 17)) @@ -272,7 +272,7 @@ interface I extends A { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 10)) a18: (x: (a: T) => T) => any[]; // ok ->a18 : Symbol(a18, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 36)) +>a18 : Symbol(I.a18, Decl(callSignatureAssignabilityInInheritance4.ts, 46, 36)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance4.ts, 47, 10)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance4.ts, 47, 14)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance4.ts, 47, 17)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols index 89797dceb70..6f92fa5d5c7 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols @@ -4,51 +4,51 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) ->foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 12)) +>foo : Symbol(Base.foo, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) ->bar : Symbol(bar, Decl(callSignatureAssignabilityInInheritance5.ts, 4, 28)) +>bar : Symbol(Derived.bar, Decl(callSignatureAssignabilityInInheritance5.ts, 4, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance5.ts, 4, 43)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) ->baz : Symbol(baz, Decl(callSignatureAssignabilityInInheritance5.ts, 5, 32)) +>baz : Symbol(Derived2.baz, Decl(callSignatureAssignabilityInInheritance5.ts, 5, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(callSignatureAssignabilityInInheritance5.ts, 5, 47)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) ->bing : Symbol(bing, Decl(callSignatureAssignabilityInInheritance5.ts, 6, 33)) +>bing : Symbol(OtherDerived.bing, Decl(callSignatureAssignabilityInInheritance5.ts, 6, 33)) interface A { // T >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance5.ts, 6, 49)) // M's a: (x: number) => number[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 8, 13)) +>a : Symbol(A.a, Decl(callSignatureAssignabilityInInheritance5.ts, 8, 13)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 10, 8)) a2: (x: number) => string[]; ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance5.ts, 10, 31)) +>a2 : Symbol(A.a2, Decl(callSignatureAssignabilityInInheritance5.ts, 10, 31)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 11, 9)) a3: (x: number) => void; ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance5.ts, 11, 32)) +>a3 : Symbol(A.a3, Decl(callSignatureAssignabilityInInheritance5.ts, 11, 32)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 12, 9)) a4: (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance5.ts, 12, 28)) +>a4 : Symbol(A.a4, Decl(callSignatureAssignabilityInInheritance5.ts, 12, 28)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 13, 9)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 13, 19)) a5: (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance5.ts, 13, 41)) +>a5 : Symbol(A.a5, Decl(callSignatureAssignabilityInInheritance5.ts, 13, 41)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 14, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance5.ts, 14, 13)) a6: (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance5.ts, 14, 47)) +>a6 : Symbol(A.a6, Decl(callSignatureAssignabilityInInheritance5.ts, 14, 47)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 15, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance5.ts, 15, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -56,7 +56,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(callSignatureAssignabilityInInheritance5.ts, 15, 44)) +>a7 : Symbol(A.a7, Decl(callSignatureAssignabilityInInheritance5.ts, 15, 44)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 16, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance5.ts, 16, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -66,7 +66,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(callSignatureAssignabilityInInheritance5.ts, 16, 60)) +>a8 : Symbol(A.a8, Decl(callSignatureAssignabilityInInheritance5.ts, 16, 60)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 17, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance5.ts, 17, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -80,7 +80,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(callSignatureAssignabilityInInheritance5.ts, 17, 88)) +>a9 : Symbol(A.a9, Decl(callSignatureAssignabilityInInheritance5.ts, 17, 88)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 18, 9)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance5.ts, 18, 13)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -94,13 +94,13 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a10: (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(callSignatureAssignabilityInInheritance5.ts, 18, 88)) +>a10 : Symbol(A.a10, Decl(callSignatureAssignabilityInInheritance5.ts, 18, 88)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 19, 10)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance5.ts, 19, 38)) +>a11 : Symbol(A.a11, Decl(callSignatureAssignabilityInInheritance5.ts, 19, 38)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 10)) >foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 14)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 29)) @@ -109,7 +109,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) a12: (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 71)) +>a12 : Symbol(A.a12, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 71)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -120,7 +120,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 64)) +>a13 : Symbol(A.a13, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 64)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 22, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -131,7 +131,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a14: (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(callSignatureAssignabilityInInheritance5.ts, 22, 63)) +>a14 : Symbol(A.a14, Decl(callSignatureAssignabilityInInheritance5.ts, 22, 63)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 10)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 14)) >b : Symbol(b, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 25)) @@ -143,7 +143,7 @@ interface B extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance5.ts, 6, 49)) a: (x: T) => T[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 26, 23)) +>a : Symbol(B.a, Decl(callSignatureAssignabilityInInheritance5.ts, 26, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 27, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 27, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 27, 8)) @@ -157,27 +157,27 @@ interface I extends B { // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 31, 23)) +>a : Symbol(I.a, Decl(callSignatureAssignabilityInInheritance5.ts, 31, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 8)) a2: (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 24)) +>a2 : Symbol(I.a2, Decl(callSignatureAssignabilityInInheritance5.ts, 33, 24)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 34, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 34, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 34, 9)) a3: (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance5.ts, 34, 30)) +>a3 : Symbol(I.a3, Decl(callSignatureAssignabilityInInheritance5.ts, 34, 30)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 9)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 9)) a4: (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 23)) +>a4 : Symbol(I.a4, Decl(callSignatureAssignabilityInInheritance5.ts, 35, 23)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 15)) @@ -187,7 +187,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 9)) a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 32)) +>a5 : Symbol(I.a5, Decl(callSignatureAssignabilityInInheritance5.ts, 36, 32)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 15)) @@ -197,7 +197,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 9)) a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 38)) +>a6 : Symbol(I.a6, Decl(callSignatureAssignabilityInInheritance5.ts, 37, 38)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 38, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 38, 24)) @@ -209,7 +209,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 38, 9)) a7: (x: (arg: T) => U) => (r: T) => U; // ok ->a7 : Symbol(a7, Decl(callSignatureAssignabilityInInheritance5.ts, 38, 67)) +>a7 : Symbol(I.a7, Decl(callSignatureAssignabilityInInheritance5.ts, 38, 67)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 39, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 39, 24)) @@ -223,7 +223,7 @@ interface I extends B { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 39, 24)) a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok ->a8 : Symbol(a8, Decl(callSignatureAssignabilityInInheritance5.ts, 39, 77)) +>a8 : Symbol(I.a8, Decl(callSignatureAssignabilityInInheritance5.ts, 39, 77)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 40, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 40, 24)) @@ -241,7 +241,7 @@ interface I extends B { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 40, 24)) a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : Symbol(a9, Decl(callSignatureAssignabilityInInheritance5.ts, 40, 96)) +>a9 : Symbol(I.a9, Decl(callSignatureAssignabilityInInheritance5.ts, 40, 96)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 41, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 41, 24)) @@ -260,7 +260,7 @@ interface I extends B { >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance5.ts, 41, 24)) a10: (...x: T[]) => T; // ok ->a10 : Symbol(a10, Decl(callSignatureAssignabilityInInheritance5.ts, 41, 124)) +>a10 : Symbol(I.a10, Decl(callSignatureAssignabilityInInheritance5.ts, 41, 124)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 42, 10)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 42, 29)) @@ -268,7 +268,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 42, 10)) a11: (x: T, y: T) => T; // ok ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance5.ts, 42, 45)) +>a11 : Symbol(I.a11, Decl(callSignatureAssignabilityInInheritance5.ts, 42, 45)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 10)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 26)) @@ -278,7 +278,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 10)) a12: >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : Symbol(a12, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 43)) +>a12 : Symbol(I.a12, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 43)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -291,7 +291,7 @@ interface I extends B { >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : Symbol(a13, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 73)) +>a13 : Symbol(I.a13, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 73)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 10)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) @@ -303,7 +303,7 @@ interface I extends B { >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 10)) a14: (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature ->a14 : Symbol(a14, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 63)) +>a14 : Symbol(I.a14, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 63)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 46, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 46, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 46, 17)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.symbols index 1d4c99d89db..56c7098d408 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.symbols @@ -5,48 +5,48 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) ->foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance6.ts, 4, 12)) +>foo : Symbol(Base.foo, Decl(callSignatureAssignabilityInInheritance6.ts, 4, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance6.ts, 4, 27)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) ->bar : Symbol(bar, Decl(callSignatureAssignabilityInInheritance6.ts, 5, 28)) +>bar : Symbol(Derived.bar, Decl(callSignatureAssignabilityInInheritance6.ts, 5, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance6.ts, 5, 43)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance6.ts, 4, 27)) ->baz : Symbol(baz, Decl(callSignatureAssignabilityInInheritance6.ts, 6, 32)) +>baz : Symbol(Derived2.baz, Decl(callSignatureAssignabilityInInheritance6.ts, 6, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(callSignatureAssignabilityInInheritance6.ts, 6, 47)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) ->bing : Symbol(bing, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 33)) +>bing : Symbol(OtherDerived.bing, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 33)) interface A { // T >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) // M's a: (x: T) => T[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance6.ts, 9, 13)) +>a : Symbol(A.a, Decl(callSignatureAssignabilityInInheritance6.ts, 9, 13)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 8)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 11)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 8)) a2: (x: T) => string[]; ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 24)) +>a2 : Symbol(A.a2, Decl(callSignatureAssignabilityInInheritance6.ts, 11, 24)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 12, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 12, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 12, 9)) a3: (x: T) => void; ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance6.ts, 12, 30)) +>a3 : Symbol(A.a3, Decl(callSignatureAssignabilityInInheritance6.ts, 12, 30)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 13, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 13, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 13, 9)) a4: (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance6.ts, 13, 26)) +>a4 : Symbol(A.a4, Decl(callSignatureAssignabilityInInheritance6.ts, 13, 26)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 14)) @@ -55,7 +55,7 @@ interface A { // T >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 11)) a5: (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 36)) +>a5 : Symbol(A.a5, Decl(callSignatureAssignabilityInInheritance6.ts, 14, 36)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 9)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 11)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 14)) @@ -65,7 +65,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 9)) a6: (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 37)) +>a6 : Symbol(A.a6, Decl(callSignatureAssignabilityInInheritance6.ts, 15, 37)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 16, 9)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 16, 25)) @@ -75,7 +75,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 16, 9)) a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance6.ts, 16, 54)) +>a11 : Symbol(A.a11, Decl(callSignatureAssignabilityInInheritance6.ts, 16, 54)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 17, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 17, 13)) >foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance6.ts, 17, 17)) @@ -88,7 +88,7 @@ interface A { // T >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) a15: (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(callSignatureAssignabilityInInheritance6.ts, 17, 59)) +>a15 : Symbol(A.a15, Decl(callSignatureAssignabilityInInheritance6.ts, 17, 59)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 13)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 17)) @@ -98,7 +98,7 @@ interface A { // T >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 10)) a16: (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 39)) +>a16 : Symbol(A.a16, Decl(callSignatureAssignabilityInInheritance6.ts, 18, 39)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 19, 10)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance6.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 19, 26)) @@ -116,7 +116,7 @@ interface I extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a: (x: T) => T[]; ->a : Symbol(a, Decl(callSignatureAssignabilityInInheritance6.ts, 23, 26)) +>a : Symbol(I.a, Decl(callSignatureAssignabilityInInheritance6.ts, 23, 26)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 24, 8)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 23, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 23, 12)) @@ -128,7 +128,7 @@ interface I2 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a2: (x: T) => string[]; ->a2 : Symbol(a2, Decl(callSignatureAssignabilityInInheritance6.ts, 27, 27)) +>a2 : Symbol(I2.a2, Decl(callSignatureAssignabilityInInheritance6.ts, 27, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 28, 9)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 27, 13)) } @@ -139,7 +139,7 @@ interface I3 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a3: (x: T) => T; ->a3 : Symbol(a3, Decl(callSignatureAssignabilityInInheritance6.ts, 31, 27)) +>a3 : Symbol(I3.a3, Decl(callSignatureAssignabilityInInheritance6.ts, 31, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 32, 9)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 31, 13)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 31, 13)) @@ -151,7 +151,7 @@ interface I4 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a4: (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(callSignatureAssignabilityInInheritance6.ts, 35, 27)) +>a4 : Symbol(I4.a4, Decl(callSignatureAssignabilityInInheritance6.ts, 35, 27)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 36, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 36, 12)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 35, 13)) @@ -165,7 +165,7 @@ interface I5 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a5: (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(callSignatureAssignabilityInInheritance6.ts, 39, 27)) +>a5 : Symbol(I5.a5, Decl(callSignatureAssignabilityInInheritance6.ts, 39, 27)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 40, 9)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 40, 12)) >arg : Symbol(arg, Decl(callSignatureAssignabilityInInheritance6.ts, 40, 16)) @@ -180,7 +180,7 @@ interface I7 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : Symbol(a11, Decl(callSignatureAssignabilityInInheritance6.ts, 43, 27)) +>a11 : Symbol(I7.a11, Decl(callSignatureAssignabilityInInheritance6.ts, 43, 27)) >U : Symbol(U, Decl(callSignatureAssignabilityInInheritance6.ts, 44, 10)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 44, 13)) >foo : Symbol(foo, Decl(callSignatureAssignabilityInInheritance6.ts, 44, 17)) @@ -199,7 +199,7 @@ interface I9 extends A { >A : Symbol(A, Decl(callSignatureAssignabilityInInheritance6.ts, 7, 49)) a16: (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(callSignatureAssignabilityInInheritance6.ts, 47, 27)) +>a16 : Symbol(I9.a16, Decl(callSignatureAssignabilityInInheritance6.ts, 47, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance6.ts, 48, 10)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance6.ts, 48, 14)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance6.ts, 47, 13)) diff --git a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.symbols b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.symbols index 4b499ec2667..d8a43948fac 100644 --- a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.symbols +++ b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.symbols @@ -14,7 +14,7 @@ interface I { (); f(); ->f : Symbol(f, Decl(callSignatureWithoutAnnotationsOrBody.ts, 6, 7)) +>f : Symbol(I.f, Decl(callSignatureWithoutAnnotationsOrBody.ts, 6, 7)) } var i: I; >i : Symbol(i, Decl(callSignatureWithoutAnnotationsOrBody.ts, 9, 3)) diff --git a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.symbols b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.symbols index faba4e427ec..dd302da3671 100644 --- a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.symbols +++ b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.symbols @@ -109,7 +109,7 @@ interface I { >I : Symbol(I, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 54, 17)) foo: string; ->foo : Symbol(foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 56, 13)) +>foo : Symbol(I.foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 56, 13)) } function foo9(x: number) { >foo9 : Symbol(foo9, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 58, 1)) @@ -130,7 +130,7 @@ class C { >C : Symbol(C, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 63, 17)) foo: string; ->foo : Symbol(foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 65, 9)) +>foo : Symbol(C.foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 65, 9)) } function foo10(x: number) { >foo10 : Symbol(foo10, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 67, 1)) @@ -155,7 +155,7 @@ module M { export class C { foo: string } >C : Symbol(C, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 75, 21)) ->foo : Symbol(foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 76, 20)) +>foo : Symbol(C.foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 76, 20)) } function foo11() { >foo11 : Symbol(foo11, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 77, 1)) @@ -172,13 +172,13 @@ interface I2 { >I2 : Symbol(I2, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 81, 18), Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 86, 1)) x: number; ->x : Symbol(x, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 84, 14)) +>x : Symbol(I2.x, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 84, 14)) } interface I2 { >I2 : Symbol(I2, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 81, 18), Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 86, 1)) y: number; ->y : Symbol(y, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 87, 14)) +>y : Symbol(I2.y, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 87, 14)) } function foo12() { >foo12 : Symbol(foo12, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 89, 1)) @@ -215,7 +215,7 @@ class c1 { >c1 : Symbol(c1, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 101, 18), Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 106, 1)) foo: string; ->foo : Symbol(foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 103, 10)) +>foo : Symbol(c1.foo, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 103, 10)) constructor(x) { } >x : Symbol(x, Decl(callSignatureWithoutReturnTypeAnnotationInference.ts, 105, 16)) diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.symbols b/tests/baselines/reference/callSignaturesWithOptionalParameters.symbols index 542bd425fb1..c86adcff927 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.symbols +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.symbols @@ -37,7 +37,7 @@ class C { >C : Symbol(C, Decl(callSignaturesWithOptionalParameters.ts, 11, 9)) foo(x?: number) { } ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters.ts, 13, 9)) +>foo : Symbol(C.foo, Decl(callSignaturesWithOptionalParameters.ts, 13, 9)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters.ts, 14, 8)) } @@ -62,7 +62,7 @@ interface I { >x : Symbol(x, Decl(callSignaturesWithOptionalParameters.ts, 22, 5)) foo(x: number, y?: number); ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters.ts, 22, 17)) +>foo : Symbol(I.foo, Decl(callSignaturesWithOptionalParameters.ts, 22, 17)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters.ts, 23, 8)) >y : Symbol(y, Decl(callSignaturesWithOptionalParameters.ts, 23, 18)) } diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters2.symbols b/tests/baselines/reference/callSignaturesWithOptionalParameters2.symbols index e8609d66236..7900b86bcb2 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters2.symbols +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters2.symbols @@ -39,24 +39,24 @@ class C { >C : Symbol(C, Decl(callSignaturesWithOptionalParameters2.ts, 13, 11)) foo(x?: number); ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters2.ts, 15, 9), Decl(callSignaturesWithOptionalParameters2.ts, 16, 20)) +>foo : Symbol(C.foo, Decl(callSignaturesWithOptionalParameters2.ts, 15, 9), Decl(callSignaturesWithOptionalParameters2.ts, 16, 20)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 16, 8)) foo(x?: number) { } ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters2.ts, 15, 9), Decl(callSignaturesWithOptionalParameters2.ts, 16, 20)) +>foo : Symbol(C.foo, Decl(callSignaturesWithOptionalParameters2.ts, 15, 9), Decl(callSignaturesWithOptionalParameters2.ts, 16, 20)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 17, 8)) foo2(x: number); ->foo2 : Symbol(foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) +>foo2 : Symbol(C.foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 19, 9)) foo2(x: number, y?: number); ->foo2 : Symbol(foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) +>foo2 : Symbol(C.foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 20, 9)) >y : Symbol(y, Decl(callSignaturesWithOptionalParameters2.ts, 20, 19)) foo2(x: number, y?: number) { } ->foo2 : Symbol(foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) +>foo2 : Symbol(C.foo2, Decl(callSignaturesWithOptionalParameters2.ts, 17, 23), Decl(callSignaturesWithOptionalParameters2.ts, 19, 20), Decl(callSignaturesWithOptionalParameters2.ts, 20, 32)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 21, 9)) >y : Symbol(y, Decl(callSignaturesWithOptionalParameters2.ts, 21, 19)) } @@ -96,12 +96,12 @@ interface I { >y : Symbol(y, Decl(callSignaturesWithOptionalParameters2.ts, 33, 16)) foo(x: number, y?: number); ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters2.ts, 33, 29), Decl(callSignaturesWithOptionalParameters2.ts, 34, 31)) +>foo : Symbol(I.foo, Decl(callSignaturesWithOptionalParameters2.ts, 33, 29), Decl(callSignaturesWithOptionalParameters2.ts, 34, 31)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 34, 8)) >y : Symbol(y, Decl(callSignaturesWithOptionalParameters2.ts, 34, 18)) foo(x: number, y?: number, z?: number); ->foo : Symbol(foo, Decl(callSignaturesWithOptionalParameters2.ts, 33, 29), Decl(callSignaturesWithOptionalParameters2.ts, 34, 31)) +>foo : Symbol(I.foo, Decl(callSignaturesWithOptionalParameters2.ts, 33, 29), Decl(callSignaturesWithOptionalParameters2.ts, 34, 31)) >x : Symbol(x, Decl(callSignaturesWithOptionalParameters2.ts, 35, 8)) >y : Symbol(y, Decl(callSignaturesWithOptionalParameters2.ts, 35, 18)) >z : Symbol(z, Decl(callSignaturesWithOptionalParameters2.ts, 35, 30)) diff --git a/tests/baselines/reference/callWithSpread.symbols b/tests/baselines/reference/callWithSpread.symbols index bc1dd7468c9..bc2d9bfebd9 100644 --- a/tests/baselines/reference/callWithSpread.symbols +++ b/tests/baselines/reference/callWithSpread.symbols @@ -3,7 +3,7 @@ interface X { >X : Symbol(X, Decl(callWithSpread.ts, 0, 0)) foo(x: number, y: number, ...z: string[]); ->foo : Symbol(foo, Decl(callWithSpread.ts, 0, 13)) +>foo : Symbol(X.foo, Decl(callWithSpread.ts, 0, 13)) >x : Symbol(x, Decl(callWithSpread.ts, 1, 8)) >y : Symbol(y, Decl(callWithSpread.ts, 1, 18)) >z : Symbol(z, Decl(callWithSpread.ts, 1, 29)) @@ -107,22 +107,22 @@ class C { >z : Symbol(z, Decl(callWithSpread.ts, 31, 37)) this.foo(x, y); ->this.foo : Symbol(foo, Decl(callWithSpread.ts, 34, 5)) +>this.foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) >this : Symbol(C, Decl(callWithSpread.ts, 28, 40)) ->foo : Symbol(foo, Decl(callWithSpread.ts, 34, 5)) +>foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) >x : Symbol(x, Decl(callWithSpread.ts, 31, 16)) >y : Symbol(y, Decl(callWithSpread.ts, 31, 26)) this.foo(x, y, ...z); ->this.foo : Symbol(foo, Decl(callWithSpread.ts, 34, 5)) +>this.foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) >this : Symbol(C, Decl(callWithSpread.ts, 28, 40)) ->foo : Symbol(foo, Decl(callWithSpread.ts, 34, 5)) +>foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) >x : Symbol(x, Decl(callWithSpread.ts, 31, 16)) >y : Symbol(y, Decl(callWithSpread.ts, 31, 26)) >z : Symbol(z, Decl(callWithSpread.ts, 31, 37)) } foo(x: number, y: number, ...z: string[]) { ->foo : Symbol(foo, Decl(callWithSpread.ts, 34, 5)) +>foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) >x : Symbol(x, Decl(callWithSpread.ts, 35, 8)) >y : Symbol(y, Decl(callWithSpread.ts, 35, 18)) >z : Symbol(z, Decl(callWithSpread.ts, 35, 29)) @@ -142,7 +142,7 @@ class D extends C { >a : Symbol(a, Decl(callWithSpread.ts, 7, 3)) } foo() { ->foo : Symbol(foo, Decl(callWithSpread.ts, 43, 5)) +>foo : Symbol(D.foo, Decl(callWithSpread.ts, 43, 5)) super.foo(1, 2); >super.foo : Symbol(C.foo, Decl(callWithSpread.ts, 34, 5)) diff --git a/tests/baselines/reference/callWithSpreadES6.symbols b/tests/baselines/reference/callWithSpreadES6.symbols index 26dd9b548d5..7b6216764ce 100644 --- a/tests/baselines/reference/callWithSpreadES6.symbols +++ b/tests/baselines/reference/callWithSpreadES6.symbols @@ -4,7 +4,7 @@ interface X { >X : Symbol(X, Decl(callWithSpreadES6.ts, 0, 0)) foo(x: number, y: number, ...z: string[]); ->foo : Symbol(foo, Decl(callWithSpreadES6.ts, 1, 13)) +>foo : Symbol(X.foo, Decl(callWithSpreadES6.ts, 1, 13)) >x : Symbol(x, Decl(callWithSpreadES6.ts, 2, 8)) >y : Symbol(y, Decl(callWithSpreadES6.ts, 2, 18)) >z : Symbol(z, Decl(callWithSpreadES6.ts, 2, 29)) @@ -108,22 +108,22 @@ class C { >z : Symbol(z, Decl(callWithSpreadES6.ts, 32, 37)) this.foo(x, y); ->this.foo : Symbol(foo, Decl(callWithSpreadES6.ts, 35, 5)) +>this.foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) >this : Symbol(C, Decl(callWithSpreadES6.ts, 29, 40)) ->foo : Symbol(foo, Decl(callWithSpreadES6.ts, 35, 5)) +>foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) >x : Symbol(x, Decl(callWithSpreadES6.ts, 32, 16)) >y : Symbol(y, Decl(callWithSpreadES6.ts, 32, 26)) this.foo(x, y, ...z); ->this.foo : Symbol(foo, Decl(callWithSpreadES6.ts, 35, 5)) +>this.foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) >this : Symbol(C, Decl(callWithSpreadES6.ts, 29, 40)) ->foo : Symbol(foo, Decl(callWithSpreadES6.ts, 35, 5)) +>foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) >x : Symbol(x, Decl(callWithSpreadES6.ts, 32, 16)) >y : Symbol(y, Decl(callWithSpreadES6.ts, 32, 26)) >z : Symbol(z, Decl(callWithSpreadES6.ts, 32, 37)) } foo(x: number, y: number, ...z: string[]) { ->foo : Symbol(foo, Decl(callWithSpreadES6.ts, 35, 5)) +>foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) >x : Symbol(x, Decl(callWithSpreadES6.ts, 36, 8)) >y : Symbol(y, Decl(callWithSpreadES6.ts, 36, 18)) >z : Symbol(z, Decl(callWithSpreadES6.ts, 36, 29)) @@ -143,7 +143,7 @@ class D extends C { >a : Symbol(a, Decl(callWithSpreadES6.ts, 8, 3)) } foo() { ->foo : Symbol(foo, Decl(callWithSpreadES6.ts, 44, 5)) +>foo : Symbol(D.foo, Decl(callWithSpreadES6.ts, 44, 5)) super.foo(1, 2); >super.foo : Symbol(C.foo, Decl(callWithSpreadES6.ts, 35, 5)) diff --git a/tests/baselines/reference/callbacksDontShareTypes.symbols b/tests/baselines/reference/callbacksDontShareTypes.symbols index 1d7583cec2d..2eded6b880f 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.symbols +++ b/tests/baselines/reference/callbacksDontShareTypes.symbols @@ -4,15 +4,15 @@ interface Collection { >T : Symbol(T, Decl(callbacksDontShareTypes.ts, 0, 21)) length: number; ->length : Symbol(length, Decl(callbacksDontShareTypes.ts, 0, 25)) +>length : Symbol(Collection.length, Decl(callbacksDontShareTypes.ts, 0, 25)) add(x: T): void; ->add : Symbol(add, Decl(callbacksDontShareTypes.ts, 1, 19)) +>add : Symbol(Collection.add, Decl(callbacksDontShareTypes.ts, 1, 19)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 2, 8)) >T : Symbol(T, Decl(callbacksDontShareTypes.ts, 0, 21)) remove(x: T): boolean; ->remove : Symbol(remove, Decl(callbacksDontShareTypes.ts, 2, 20)) +>remove : Symbol(Collection.remove, Decl(callbacksDontShareTypes.ts, 2, 20)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 3, 11)) >T : Symbol(T, Decl(callbacksDontShareTypes.ts, 0, 21)) } @@ -20,7 +20,7 @@ interface Combinators { >Combinators : Symbol(Combinators, Decl(callbacksDontShareTypes.ts, 4, 1)) map(c: Collection, f: (x: T) => U): Collection; ->map : Symbol(map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) +>map : Symbol(Combinators.map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) >T : Symbol(T, Decl(callbacksDontShareTypes.ts, 6, 8)) >U : Symbol(U, Decl(callbacksDontShareTypes.ts, 6, 10)) >c : Symbol(c, Decl(callbacksDontShareTypes.ts, 6, 14)) @@ -34,7 +34,7 @@ interface Combinators { >U : Symbol(U, Decl(callbacksDontShareTypes.ts, 6, 10)) map(c: Collection, f: (x: T) => any): Collection; ->map : Symbol(map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) +>map : Symbol(Combinators.map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) >T : Symbol(T, Decl(callbacksDontShareTypes.ts, 7, 8)) >c : Symbol(c, Decl(callbacksDontShareTypes.ts, 7, 11)) >Collection : Symbol(Collection, Decl(callbacksDontShareTypes.ts, 0, 0)) diff --git a/tests/baselines/reference/captureThisInSuperCall.symbols b/tests/baselines/reference/captureThisInSuperCall.symbols index bf1fd151b3c..84d92c292a9 100644 --- a/tests/baselines/reference/captureThisInSuperCall.symbols +++ b/tests/baselines/reference/captureThisInSuperCall.symbols @@ -13,10 +13,10 @@ class B extends A { constructor() { super({ test: () => this.someMethod()}); } >super : Symbol(A, Decl(captureThisInSuperCall.ts, 0, 0)) >test : Symbol(test, Decl(captureThisInSuperCall.ts, 5, 27)) ->this.someMethod : Symbol(someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) +>this.someMethod : Symbol(B.someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) >this : Symbol(B, Decl(captureThisInSuperCall.ts, 2, 1)) ->someMethod : Symbol(someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) +>someMethod : Symbol(B.someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) someMethod() {} ->someMethod : Symbol(someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) +>someMethod : Symbol(B.someMethod, Decl(captureThisInSuperCall.ts, 5, 62)) } diff --git a/tests/baselines/reference/capturedLetConstInLoop10.symbols b/tests/baselines/reference/capturedLetConstInLoop10.symbols index 124874088a8..3ad860b92ae 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop10.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop10.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(capturedLetConstInLoop10.ts, 0, 9)) for (let x of [0]) { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 2, 16)) @@ -13,19 +13,19 @@ class A { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 2, 16)) this.bar(f()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >f : Symbol(f, Decl(capturedLetConstInLoop10.ts, 3, 15)) } } bar(a: number) { ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10.ts, 7, 8)) } baz() { ->baz : Symbol(baz, Decl(capturedLetConstInLoop10.ts, 8, 5)) +>baz : Symbol(A.baz, Decl(capturedLetConstInLoop10.ts, 8, 5)) for (let x of [1]) { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 11, 16)) @@ -42,20 +42,20 @@ class A { >y : Symbol(y, Decl(capturedLetConstInLoop10.ts, 13, 20)) this.bar(b()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >b : Symbol(b, Decl(capturedLetConstInLoop10.ts, 14, 19)) } this.bar(a()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10.ts, 12, 15)) } } baz2() { ->baz2 : Symbol(baz2, Decl(capturedLetConstInLoop10.ts, 19, 5)) +>baz2 : Symbol(A.baz2, Decl(capturedLetConstInLoop10.ts, 19, 5)) for (let x of [1]) { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 21, 16)) @@ -65,9 +65,9 @@ class A { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 21, 16)) this.bar(a()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10.ts, 22, 15)) for (let y of [1]) { @@ -78,9 +78,9 @@ class A { >y : Symbol(y, Decl(capturedLetConstInLoop10.ts, 24, 20)) this.bar(b()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10.ts, 6, 5)) >b : Symbol(b, Decl(capturedLetConstInLoop10.ts, 25, 19)) } } @@ -91,7 +91,7 @@ class B { >B : Symbol(B, Decl(capturedLetConstInLoop10.ts, 30, 1)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop10.ts, 32, 9)) +>foo : Symbol(B.foo, Decl(capturedLetConstInLoop10.ts, 32, 9)) let a = >a : Symbol(a, Decl(capturedLetConstInLoop10.ts, 34, 11)) @@ -105,15 +105,15 @@ class B { >x : Symbol(x, Decl(capturedLetConstInLoop10.ts, 36, 24)) this.bar(f()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) +>this.bar : Symbol(B.bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) >this : Symbol(B, Decl(capturedLetConstInLoop10.ts, 30, 1)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) +>bar : Symbol(B.bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) >f : Symbol(f, Decl(capturedLetConstInLoop10.ts, 37, 23)) } } } bar(a: number) { ->bar : Symbol(bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) +>bar : Symbol(B.bar, Decl(capturedLetConstInLoop10.ts, 41, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10.ts, 42, 8)) } } diff --git a/tests/baselines/reference/capturedLetConstInLoop10_ES6.symbols b/tests/baselines/reference/capturedLetConstInLoop10_ES6.symbols index f0cf92ff96b..8ca14c806a3 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10_ES6.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop10_ES6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop10_ES6.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(capturedLetConstInLoop10_ES6.ts, 0, 9)) for (let x of [0]) { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 2, 16)) @@ -13,19 +13,19 @@ class A { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 2, 16)) this.bar(f()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >f : Symbol(f, Decl(capturedLetConstInLoop10_ES6.ts, 3, 15)) } } bar(a: number) { ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10_ES6.ts, 7, 8)) } baz() { ->baz : Symbol(baz, Decl(capturedLetConstInLoop10_ES6.ts, 8, 5)) +>baz : Symbol(A.baz, Decl(capturedLetConstInLoop10_ES6.ts, 8, 5)) for (let x of [1]) { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 11, 16)) @@ -42,20 +42,20 @@ class A { >y : Symbol(y, Decl(capturedLetConstInLoop10_ES6.ts, 13, 20)) this.bar(b()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >b : Symbol(b, Decl(capturedLetConstInLoop10_ES6.ts, 14, 19)) } this.bar(a()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10_ES6.ts, 12, 15)) } } baz2() { ->baz2 : Symbol(baz2, Decl(capturedLetConstInLoop10_ES6.ts, 19, 5)) +>baz2 : Symbol(A.baz2, Decl(capturedLetConstInLoop10_ES6.ts, 19, 5)) for (let x of [1]) { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 21, 16)) @@ -65,9 +65,9 @@ class A { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 21, 16)) this.bar(a()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10_ES6.ts, 22, 15)) for (let y of [1]) { @@ -78,9 +78,9 @@ class A { >y : Symbol(y, Decl(capturedLetConstInLoop10_ES6.ts, 24, 20)) this.bar(b()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>this.bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >this : Symbol(A, Decl(capturedLetConstInLoop10_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) +>bar : Symbol(A.bar, Decl(capturedLetConstInLoop10_ES6.ts, 6, 5)) >b : Symbol(b, Decl(capturedLetConstInLoop10_ES6.ts, 25, 19)) } } @@ -91,7 +91,7 @@ class B { >B : Symbol(B, Decl(capturedLetConstInLoop10_ES6.ts, 30, 1)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop10_ES6.ts, 32, 9)) +>foo : Symbol(B.foo, Decl(capturedLetConstInLoop10_ES6.ts, 32, 9)) let a = >a : Symbol(a, Decl(capturedLetConstInLoop10_ES6.ts, 34, 11)) @@ -105,15 +105,15 @@ class B { >x : Symbol(x, Decl(capturedLetConstInLoop10_ES6.ts, 36, 24)) this.bar(f()); ->this.bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) +>this.bar : Symbol(B.bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) >this : Symbol(B, Decl(capturedLetConstInLoop10_ES6.ts, 30, 1)) ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) +>bar : Symbol(B.bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) >f : Symbol(f, Decl(capturedLetConstInLoop10_ES6.ts, 37, 23)) } } } bar(a: number) { ->bar : Symbol(bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) +>bar : Symbol(B.bar, Decl(capturedLetConstInLoop10_ES6.ts, 41, 5)) >a : Symbol(a, Decl(capturedLetConstInLoop10_ES6.ts, 42, 8)) } } diff --git a/tests/baselines/reference/capturedLetConstInLoop9.symbols b/tests/baselines/reference/capturedLetConstInLoop9.symbols index 37d1764b41b..2cc1645863e 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop9.symbols @@ -53,7 +53,7 @@ for (let x = 0; x < 1; ++x) { >A : Symbol(A, Decl(capturedLetConstInLoop9.ts, 24, 5)) m() { ->m : Symbol(m, Decl(capturedLetConstInLoop9.ts, 26, 13)) +>m : Symbol(A.m, Decl(capturedLetConstInLoop9.ts, 26, 13)) return x + 1; >x : Symbol(x, Decl(capturedLetConstInLoop9.ts, 1, 7)) @@ -222,10 +222,10 @@ class C { >C : Symbol(C, Decl(capturedLetConstInLoop9.ts, 120, 1)) constructor(private N: number) { } ->N : Symbol(N, Decl(capturedLetConstInLoop9.ts, 123, 16)) +>N : Symbol(C.N, Decl(capturedLetConstInLoop9.ts, 123, 16)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop9.ts, 123, 38)) +>foo : Symbol(C.foo, Decl(capturedLetConstInLoop9.ts, 123, 38)) for (let i = 0; i < 100; i++) { >i : Symbol(i, Decl(capturedLetConstInLoop9.ts, 125, 16)) @@ -234,9 +234,9 @@ class C { let f = () => this.N * i; >f : Symbol(f, Decl(capturedLetConstInLoop9.ts, 126, 15)) ->this.N : Symbol(N, Decl(capturedLetConstInLoop9.ts, 123, 16)) +>this.N : Symbol(C.N, Decl(capturedLetConstInLoop9.ts, 123, 16)) >this : Symbol(C, Decl(capturedLetConstInLoop9.ts, 120, 1)) ->N : Symbol(N, Decl(capturedLetConstInLoop9.ts, 123, 16)) +>N : Symbol(C.N, Decl(capturedLetConstInLoop9.ts, 123, 16)) >i : Symbol(i, Decl(capturedLetConstInLoop9.ts, 125, 16)) } } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols b/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols index d71a20afe47..2cab346a81e 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols @@ -54,7 +54,7 @@ for (let x = 0; x < 1; ++x) { >A : Symbol(A, Decl(capturedLetConstInLoop9_ES6.ts, 25, 5)) m() { ->m : Symbol(m, Decl(capturedLetConstInLoop9_ES6.ts, 27, 13)) +>m : Symbol(A.m, Decl(capturedLetConstInLoop9_ES6.ts, 27, 13)) return x + 1; >x : Symbol(x, Decl(capturedLetConstInLoop9_ES6.ts, 2, 7)) @@ -222,10 +222,10 @@ class C { >C : Symbol(C, Decl(capturedLetConstInLoop9_ES6.ts, 120, 1)) constructor(private N: number) { } ->N : Symbol(N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) +>N : Symbol(C.N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) foo() { ->foo : Symbol(foo, Decl(capturedLetConstInLoop9_ES6.ts, 123, 38)) +>foo : Symbol(C.foo, Decl(capturedLetConstInLoop9_ES6.ts, 123, 38)) for (let i = 0; i < 100; i++) { >i : Symbol(i, Decl(capturedLetConstInLoop9_ES6.ts, 125, 16)) @@ -234,9 +234,9 @@ class C { let f = () => this.N * i; >f : Symbol(f, Decl(capturedLetConstInLoop9_ES6.ts, 126, 15)) ->this.N : Symbol(N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) +>this.N : Symbol(C.N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) >this : Symbol(C, Decl(capturedLetConstInLoop9_ES6.ts, 120, 1)) ->N : Symbol(N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) +>N : Symbol(C.N, Decl(capturedLetConstInLoop9_ES6.ts, 123, 16)) >i : Symbol(i, Decl(capturedLetConstInLoop9_ES6.ts, 125, 16)) } } diff --git a/tests/baselines/reference/castTest.symbols b/tests/baselines/reference/castTest.symbols index e0bf154820e..944cc8238e6 100644 --- a/tests/baselines/reference/castTest.symbols +++ b/tests/baselines/reference/castTest.symbols @@ -32,19 +32,19 @@ declare class Point >Point : Symbol(Point, Decl(castTest.ts, 11, 37)) { x: number; ->x : Symbol(x, Decl(castTest.ts, 14, 1)) +>x : Symbol(Point.x, Decl(castTest.ts, 14, 1)) y: number; ->y : Symbol(y, Decl(castTest.ts, 15, 14)) +>y : Symbol(Point.y, Decl(castTest.ts, 15, 14)) add(dx: number, dy: number): Point; ->add : Symbol(add, Decl(castTest.ts, 16, 14)) +>add : Symbol(Point.add, Decl(castTest.ts, 16, 14)) >dx : Symbol(dx, Decl(castTest.ts, 17, 8)) >dy : Symbol(dy, Decl(castTest.ts, 17, 19)) >Point : Symbol(Point, Decl(castTest.ts, 11, 37)) mult(p: Point): Point; ->mult : Symbol(mult, Decl(castTest.ts, 17, 39)) +>mult : Symbol(Point.mult, Decl(castTest.ts, 17, 39)) >p : Symbol(p, Decl(castTest.ts, 18, 9)) >Point : Symbol(Point, Decl(castTest.ts, 11, 37)) >Point : Symbol(Point, Decl(castTest.ts, 11, 37)) diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols index 8232c44a620..f8fbae6b8b3 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols @@ -4,13 +4,13 @@ interface Sequence { >T : Symbol(T, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 19)) each(iterator: (value: T) => void): void; ->each : Symbol(each, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 23)) +>each : Symbol(Sequence.each, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 23)) >iterator : Symbol(iterator, Decl(chainedSpecializationToObjectTypeLiteral.ts, 1, 9)) >value : Symbol(value, Decl(chainedSpecializationToObjectTypeLiteral.ts, 1, 20)) >T : Symbol(T, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 19)) map(iterator: (value: T) => U): Sequence; ->map : Symbol(map, Decl(chainedSpecializationToObjectTypeLiteral.ts, 1, 45)) +>map : Symbol(Sequence.map, Decl(chainedSpecializationToObjectTypeLiteral.ts, 1, 45)) >U : Symbol(U, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 8)) >iterator : Symbol(iterator, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 11)) >value : Symbol(value, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 22)) @@ -20,7 +20,7 @@ interface Sequence { >U : Symbol(U, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 8)) filter(iterator: (value: T) => boolean): Sequence; ->filter : Symbol(filter, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 51)) +>filter : Symbol(Sequence.filter, Decl(chainedSpecializationToObjectTypeLiteral.ts, 2, 51)) >iterator : Symbol(iterator, Decl(chainedSpecializationToObjectTypeLiteral.ts, 3, 11)) >value : Symbol(value, Decl(chainedSpecializationToObjectTypeLiteral.ts, 3, 22)) >T : Symbol(T, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 19)) @@ -28,7 +28,7 @@ interface Sequence { >T : Symbol(T, Decl(chainedSpecializationToObjectTypeLiteral.ts, 0, 19)) groupBy(keySelector: (value: T) => K): Sequence<{ key: K; items: T[]; }>; ->groupBy : Symbol(groupBy, Decl(chainedSpecializationToObjectTypeLiteral.ts, 3, 57)) +>groupBy : Symbol(Sequence.groupBy, Decl(chainedSpecializationToObjectTypeLiteral.ts, 3, 57)) >K : Symbol(K, Decl(chainedSpecializationToObjectTypeLiteral.ts, 4, 12)) >keySelector : Symbol(keySelector, Decl(chainedSpecializationToObjectTypeLiteral.ts, 4, 15)) >value : Symbol(value, Decl(chainedSpecializationToObjectTypeLiteral.ts, 4, 29)) diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination.symbols b/tests/baselines/reference/checkInfiniteExpansionTermination.symbols index 52ba8ad698e..e6d75d40cee 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination.symbols +++ b/tests/baselines/reference/checkInfiniteExpansionTermination.symbols @@ -7,7 +7,7 @@ interface IObservable { >T : Symbol(T, Decl(checkInfiniteExpansionTermination.ts, 3, 22)) n: IObservable; // Needed, must be T[] ->n : Symbol(n, Decl(checkInfiniteExpansionTermination.ts, 3, 26)) +>n : Symbol(IObservable.n, Decl(checkInfiniteExpansionTermination.ts, 3, 26)) >IObservable : Symbol(IObservable, Decl(checkInfiniteExpansionTermination.ts, 0, 0)) >T : Symbol(T, Decl(checkInfiniteExpansionTermination.ts, 3, 22)) } @@ -21,11 +21,11 @@ interface ISubject extends IObservable { } interface Foo { x } >Foo : Symbol(Foo, Decl(checkInfiniteExpansionTermination.ts, 8, 48)) ->x : Symbol(x, Decl(checkInfiniteExpansionTermination.ts, 10, 15)) +>x : Symbol(Foo.x, Decl(checkInfiniteExpansionTermination.ts, 10, 15)) interface Bar { y } >Bar : Symbol(Bar, Decl(checkInfiniteExpansionTermination.ts, 10, 19)) ->y : Symbol(y, Decl(checkInfiniteExpansionTermination.ts, 11, 15)) +>y : Symbol(Bar.y, Decl(checkInfiniteExpansionTermination.ts, 11, 15)) var values: IObservable; >values : Symbol(values, Decl(checkInfiniteExpansionTermination.ts, 13, 3)) diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination2.symbols b/tests/baselines/reference/checkInfiniteExpansionTermination2.symbols index c4fe17a09a6..b7be2445e0d 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination2.symbols +++ b/tests/baselines/reference/checkInfiniteExpansionTermination2.symbols @@ -7,7 +7,7 @@ interface IObservable { >T : Symbol(T, Decl(checkInfiniteExpansionTermination2.ts, 3, 22)) n: IObservable; ->n : Symbol(n, Decl(checkInfiniteExpansionTermination2.ts, 3, 26)) +>n : Symbol(IObservable.n, Decl(checkInfiniteExpansionTermination2.ts, 3, 26)) >IObservable : Symbol(IObservable, Decl(checkInfiniteExpansionTermination2.ts, 0, 0)) >T : Symbol(T, Decl(checkInfiniteExpansionTermination2.ts, 3, 22)) } diff --git a/tests/baselines/reference/checkInterfaceBases.symbols b/tests/baselines/reference/checkInterfaceBases.symbols index 6b5f987b0bc..57a820dcfaf 100644 --- a/tests/baselines/reference/checkInterfaceBases.symbols +++ b/tests/baselines/reference/checkInterfaceBases.symbols @@ -4,7 +4,7 @@ interface SecondEvent { >SecondEvent : Symbol(SecondEvent, Decl(app.ts, 0, 0)) data: any; ->data : Symbol(data, Decl(app.ts, 1, 23)) +>data : Symbol(SecondEvent.data, Decl(app.ts, 1, 23)) } interface Third extends JQueryEventObjectTest, SecondEvent {} >Third : Symbol(Third, Decl(app.ts, 3, 1)) @@ -16,12 +16,12 @@ interface JQueryEventObjectTest { >JQueryEventObjectTest : Symbol(JQueryEventObjectTest, Decl(jquery.d.ts, 0, 0)) data: any; ->data : Symbol(data, Decl(jquery.d.ts, 0, 33)) +>data : Symbol(JQueryEventObjectTest.data, Decl(jquery.d.ts, 0, 33)) which: number; ->which : Symbol(which, Decl(jquery.d.ts, 1, 14)) +>which : Symbol(JQueryEventObjectTest.which, Decl(jquery.d.ts, 1, 14)) metaKey: any; ->metaKey : Symbol(metaKey, Decl(jquery.d.ts, 2, 18)) +>metaKey : Symbol(JQueryEventObjectTest.metaKey, Decl(jquery.d.ts, 2, 18)) } diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.symbols b/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.symbols index 008d1156b56..8ac242b0e48 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.symbols +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.symbols @@ -7,7 +7,7 @@ class Derived extends Based { >Based : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing1.ts, 0, 0)) public x: number; ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) constructor() { super(); @@ -17,9 +17,9 @@ class Derived extends Based { >this : Symbol(Derived, Decl(checkSuperCallBeforeThisAccessing1.ts, 0, 15)) this.x = 10; ->this.x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) +>this.x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) >this : Symbol(Derived, Decl(checkSuperCallBeforeThisAccessing1.ts, 0, 15)) ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing1.ts, 1, 29)) var that = this; >that : Symbol(that, Decl(checkSuperCallBeforeThisAccessing1.ts, 7, 11)) diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.symbols b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.symbols index 8dd68fc3b74..44bbd5949bb 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.symbols +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.symbols @@ -7,29 +7,29 @@ class Derived extends Based { >Based : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing3.ts, 0, 0)) public x: number; ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) constructor() { class innver { >innver : Symbol(innver, Decl(checkSuperCallBeforeThisAccessing3.ts, 3, 19)) public y: boolean; ->y : Symbol(y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) +>y : Symbol(innver.y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) constructor() { this.y = true; ->this.y : Symbol(y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) +>this.y : Symbol(innver.y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) >this : Symbol(innver, Decl(checkSuperCallBeforeThisAccessing3.ts, 3, 19)) ->y : Symbol(y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) +>y : Symbol(innver.y, Decl(checkSuperCallBeforeThisAccessing3.ts, 4, 22)) } } super(); >super : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing3.ts, 0, 0)) this.x = 10; ->this.x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) +>this.x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) >this : Symbol(Derived, Decl(checkSuperCallBeforeThisAccessing3.ts, 0, 15)) ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing3.ts, 1, 29)) var that = this; >that : Symbol(that, Decl(checkSuperCallBeforeThisAccessing3.ts, 12, 11)) diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.symbols b/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.symbols index 7101280358d..4ea467558df 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.symbols +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.symbols @@ -7,7 +7,7 @@ class Derived extends Based { >Based : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing4.ts, 0, 0)) public x: number; ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) constructor() { (() => { @@ -32,9 +32,9 @@ class Derived extends Based { >super : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing4.ts, 0, 0)) this.x = 10; ->this.x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) +>this.x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) >this : Symbol(Derived, Decl(checkSuperCallBeforeThisAccessing4.ts, 0, 15)) ->x : Symbol(x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) +>x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing4.ts, 1, 29)) var that = this; >that : Symbol(that, Decl(checkSuperCallBeforeThisAccessing4.ts, 16, 11)) diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols index 6bc994f2a44..2a6ba238b4b 100644 --- a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols +++ b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 0, 35)) doIt(x: Array): void { ->doIt : Symbol(doIt, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 2, 9)) +>doIt : Symbol(A.doIt, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 2, 9)) >x : Symbol(x, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 3, 9)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/circularImportAlias.symbols b/tests/baselines/reference/circularImportAlias.symbols index 6eaa4a7467e..518766ceb5d 100644 --- a/tests/baselines/reference/circularImportAlias.symbols +++ b/tests/baselines/reference/circularImportAlias.symbols @@ -15,7 +15,7 @@ module B { >C : Symbol(a.C, Decl(circularImportAlias.ts, 9, 10)) id: number; ->id : Symbol(id, Decl(circularImportAlias.ts, 4, 32)) +>id : Symbol(D.id, Decl(circularImportAlias.ts, 4, 32)) } } @@ -24,7 +24,7 @@ module A { export class C { name: string } >C : Symbol(C, Decl(circularImportAlias.ts, 9, 10)) ->name : Symbol(name, Decl(circularImportAlias.ts, 10, 20)) +>name : Symbol(C.name, Decl(circularImportAlias.ts, 10, 20)) export import b = B; >b : Symbol(b, Decl(circularImportAlias.ts, 10, 35)) diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithClass.symbols b/tests/baselines/reference/circularTypeAliasForUnionWithClass.symbols index ecfba63332d..d18711d03da 100644 --- a/tests/baselines/reference/circularTypeAliasForUnionWithClass.symbols +++ b/tests/baselines/reference/circularTypeAliasForUnionWithClass.symbols @@ -11,7 +11,7 @@ class I0 { >I0 : Symbol(I0, Decl(circularTypeAliasForUnionWithClass.ts, 1, 22)) x: T0; ->x : Symbol(x, Decl(circularTypeAliasForUnionWithClass.ts, 2, 10)) +>x : Symbol(I0.x, Decl(circularTypeAliasForUnionWithClass.ts, 2, 10)) >T0 : Symbol(T0, Decl(circularTypeAliasForUnionWithClass.ts, 0, 11)) } diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.symbols b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.symbols index 29bc3098d91..ad33c036bf8 100644 --- a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.symbols +++ b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.symbols @@ -11,7 +11,7 @@ interface I0 { >I0 : Symbol(I0, Decl(circularTypeAliasForUnionWithInterface.ts, 1, 22)) x: T0; ->x : Symbol(x, Decl(circularTypeAliasForUnionWithInterface.ts, 2, 14)) +>x : Symbol(I0.x, Decl(circularTypeAliasForUnionWithInterface.ts, 2, 14)) >T0 : Symbol(T0, Decl(circularTypeAliasForUnionWithInterface.ts, 0, 11)) } diff --git a/tests/baselines/reference/classAbstractAsIdentifier.symbols b/tests/baselines/reference/classAbstractAsIdentifier.symbols index f2ce2ebcab5..5b96a74bb12 100644 --- a/tests/baselines/reference/classAbstractAsIdentifier.symbols +++ b/tests/baselines/reference/classAbstractAsIdentifier.symbols @@ -3,7 +3,7 @@ class abstract { >abstract : Symbol(abstract, Decl(classAbstractAsIdentifier.ts, 0, 0)) foo() { return 1; } ->foo : Symbol(foo, Decl(classAbstractAsIdentifier.ts, 0, 16)) +>foo : Symbol(abstract.foo, Decl(classAbstractAsIdentifier.ts, 0, 16)) } new abstract; diff --git a/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols b/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols index 28c31e639a7..6041f2ddf04 100644 --- a/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols +++ b/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classAppearsToHaveMembersOfObject.ts === class C { foo: string; } >C : Symbol(C, Decl(classAppearsToHaveMembersOfObject.ts, 0, 0)) ->foo : Symbol(foo, Decl(classAppearsToHaveMembersOfObject.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(classAppearsToHaveMembersOfObject.ts, 0, 9)) var c: C; >c : Symbol(c, Decl(classAppearsToHaveMembersOfObject.ts, 2, 3)) diff --git a/tests/baselines/reference/classConstructorAccessibility4.symbols b/tests/baselines/reference/classConstructorAccessibility4.symbols index e3d8301ca68..66a9bbfabfd 100644 --- a/tests/baselines/reference/classConstructorAccessibility4.symbols +++ b/tests/baselines/reference/classConstructorAccessibility4.symbols @@ -6,13 +6,13 @@ class A { private constructor() { } method() { ->method : Symbol(method, Decl(classConstructorAccessibility4.ts, 2, 29)) +>method : Symbol(A.method, Decl(classConstructorAccessibility4.ts, 2, 29)) class B { >B : Symbol(B, Decl(classConstructorAccessibility4.ts, 4, 14)) method() { ->method : Symbol(method, Decl(classConstructorAccessibility4.ts, 5, 17)) +>method : Symbol(B.method, Decl(classConstructorAccessibility4.ts, 5, 17)) new A(); // OK >A : Symbol(A, Decl(classConstructorAccessibility4.ts, 0, 0)) @@ -32,13 +32,13 @@ class D { protected constructor() { } method() { ->method : Symbol(method, Decl(classConstructorAccessibility4.ts, 17, 31)) +>method : Symbol(D.method, Decl(classConstructorAccessibility4.ts, 17, 31)) class E { >E : Symbol(E, Decl(classConstructorAccessibility4.ts, 19, 14)) method() { ->method : Symbol(method, Decl(classConstructorAccessibility4.ts, 20, 17)) +>method : Symbol(E.method, Decl(classConstructorAccessibility4.ts, 20, 17)) new D(); // OK >D : Symbol(D, Decl(classConstructorAccessibility4.ts, 14, 1)) diff --git a/tests/baselines/reference/classConstructorParametersAccessibility3.symbols b/tests/baselines/reference/classConstructorParametersAccessibility3.symbols index b2888528e7e..1e61cffd88b 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility3.symbols +++ b/tests/baselines/reference/classConstructorParametersAccessibility3.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(classConstructorParametersAccessibility3.ts, 0, 0)) constructor(protected p: number) { } ->p : Symbol(p, Decl(classConstructorParametersAccessibility3.ts, 1, 16)) +>p : Symbol(Base.p, Decl(classConstructorParametersAccessibility3.ts, 1, 16)) } class Derived extends Base { @@ -11,16 +11,16 @@ class Derived extends Base { >Base : Symbol(Base, Decl(classConstructorParametersAccessibility3.ts, 0, 0)) constructor(public p: number) { ->p : Symbol(p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) +>p : Symbol(Derived.p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) super(p); >super : Symbol(Base, Decl(classConstructorParametersAccessibility3.ts, 0, 0)) >p : Symbol(p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) this.p; // OK ->this.p : Symbol(p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) +>this.p : Symbol(Derived.p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) >this : Symbol(Derived, Decl(classConstructorParametersAccessibility3.ts, 2, 1)) ->p : Symbol(p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) +>p : Symbol(Derived.p, Decl(classConstructorParametersAccessibility3.ts, 5, 16)) } } diff --git a/tests/baselines/reference/classDoesNotDependOnPrivateMember.symbols b/tests/baselines/reference/classDoesNotDependOnPrivateMember.symbols index ca042499c05..5f5a23156ef 100644 --- a/tests/baselines/reference/classDoesNotDependOnPrivateMember.symbols +++ b/tests/baselines/reference/classDoesNotDependOnPrivateMember.symbols @@ -9,7 +9,7 @@ module M { >C : Symbol(C, Decl(classDoesNotDependOnPrivateMember.ts, 1, 19)) private x: I; ->x : Symbol(x, Decl(classDoesNotDependOnPrivateMember.ts, 2, 20)) +>x : Symbol(C.x, Decl(classDoesNotDependOnPrivateMember.ts, 2, 20)) >I : Symbol(I, Decl(classDoesNotDependOnPrivateMember.ts, 0, 10)) } } diff --git a/tests/baselines/reference/classExpressionTest1.symbols b/tests/baselines/reference/classExpressionTest1.symbols index 684ee302895..398a74d7f5f 100644 --- a/tests/baselines/reference/classExpressionTest1.symbols +++ b/tests/baselines/reference/classExpressionTest1.symbols @@ -7,7 +7,7 @@ function M() { >X : Symbol(X, Decl(classExpressionTest1.ts, 1, 12)) f() { ->f : Symbol(f, Decl(classExpressionTest1.ts, 1, 16)) +>f : Symbol(C.f, Decl(classExpressionTest1.ts, 1, 16)) >T : Symbol(T, Decl(classExpressionTest1.ts, 2, 10)) var t: T; diff --git a/tests/baselines/reference/classExtendingClass.symbols b/tests/baselines/reference/classExtendingClass.symbols index 3c79887d163..638d595f812 100644 --- a/tests/baselines/reference/classExtendingClass.symbols +++ b/tests/baselines/reference/classExtendingClass.symbols @@ -3,10 +3,10 @@ class C { >C : Symbol(C, Decl(classExtendingClass.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(classExtendingClass.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(classExtendingClass.ts, 0, 9)) thing() { } ->thing : Symbol(thing, Decl(classExtendingClass.ts, 1, 16)) +>thing : Symbol(C.thing, Decl(classExtendingClass.ts, 1, 16)) static other() { } >other : Symbol(C.other, Decl(classExtendingClass.ts, 2, 15)) @@ -17,7 +17,7 @@ class D extends C { >C : Symbol(C, Decl(classExtendingClass.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(classExtendingClass.ts, 6, 19)) +>bar : Symbol(D.bar, Decl(classExtendingClass.ts, 6, 19)) } var d: D; @@ -53,11 +53,11 @@ class C2 { >T : Symbol(T, Decl(classExtendingClass.ts, 16, 9)) foo: T; ->foo : Symbol(foo, Decl(classExtendingClass.ts, 16, 13)) +>foo : Symbol(C2.foo, Decl(classExtendingClass.ts, 16, 13)) >T : Symbol(T, Decl(classExtendingClass.ts, 16, 9)) thing(x: T) { } ->thing : Symbol(thing, Decl(classExtendingClass.ts, 17, 11)) +>thing : Symbol(C2.thing, Decl(classExtendingClass.ts, 17, 11)) >x : Symbol(x, Decl(classExtendingClass.ts, 18, 10)) >T : Symbol(T, Decl(classExtendingClass.ts, 16, 9)) @@ -75,7 +75,7 @@ class D2 extends C2 { >T : Symbol(T, Decl(classExtendingClass.ts, 22, 9)) bar: string; ->bar : Symbol(bar, Decl(classExtendingClass.ts, 22, 27)) +>bar : Symbol(D2.bar, Decl(classExtendingClass.ts, 22, 27)) } var d2: D2; diff --git a/tests/baselines/reference/classImplementsClass3.symbols b/tests/baselines/reference/classImplementsClass3.symbols index a1c565c8d53..66fdd66786c 100644 --- a/tests/baselines/reference/classImplementsClass3.symbols +++ b/tests/baselines/reference/classImplementsClass3.symbols @@ -1,14 +1,14 @@ === tests/cases/compiler/classImplementsClass3.ts === class A { foo(): number { return 1; } } >A : Symbol(A, Decl(classImplementsClass3.ts, 0, 0)) ->foo : Symbol(foo, Decl(classImplementsClass3.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(classImplementsClass3.ts, 0, 9)) class C implements A { >C : Symbol(C, Decl(classImplementsClass3.ts, 0, 39)) >A : Symbol(A, Decl(classImplementsClass3.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(classImplementsClass3.ts, 1, 22)) +>foo : Symbol(C.foo, Decl(classImplementsClass3.ts, 1, 22)) return 1; } diff --git a/tests/baselines/reference/classImplementsImportedInterface.symbols b/tests/baselines/reference/classImplementsImportedInterface.symbols index a629d3c005d..be06fa6f991 100644 --- a/tests/baselines/reference/classImplementsImportedInterface.symbols +++ b/tests/baselines/reference/classImplementsImportedInterface.symbols @@ -6,7 +6,7 @@ module M1 { >I : Symbol(I, Decl(classImplementsImportedInterface.ts, 0, 11)) foo(); ->foo : Symbol(foo, Decl(classImplementsImportedInterface.ts, 1, 24)) +>foo : Symbol(I.foo, Decl(classImplementsImportedInterface.ts, 1, 24)) } } @@ -23,6 +23,6 @@ module M2 { >T : Symbol(T, Decl(classImplementsImportedInterface.ts, 6, 11)) foo() {} ->foo : Symbol(foo, Decl(classImplementsImportedInterface.ts, 8, 26)) +>foo : Symbol(C.foo, Decl(classImplementsImportedInterface.ts, 8, 26)) } } diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.symbols b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.symbols index 585bae5b3c3..230f5bcec90 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.symbols +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.symbols @@ -16,7 +16,7 @@ class Greeter { } messageHandler = (message: string) => { ->messageHandler : Symbol(messageHandler, Decl(classMemberInitializerWithLamdaScoping5.ts, 5, 5)) +>messageHandler : Symbol(Greeter.messageHandler, Decl(classMemberInitializerWithLamdaScoping5.ts, 5, 5)) >message : Symbol(message, Decl(classMemberInitializerWithLamdaScoping5.ts, 7, 22)) console.log(message); // This shouldnt be error diff --git a/tests/baselines/reference/classOrder1.symbols b/tests/baselines/reference/classOrder1.symbols index 4f1541ba9cd..02d6fc8ea34 100644 --- a/tests/baselines/reference/classOrder1.symbols +++ b/tests/baselines/reference/classOrder1.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(classOrder1.ts, 0, 0)) public foo() { ->foo : Symbol(foo, Decl(classOrder1.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(classOrder1.ts, 0, 9)) /*WScript.Echo("Here!");*/ } diff --git a/tests/baselines/reference/classOrder2.symbols b/tests/baselines/reference/classOrder2.symbols index 4ee49d269a9..8ca6e89e1db 100644 --- a/tests/baselines/reference/classOrder2.symbols +++ b/tests/baselines/reference/classOrder2.symbols @@ -5,7 +5,7 @@ class A extends B { >B : Symbol(B, Decl(classOrder2.ts, 5, 1)) foo() { this.bar(); } ->foo : Symbol(foo, Decl(classOrder2.ts, 1, 19)) +>foo : Symbol(A.foo, Decl(classOrder2.ts, 1, 19)) >this.bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) >this : Symbol(A, Decl(classOrder2.ts, 0, 0)) >bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) @@ -16,7 +16,7 @@ class B { >B : Symbol(B, Decl(classOrder2.ts, 5, 1)) bar() { } ->bar : Symbol(bar, Decl(classOrder2.ts, 7, 9)) +>bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) } diff --git a/tests/baselines/reference/classOrderBug.symbols b/tests/baselines/reference/classOrderBug.symbols index 9065909180b..bbc78371231 100644 --- a/tests/baselines/reference/classOrderBug.symbols +++ b/tests/baselines/reference/classOrderBug.symbols @@ -3,15 +3,15 @@ class bar { >bar : Symbol(bar, Decl(classOrderBug.ts, 0, 0)) public baz: foo; ->baz : Symbol(baz, Decl(classOrderBug.ts, 0, 11)) +>baz : Symbol(bar.baz, Decl(classOrderBug.ts, 0, 11)) >foo : Symbol(foo, Decl(classOrderBug.ts, 10, 12)) constructor() { this.baz = new foo(); ->this.baz : Symbol(baz, Decl(classOrderBug.ts, 0, 11)) +>this.baz : Symbol(bar.baz, Decl(classOrderBug.ts, 0, 11)) >this : Symbol(bar, Decl(classOrderBug.ts, 0, 0)) ->baz : Symbol(baz, Decl(classOrderBug.ts, 0, 11)) +>baz : Symbol(bar.baz, Decl(classOrderBug.ts, 0, 11)) >foo : Symbol(foo, Decl(classOrderBug.ts, 10, 12)) } diff --git a/tests/baselines/reference/classSideInheritance2.symbols b/tests/baselines/reference/classSideInheritance2.symbols index 697aba99832..b90ae38a4a9 100644 --- a/tests/baselines/reference/classSideInheritance2.symbols +++ b/tests/baselines/reference/classSideInheritance2.symbols @@ -3,7 +3,7 @@ interface IText { >IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(classSideInheritance2.ts, 0, 17)) +>foo : Symbol(IText.foo, Decl(classSideInheritance2.ts, 0, 17)) } interface TextSpan {} @@ -29,10 +29,10 @@ class TextBase implements IText { >IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) public foo: number; ->foo : Symbol(foo, Decl(classSideInheritance2.ts, 13, 33)) +>foo : Symbol(TextBase.foo, Decl(classSideInheritance2.ts, 13, 33)) public subText(span: TextSpan): IText { ->subText : Symbol(subText, Decl(classSideInheritance2.ts, 14, 27)) +>subText : Symbol(TextBase.subText, Decl(classSideInheritance2.ts, 14, 27)) >span : Symbol(span, Decl(classSideInheritance2.ts, 15, 23)) >TextSpan : Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) >IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) diff --git a/tests/baselines/reference/classWithNoConstructorOrBaseClass.symbols b/tests/baselines/reference/classWithNoConstructorOrBaseClass.symbols index 0d26f892dec..efbd022a920 100644 --- a/tests/baselines/reference/classWithNoConstructorOrBaseClass.symbols +++ b/tests/baselines/reference/classWithNoConstructorOrBaseClass.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(classWithNoConstructorOrBaseClass.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(classWithNoConstructorOrBaseClass.ts, 0, 9)) +>x : Symbol(C.x, Decl(classWithNoConstructorOrBaseClass.ts, 0, 9)) } var c = new C(); @@ -20,11 +20,11 @@ class D { >U : Symbol(U, Decl(classWithNoConstructorOrBaseClass.ts, 7, 10)) x: T; ->x : Symbol(x, Decl(classWithNoConstructorOrBaseClass.ts, 7, 14)) +>x : Symbol(D.x, Decl(classWithNoConstructorOrBaseClass.ts, 7, 14)) >T : Symbol(T, Decl(classWithNoConstructorOrBaseClass.ts, 7, 8)) y: U; ->y : Symbol(y, Decl(classWithNoConstructorOrBaseClass.ts, 8, 9)) +>y : Symbol(D.y, Decl(classWithNoConstructorOrBaseClass.ts, 8, 9)) >U : Symbol(U, Decl(classWithNoConstructorOrBaseClass.ts, 7, 10)) } diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols index e30810f5cf9..b09c819cf65 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols @@ -5,17 +5,17 @@ class C { >C : Symbol(C, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 0, 0)) public x: string; ->x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 2, 9)) +>x : Symbol(C.x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 2, 9)) public y(a: number): number { return null; } ->y : Symbol(y, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 3, 21)) +>y : Symbol(C.y, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 3, 21)) >a : Symbol(a, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 4, 13)) public get z() { return 1; } ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 5, 32)) +>z : Symbol(C.z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 5, 32)) public set z(v) { } ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 5, 32)) +>z : Symbol(C.z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 5, 32)) >v : Symbol(v, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 6, 17)) [x: string]: Object; @@ -33,14 +33,14 @@ interface I { >I : Symbol(I, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 10, 1)) x: string; ->x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 12, 13)) +>x : Symbol(I.x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 12, 13)) y(b: number): number; ->y : Symbol(y, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 13, 14)) +>y : Symbol(I.y, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 13, 14)) >b : Symbol(b, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 14, 6)) z: number; ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 14, 25)) +>z : Symbol(I.z, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 14, 25)) [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 16, 5)) diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols index 13a716f9e8c..80658b0531c 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols @@ -5,17 +5,17 @@ class C { >C : Symbol(C, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 0, 0)) public x: string; ->x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 2, 9)) +>x : Symbol(C.x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 2, 9)) public y(a: number): number { return null; } ->y : Symbol(y, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 3, 21)) +>y : Symbol(C.y, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 3, 21)) >a : Symbol(a, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 4, 13)) public get z() { return 1; } ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 5, 32)) +>z : Symbol(C.z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 5, 32)) public set z(v) { } ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 5, 32)) +>z : Symbol(C.z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 4, 48), Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 5, 32)) >v : Symbol(v, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 6, 17)) [x: string]: Object; @@ -36,14 +36,14 @@ interface I { >I : Symbol(I, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 12, 1)) x: string; ->x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 14, 13)) +>x : Symbol(I.x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 14, 13)) y(b: number): number; ->y : Symbol(y, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 15, 14)) +>y : Symbol(I.y, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 15, 14)) >b : Symbol(b, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 16, 6)) z: number; ->z : Symbol(z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 16, 25)) +>z : Symbol(I.z, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 16, 25)) [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 18, 5)) diff --git a/tests/baselines/reference/classWithProtectedProperty.symbols b/tests/baselines/reference/classWithProtectedProperty.symbols index 017233081b2..c51b52b4df9 100644 --- a/tests/baselines/reference/classWithProtectedProperty.symbols +++ b/tests/baselines/reference/classWithProtectedProperty.symbols @@ -5,19 +5,19 @@ class C { >C : Symbol(C, Decl(classWithProtectedProperty.ts, 0, 0)) protected x; ->x : Symbol(x, Decl(classWithProtectedProperty.ts, 2, 9)) +>x : Symbol(C.x, Decl(classWithProtectedProperty.ts, 2, 9)) protected a = ''; ->a : Symbol(a, Decl(classWithProtectedProperty.ts, 3, 16)) +>a : Symbol(C.a, Decl(classWithProtectedProperty.ts, 3, 16)) protected b: string = ''; ->b : Symbol(b, Decl(classWithProtectedProperty.ts, 4, 21)) +>b : Symbol(C.b, Decl(classWithProtectedProperty.ts, 4, 21)) protected c() { return '' } ->c : Symbol(c, Decl(classWithProtectedProperty.ts, 5, 29)) +>c : Symbol(C.c, Decl(classWithProtectedProperty.ts, 5, 29)) protected d = () => ''; ->d : Symbol(d, Decl(classWithProtectedProperty.ts, 6, 31)) +>d : Symbol(C.d, Decl(classWithProtectedProperty.ts, 6, 31)) protected static e; >e : Symbol(C.e, Decl(classWithProtectedProperty.ts, 7, 27)) @@ -34,7 +34,7 @@ class D extends C { >C : Symbol(C, Decl(classWithProtectedProperty.ts, 0, 0)) method() { ->method : Symbol(method, Decl(classWithProtectedProperty.ts, 13, 19)) +>method : Symbol(D.method, Decl(classWithProtectedProperty.ts, 13, 19)) // No errors var d = new D(); diff --git a/tests/baselines/reference/classWithPublicProperty.symbols b/tests/baselines/reference/classWithPublicProperty.symbols index 0e3aa272e5d..612d50c4694 100644 --- a/tests/baselines/reference/classWithPublicProperty.symbols +++ b/tests/baselines/reference/classWithPublicProperty.symbols @@ -3,19 +3,19 @@ class C { >C : Symbol(C, Decl(classWithPublicProperty.ts, 0, 0)) public x; ->x : Symbol(x, Decl(classWithPublicProperty.ts, 0, 9)) +>x : Symbol(C.x, Decl(classWithPublicProperty.ts, 0, 9)) public a = ''; ->a : Symbol(a, Decl(classWithPublicProperty.ts, 1, 13)) +>a : Symbol(C.a, Decl(classWithPublicProperty.ts, 1, 13)) public b: string = ''; ->b : Symbol(b, Decl(classWithPublicProperty.ts, 2, 18)) +>b : Symbol(C.b, Decl(classWithPublicProperty.ts, 2, 18)) public c() { return '' } ->c : Symbol(c, Decl(classWithPublicProperty.ts, 3, 26)) +>c : Symbol(C.c, Decl(classWithPublicProperty.ts, 3, 26)) public d = () => ''; ->d : Symbol(d, Decl(classWithPublicProperty.ts, 4, 28)) +>d : Symbol(C.d, Decl(classWithPublicProperty.ts, 4, 28)) public static e; >e : Symbol(C.e, Decl(classWithPublicProperty.ts, 5, 24)) diff --git a/tests/baselines/reference/classdecl.symbols b/tests/baselines/reference/classdecl.symbols index ad355e23517..68c7a632c10 100644 --- a/tests/baselines/reference/classdecl.symbols +++ b/tests/baselines/reference/classdecl.symbols @@ -15,18 +15,18 @@ class a { } public pgF() { } ->pgF : Symbol(pgF, Decl(classdecl.ts, 6, 5)) +>pgF : Symbol(a.pgF, Decl(classdecl.ts, 6, 5)) public pv; ->pv : Symbol(pv, Decl(classdecl.ts, 8, 20)) +>pv : Symbol(a.pv, Decl(classdecl.ts, 8, 20)) public get d() { ->d : Symbol(d, Decl(classdecl.ts, 10, 14), Decl(classdecl.ts, 13, 5)) +>d : Symbol(a.d, Decl(classdecl.ts, 10, 14), Decl(classdecl.ts, 13, 5)) return 30; } public set d(a: number) { ->d : Symbol(d, Decl(classdecl.ts, 10, 14), Decl(classdecl.ts, 13, 5)) +>d : Symbol(a.d, Decl(classdecl.ts, 10, 14), Decl(classdecl.ts, 13, 5)) >a : Symbol(a, Decl(classdecl.ts, 14, 17)) } @@ -47,18 +47,18 @@ class a { return "string"; } private pv3; ->pv3 : Symbol(pv3, Decl(classdecl.ts, 25, 5)) +>pv3 : Symbol(a.pv3, Decl(classdecl.ts, 25, 5)) private foo(n: number): string; ->foo : Symbol(foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) +>foo : Symbol(a.foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) >n : Symbol(n, Decl(classdecl.ts, 28, 16)) private foo(s: string): string; ->foo : Symbol(foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) +>foo : Symbol(a.foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) >s : Symbol(s, Decl(classdecl.ts, 29, 16)) private foo(ns: any) { ->foo : Symbol(foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) +>foo : Symbol(a.foo, Decl(classdecl.ts, 26, 16), Decl(classdecl.ts, 28, 35), Decl(classdecl.ts, 29, 35)) >ns : Symbol(ns, Decl(classdecl.ts, 30, 16)) return ns.toString(); @@ -130,13 +130,13 @@ declare class aAmbient { >s : Symbol(s, Decl(classdecl.ts, 67, 17)) public pgF(): void; ->pgF : Symbol(pgF, Decl(classdecl.ts, 67, 28)) +>pgF : Symbol(aAmbient.pgF, Decl(classdecl.ts, 67, 28)) public pv; ->pv : Symbol(pv, Decl(classdecl.ts, 68, 23)) +>pv : Symbol(aAmbient.pv, Decl(classdecl.ts, 68, 23)) public d : number; ->d : Symbol(d, Decl(classdecl.ts, 69, 14)) +>d : Symbol(aAmbient.d, Decl(classdecl.ts, 69, 14)) static p2 : { x: number; y: number; }; >p2 : Symbol(aAmbient.p2, Decl(classdecl.ts, 70, 22)) @@ -150,10 +150,10 @@ declare class aAmbient { >p3 : Symbol(aAmbient.p3, Decl(classdecl.ts, 72, 16)) private pv3; ->pv3 : Symbol(pv3, Decl(classdecl.ts, 73, 14)) +>pv3 : Symbol(aAmbient.pv3, Decl(classdecl.ts, 73, 14)) private foo(s); ->foo : Symbol(foo, Decl(classdecl.ts, 74, 16)) +>foo : Symbol(aAmbient.foo, Decl(classdecl.ts, 74, 16)) >s : Symbol(s, Decl(classdecl.ts, 75, 16)) } @@ -161,15 +161,15 @@ class d { >d : Symbol(d, Decl(classdecl.ts, 76, 1)) private foo(n: number): string; ->foo : Symbol(foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) +>foo : Symbol(d.foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) >n : Symbol(n, Decl(classdecl.ts, 79, 16)) private foo(s: string): string; ->foo : Symbol(foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) +>foo : Symbol(d.foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) >s : Symbol(s, Decl(classdecl.ts, 80, 16)) private foo(ns: any) { ->foo : Symbol(foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) +>foo : Symbol(d.foo, Decl(classdecl.ts, 78, 9), Decl(classdecl.ts, 79, 35), Decl(classdecl.ts, 80, 35)) >ns : Symbol(ns, Decl(classdecl.ts, 81, 16)) return ns.toString(); @@ -181,15 +181,15 @@ class e { >e : Symbol(e, Decl(classdecl.ts, 84, 1)) private foo(s: string): string; ->foo : Symbol(foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) +>foo : Symbol(e.foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) >s : Symbol(s, Decl(classdecl.ts, 87, 16)) private foo(n: number): string; ->foo : Symbol(foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) +>foo : Symbol(e.foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) >n : Symbol(n, Decl(classdecl.ts, 88, 16)) private foo(ns: any) { ->foo : Symbol(foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) +>foo : Symbol(e.foo, Decl(classdecl.ts, 86, 9), Decl(classdecl.ts, 87, 35), Decl(classdecl.ts, 88, 35)) >ns : Symbol(ns, Decl(classdecl.ts, 89, 16)) return ns.toString(); diff --git a/tests/baselines/reference/clinterfaces.symbols b/tests/baselines/reference/clinterfaces.symbols index 76c7d74b521..0c0bf5ba3a3 100644 --- a/tests/baselines/reference/clinterfaces.symbols +++ b/tests/baselines/reference/clinterfaces.symbols @@ -20,7 +20,7 @@ interface Foo { >T : Symbol(T, Decl(clinterfaces.ts, 7, 14), Decl(clinterfaces.ts, 11, 10)) a: string; ->a : Symbol(a, Decl(clinterfaces.ts, 7, 18)) +>a : Symbol(Foo.a, Decl(clinterfaces.ts, 7, 18)) } class Foo{ @@ -28,7 +28,7 @@ class Foo{ >T : Symbol(T, Decl(clinterfaces.ts, 7, 14), Decl(clinterfaces.ts, 11, 10)) b: number; ->b : Symbol(b, Decl(clinterfaces.ts, 11, 13)) +>b : Symbol(Foo.b, Decl(clinterfaces.ts, 11, 13)) } class Bar{ @@ -36,7 +36,7 @@ class Bar{ >T : Symbol(T, Decl(clinterfaces.ts, 15, 10), Decl(clinterfaces.ts, 19, 14)) b: number; ->b : Symbol(b, Decl(clinterfaces.ts, 15, 13)) +>b : Symbol(Bar.b, Decl(clinterfaces.ts, 15, 13)) } interface Bar { @@ -44,7 +44,7 @@ interface Bar { >T : Symbol(T, Decl(clinterfaces.ts, 15, 10), Decl(clinterfaces.ts, 19, 14)) a: string; ->a : Symbol(a, Decl(clinterfaces.ts, 19, 18)) +>a : Symbol(Bar.a, Decl(clinterfaces.ts, 19, 18)) } export = Foo; diff --git a/tests/baselines/reference/cloduleAcrossModuleDefinitions.symbols b/tests/baselines/reference/cloduleAcrossModuleDefinitions.symbols index 7be8383355c..c0821b54c69 100644 --- a/tests/baselines/reference/cloduleAcrossModuleDefinitions.symbols +++ b/tests/baselines/reference/cloduleAcrossModuleDefinitions.symbols @@ -6,7 +6,7 @@ module A { >B : Symbol(B, Decl(cloduleAcrossModuleDefinitions.ts, 0, 10), Decl(cloduleAcrossModuleDefinitions.ts, 7, 10)) foo() { } ->foo : Symbol(foo, Decl(cloduleAcrossModuleDefinitions.ts, 1, 20)) +>foo : Symbol(B.foo, Decl(cloduleAcrossModuleDefinitions.ts, 1, 20)) static bar() { } >bar : Symbol(B.bar, Decl(cloduleAcrossModuleDefinitions.ts, 2, 17)) diff --git a/tests/baselines/reference/cloduleAndTypeParameters.symbols b/tests/baselines/reference/cloduleAndTypeParameters.symbols index f2d96346495..5a1b5cf18dc 100644 --- a/tests/baselines/reference/cloduleAndTypeParameters.symbols +++ b/tests/baselines/reference/cloduleAndTypeParameters.symbols @@ -16,7 +16,7 @@ module Foo { >Bar : Symbol(Bar, Decl(cloduleAndTypeParameters.ts, 5, 12)) bar(): void; ->bar : Symbol(bar, Decl(cloduleAndTypeParameters.ts, 6, 24)) +>bar : Symbol(Bar.bar, Decl(cloduleAndTypeParameters.ts, 6, 24)) } export class Baz { diff --git a/tests/baselines/reference/cloduleTest1.symbols b/tests/baselines/reference/cloduleTest1.symbols index 01759cfa136..11e1967d16f 100644 --- a/tests/baselines/reference/cloduleTest1.symbols +++ b/tests/baselines/reference/cloduleTest1.symbols @@ -8,7 +8,7 @@ >$ : Symbol($, Decl(cloduleTest1.ts, 0, 0), Decl(cloduleTest1.ts, 0, 42), Decl(cloduleTest1.ts, 3, 3)) addClass(className: string): $; ->addClass : Symbol(addClass, Decl(cloduleTest1.ts, 1, 15)) +>addClass : Symbol($.addClass, Decl(cloduleTest1.ts, 1, 15)) >className : Symbol(className, Decl(cloduleTest1.ts, 2, 15)) >$ : Symbol($, Decl(cloduleTest1.ts, 0, 0), Decl(cloduleTest1.ts, 0, 42), Decl(cloduleTest1.ts, 3, 3)) } diff --git a/tests/baselines/reference/cloduleWithPriorUninstantiatedModule.symbols b/tests/baselines/reference/cloduleWithPriorUninstantiatedModule.symbols index 7f93d361dd9..be76ccfbfad 100644 --- a/tests/baselines/reference/cloduleWithPriorUninstantiatedModule.symbols +++ b/tests/baselines/reference/cloduleWithPriorUninstantiatedModule.symbols @@ -7,7 +7,7 @@ module Moclodule { >Someinterface : Symbol(Someinterface, Decl(cloduleWithPriorUninstantiatedModule.ts, 1, 18)) foo(): void; ->foo : Symbol(foo, Decl(cloduleWithPriorUninstantiatedModule.ts, 2, 36)) +>foo : Symbol(Someinterface.foo, Decl(cloduleWithPriorUninstantiatedModule.ts, 2, 36)) } } diff --git a/tests/baselines/reference/collisionArgumentsInterfaceMembers.symbols b/tests/baselines/reference/collisionArgumentsInterfaceMembers.symbols index a8856c37a4c..f0a82bec521 100644 --- a/tests/baselines/reference/collisionArgumentsInterfaceMembers.symbols +++ b/tests/baselines/reference/collisionArgumentsInterfaceMembers.symbols @@ -48,16 +48,16 @@ interface i3 { >i3 : Symbol(i3, Decl(collisionArgumentsInterfaceMembers.ts, 20, 1)) foo(i: number, ...arguments); // no error - no code gen ->foo : Symbol(foo, Decl(collisionArgumentsInterfaceMembers.ts, 23, 14)) +>foo : Symbol(i3.foo, Decl(collisionArgumentsInterfaceMembers.ts, 23, 14)) >i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 24, 8)) >arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 24, 18)) foo1(arguments: number, ...rest); // no error - no code gen ->foo1 : Symbol(foo1, Decl(collisionArgumentsInterfaceMembers.ts, 24, 33)) +>foo1 : Symbol(i3.foo1, Decl(collisionArgumentsInterfaceMembers.ts, 24, 33)) >arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 25, 9)) >rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 25, 27)) fooNoError(arguments: number); // no error ->fooNoError : Symbol(fooNoError, Decl(collisionArgumentsInterfaceMembers.ts, 25, 37)) +>fooNoError : Symbol(i3.fooNoError, Decl(collisionArgumentsInterfaceMembers.ts, 25, 37)) >arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 26, 15)) } diff --git a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.symbols b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.symbols index 28665abd098..ce003b9c878 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.symbols +++ b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.symbols @@ -23,7 +23,7 @@ module M { >d : Symbol(d, Decl(collisionCodeGenModuleWithConstructorChildren.ts, 8, 10)) constructor(private M, p = x) { ->M : Symbol(M, Decl(collisionCodeGenModuleWithConstructorChildren.ts, 10, 20)) +>M : Symbol(d.M, Decl(collisionCodeGenModuleWithConstructorChildren.ts, 10, 20)) >p : Symbol(p, Decl(collisionCodeGenModuleWithConstructorChildren.ts, 10, 30)) >x : Symbol(x, Decl(collisionCodeGenModuleWithConstructorChildren.ts, 1, 14)) } diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.symbols b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.symbols index 02105ce42e6..87c90bfb480 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.symbols +++ b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.symbols @@ -9,7 +9,7 @@ module M { >c : Symbol(c, Decl(collisionCodeGenModuleWithMethodChildren.ts, 1, 21)) fn(M, p = x) { } ->fn : Symbol(fn, Decl(collisionCodeGenModuleWithMethodChildren.ts, 2, 13)) +>fn : Symbol(c.fn, Decl(collisionCodeGenModuleWithMethodChildren.ts, 2, 13)) >M : Symbol(M, Decl(collisionCodeGenModuleWithMethodChildren.ts, 3, 11)) >p : Symbol(p, Decl(collisionCodeGenModuleWithMethodChildren.ts, 3, 13)) >x : Symbol(x, Decl(collisionCodeGenModuleWithMethodChildren.ts, 1, 14)) @@ -23,7 +23,7 @@ module M { >d : Symbol(d, Decl(collisionCodeGenModuleWithMethodChildren.ts, 7, 10)) fn2() { ->fn2 : Symbol(fn2, Decl(collisionCodeGenModuleWithMethodChildren.ts, 8, 13)) +>fn2 : Symbol(d.fn2, Decl(collisionCodeGenModuleWithMethodChildren.ts, 8, 13)) var M; >M : Symbol(M, Decl(collisionCodeGenModuleWithMethodChildren.ts, 10, 15)) @@ -42,7 +42,7 @@ module M { >e : Symbol(e, Decl(collisionCodeGenModuleWithMethodChildren.ts, 16, 10)) fn3() { ->fn3 : Symbol(fn3, Decl(collisionCodeGenModuleWithMethodChildren.ts, 17, 13)) +>fn3 : Symbol(e.fn3, Decl(collisionCodeGenModuleWithMethodChildren.ts, 17, 13)) function M() { >M : Symbol(M, Decl(collisionCodeGenModuleWithMethodChildren.ts, 18, 15)) @@ -62,7 +62,7 @@ module M { // Shouldnt bn _M >f : Symbol(f, Decl(collisionCodeGenModuleWithMethodChildren.ts, 26, 10)) M() { ->M : Symbol(M, Decl(collisionCodeGenModuleWithMethodChildren.ts, 27, 13)) +>M : Symbol(f.M, Decl(collisionCodeGenModuleWithMethodChildren.ts, 27, 13)) } } } diff --git a/tests/baselines/reference/collisionRestParameterClassConstructor.symbols b/tests/baselines/reference/collisionRestParameterClassConstructor.symbols index 895cb0f8df4..4b1f20cc26e 100644 --- a/tests/baselines/reference/collisionRestParameterClassConstructor.symbols +++ b/tests/baselines/reference/collisionRestParameterClassConstructor.symbols @@ -45,7 +45,7 @@ class c3 { >c3 : Symbol(c3, Decl(collisionRestParameterClassConstructor.ts, 21, 1)) constructor(public _i: number, ...restParameters) { //_i is error ->_i : Symbol(_i, Decl(collisionRestParameterClassConstructor.ts, 24, 16)) +>_i : Symbol(c3._i, Decl(collisionRestParameterClassConstructor.ts, 24, 16)) >restParameters : Symbol(restParameters, Decl(collisionRestParameterClassConstructor.ts, 24, 34)) var _i = 10; // no error @@ -56,7 +56,7 @@ class c3NoError { >c3NoError : Symbol(c3NoError, Decl(collisionRestParameterClassConstructor.ts, 27, 1)) constructor(public _i: number) { // no error ->_i : Symbol(_i, Decl(collisionRestParameterClassConstructor.ts, 29, 16)) +>_i : Symbol(c3NoError._i, Decl(collisionRestParameterClassConstructor.ts, 29, 16)) var _i = 10; // no error >_i : Symbol(_i, Decl(collisionRestParameterClassConstructor.ts, 29, 16), Decl(collisionRestParameterClassConstructor.ts, 30, 11)) diff --git a/tests/baselines/reference/collisionRestParameterClassMethod.symbols b/tests/baselines/reference/collisionRestParameterClassMethod.symbols index 838736e33ce..e7f975b26b3 100644 --- a/tests/baselines/reference/collisionRestParameterClassMethod.symbols +++ b/tests/baselines/reference/collisionRestParameterClassMethod.symbols @@ -3,7 +3,7 @@ class c1 { >c1 : Symbol(c1, Decl(collisionRestParameterClassMethod.ts, 0, 0)) public foo(_i: number, ...restParameters) { //_i is error ->foo : Symbol(foo, Decl(collisionRestParameterClassMethod.ts, 0, 10)) +>foo : Symbol(c1.foo, Decl(collisionRestParameterClassMethod.ts, 0, 10)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 1, 15), Decl(collisionRestParameterClassMethod.ts, 2, 11)) >restParameters : Symbol(restParameters, Decl(collisionRestParameterClassMethod.ts, 1, 26)) @@ -11,24 +11,24 @@ class c1 { >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 1, 15), Decl(collisionRestParameterClassMethod.ts, 2, 11)) } public fooNoError(_i: number) { // no error ->fooNoError : Symbol(fooNoError, Decl(collisionRestParameterClassMethod.ts, 3, 5)) +>fooNoError : Symbol(c1.fooNoError, Decl(collisionRestParameterClassMethod.ts, 3, 5)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 4, 22), Decl(collisionRestParameterClassMethod.ts, 5, 11)) var _i = 10; // no error >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 4, 22), Decl(collisionRestParameterClassMethod.ts, 5, 11)) } public f4(_i: number, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) +>f4 : Symbol(c1.f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 7, 14)) >rest : Symbol(rest, Decl(collisionRestParameterClassMethod.ts, 7, 25)) public f4(_i: string, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) +>f4 : Symbol(c1.f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 8, 14)) >rest : Symbol(rest, Decl(collisionRestParameterClassMethod.ts, 8, 25)) public f4(_i: any, ...rest) { // error ->f4 : Symbol(f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) +>f4 : Symbol(c1.f4, Decl(collisionRestParameterClassMethod.ts, 6, 5), Decl(collisionRestParameterClassMethod.ts, 7, 35), Decl(collisionRestParameterClassMethod.ts, 8, 35)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 9, 14), Decl(collisionRestParameterClassMethod.ts, 10, 11)) >rest : Symbol(rest, Decl(collisionRestParameterClassMethod.ts, 9, 22)) @@ -37,15 +37,15 @@ class c1 { } public f4NoError(_i: number); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) +>f4NoError : Symbol(c1.f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 13, 21)) public f4NoError(_i: string); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) +>f4NoError : Symbol(c1.f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 14, 21)) public f4NoError(_i: any) { // no error ->f4NoError : Symbol(f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) +>f4NoError : Symbol(c1.f4NoError, Decl(collisionRestParameterClassMethod.ts, 11, 5), Decl(collisionRestParameterClassMethod.ts, 13, 33), Decl(collisionRestParameterClassMethod.ts, 14, 33)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 15, 21), Decl(collisionRestParameterClassMethod.ts, 16, 11)) var _i: any; // no error @@ -57,30 +57,30 @@ declare class c2 { >c2 : Symbol(c2, Decl(collisionRestParameterClassMethod.ts, 18, 1)) public foo(_i: number, ...restParameters); // No error - no code gen ->foo : Symbol(foo, Decl(collisionRestParameterClassMethod.ts, 20, 18)) +>foo : Symbol(c2.foo, Decl(collisionRestParameterClassMethod.ts, 20, 18)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 21, 15)) >restParameters : Symbol(restParameters, Decl(collisionRestParameterClassMethod.ts, 21, 26)) public fooNoError(_i: number); // no error ->fooNoError : Symbol(fooNoError, Decl(collisionRestParameterClassMethod.ts, 21, 46)) +>fooNoError : Symbol(c2.fooNoError, Decl(collisionRestParameterClassMethod.ts, 21, 46)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 22, 22)) public f4(_i: number, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionRestParameterClassMethod.ts, 22, 34), Decl(collisionRestParameterClassMethod.ts, 24, 35)) +>f4 : Symbol(c2.f4, Decl(collisionRestParameterClassMethod.ts, 22, 34), Decl(collisionRestParameterClassMethod.ts, 24, 35)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 24, 14)) >rest : Symbol(rest, Decl(collisionRestParameterClassMethod.ts, 24, 25)) public f4(_i: string, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionRestParameterClassMethod.ts, 22, 34), Decl(collisionRestParameterClassMethod.ts, 24, 35)) +>f4 : Symbol(c2.f4, Decl(collisionRestParameterClassMethod.ts, 22, 34), Decl(collisionRestParameterClassMethod.ts, 24, 35)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 25, 14)) >rest : Symbol(rest, Decl(collisionRestParameterClassMethod.ts, 25, 25)) public f4NoError(_i: number); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionRestParameterClassMethod.ts, 25, 35), Decl(collisionRestParameterClassMethod.ts, 26, 33)) +>f4NoError : Symbol(c2.f4NoError, Decl(collisionRestParameterClassMethod.ts, 25, 35), Decl(collisionRestParameterClassMethod.ts, 26, 33)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 26, 21)) public f4NoError(_i: string); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionRestParameterClassMethod.ts, 25, 35), Decl(collisionRestParameterClassMethod.ts, 26, 33)) +>f4NoError : Symbol(c2.f4NoError, Decl(collisionRestParameterClassMethod.ts, 25, 35), Decl(collisionRestParameterClassMethod.ts, 26, 33)) >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 27, 21)) } @@ -88,14 +88,14 @@ class c3 { >c3 : Symbol(c3, Decl(collisionRestParameterClassMethod.ts, 28, 1)) public foo(...restParameters) { ->foo : Symbol(foo, Decl(collisionRestParameterClassMethod.ts, 30, 10)) +>foo : Symbol(c3.foo, Decl(collisionRestParameterClassMethod.ts, 30, 10)) >restParameters : Symbol(restParameters, Decl(collisionRestParameterClassMethod.ts, 31, 15)) var _i = 10; // no error >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 32, 11)) } public fooNoError() { ->fooNoError : Symbol(fooNoError, Decl(collisionRestParameterClassMethod.ts, 33, 5)) +>fooNoError : Symbol(c3.fooNoError, Decl(collisionRestParameterClassMethod.ts, 33, 5)) var _i = 10; // no error >_i : Symbol(_i, Decl(collisionRestParameterClassMethod.ts, 35, 11)) diff --git a/tests/baselines/reference/collisionRestParameterInterfaceMembers.symbols b/tests/baselines/reference/collisionRestParameterInterfaceMembers.symbols index 448346c0838..4c99c7eec06 100644 --- a/tests/baselines/reference/collisionRestParameterInterfaceMembers.symbols +++ b/tests/baselines/reference/collisionRestParameterInterfaceMembers.symbols @@ -34,11 +34,11 @@ interface i3 { >i3 : Symbol(i3, Decl(collisionRestParameterInterfaceMembers.ts, 14, 1)) foo (_i: number, ...restParameters); // no error - no code gen ->foo : Symbol(foo, Decl(collisionRestParameterInterfaceMembers.ts, 17, 14)) +>foo : Symbol(i3.foo, Decl(collisionRestParameterInterfaceMembers.ts, 17, 14)) >_i : Symbol(_i, Decl(collisionRestParameterInterfaceMembers.ts, 18, 9)) >restParameters : Symbol(restParameters, Decl(collisionRestParameterInterfaceMembers.ts, 18, 20)) fooNoError (_i: number); // no error ->fooNoError : Symbol(fooNoError, Decl(collisionRestParameterInterfaceMembers.ts, 18, 40)) +>fooNoError : Symbol(i3.fooNoError, Decl(collisionRestParameterInterfaceMembers.ts, 18, 40)) >_i : Symbol(_i, Decl(collisionRestParameterInterfaceMembers.ts, 19, 16)) } diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols index 3b8473318c0..19f69513354 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols @@ -19,7 +19,7 @@ class CLASS { >CLASS : Symbol(CLASS, Decl(commaOperatorWithSecondOperandObjectType.ts, 4, 19)) num: number; ->num : Symbol(num, Decl(commaOperatorWithSecondOperandObjectType.ts, 6, 13)) +>num : Symbol(CLASS.num, Decl(commaOperatorWithSecondOperandObjectType.ts, 6, 13)) } //The second operand type is Object diff --git a/tests/baselines/reference/commentOnAmbientModule.symbols b/tests/baselines/reference/commentOnAmbientModule.symbols index e7525e6306f..60d5dfe66fa 100644 --- a/tests/baselines/reference/commentOnAmbientModule.symbols +++ b/tests/baselines/reference/commentOnAmbientModule.symbols @@ -10,7 +10,7 @@ declare module E { >bar : Symbol(D.bar, Decl(a.ts, 11, 18)) foo(); ->foo : Symbol(foo, Decl(b.ts, 2, 32)) +>foo : Symbol(foobar.foo, Decl(b.ts, 2, 32)) } } === tests/cases/compiler/a.ts === diff --git a/tests/baselines/reference/commentOnClassMethod1.symbols b/tests/baselines/reference/commentOnClassMethod1.symbols index 18caefb744b..8fdb04c0e10 100644 --- a/tests/baselines/reference/commentOnClassMethod1.symbols +++ b/tests/baselines/reference/commentOnClassMethod1.symbols @@ -6,6 +6,6 @@ class WebControls { * Render a control */ createControl(): any { ->createControl : Symbol(createControl, Decl(commentOnClassMethod1.ts, 0, 19)) +>createControl : Symbol(WebControls.createControl, Decl(commentOnClassMethod1.ts, 0, 19)) } } diff --git a/tests/baselines/reference/commentOnSignature1.symbols b/tests/baselines/reference/commentOnSignature1.symbols index 7f0d48401cd..719544e21e6 100644 --- a/tests/baselines/reference/commentOnSignature1.symbols +++ b/tests/baselines/reference/commentOnSignature1.symbols @@ -51,16 +51,16 @@ class c { // dont keep this comment foo(a: string); ->foo : Symbol(foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) +>foo : Symbol(c.foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) >a : Symbol(a, Decl(a.ts, 21, 8)) /*! keep this pinned comment */ foo(a: number); ->foo : Symbol(foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) +>foo : Symbol(c.foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) >a : Symbol(a, Decl(a.ts, 23, 8)) foo(a: any) { ->foo : Symbol(foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) +>foo : Symbol(c.foo, Decl(a.ts, 18, 5), Decl(a.ts, 21, 19), Decl(a.ts, 23, 19)) >a : Symbol(a, Decl(a.ts, 24, 8)) } } diff --git a/tests/baselines/reference/commentsClassMembers.symbols b/tests/baselines/reference/commentsClassMembers.symbols index dd014611df7..4cbf1292c10 100644 --- a/tests/baselines/reference/commentsClassMembers.symbols +++ b/tests/baselines/reference/commentsClassMembers.symbols @@ -6,88 +6,88 @@ class c1 { /** p1 is property of c1*/ public p1: number; ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) /** sum with property*/ public p2(/** number to add*/b: number) { ->p2 : Symbol(p2, Decl(commentsClassMembers.ts, 4, 22)) +>p2 : Symbol(c1.p2, Decl(commentsClassMembers.ts, 4, 22)) >b : Symbol(b, Decl(commentsClassMembers.ts, 6, 14)) return this.p1 + b; ->this.p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>this.p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >b : Symbol(b, Decl(commentsClassMembers.ts, 6, 14)) } /* trailing comment of method*/ /** getter property*/ public get p3() { ->p3 : Symbol(p3, Decl(commentsClassMembers.ts, 8, 5), Decl(commentsClassMembers.ts, 12, 5)) +>p3 : Symbol(c1.p3, Decl(commentsClassMembers.ts, 8, 5), Decl(commentsClassMembers.ts, 12, 5)) return this.p2(this.p1); ->this.p2 : Symbol(p2, Decl(commentsClassMembers.ts, 4, 22)) +>this.p2 : Symbol(c1.p2, Decl(commentsClassMembers.ts, 4, 22)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p2 : Symbol(p2, Decl(commentsClassMembers.ts, 4, 22)) ->this.p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>p2 : Symbol(c1.p2, Decl(commentsClassMembers.ts, 4, 22)) +>this.p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) }// trailing comment Getter /** setter property*/ public set p3(/** this is value*/value: number) { ->p3 : Symbol(p3, Decl(commentsClassMembers.ts, 8, 5), Decl(commentsClassMembers.ts, 12, 5)) +>p3 : Symbol(c1.p3, Decl(commentsClassMembers.ts, 8, 5), Decl(commentsClassMembers.ts, 12, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 14, 18)) this.p1 = this.p2(value); ->this.p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>this.p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) ->this.p2 : Symbol(p2, Decl(commentsClassMembers.ts, 4, 22)) +>p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) +>this.p2 : Symbol(c1.p2, Decl(commentsClassMembers.ts, 4, 22)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p2 : Symbol(p2, Decl(commentsClassMembers.ts, 4, 22)) +>p2 : Symbol(c1.p2, Decl(commentsClassMembers.ts, 4, 22)) >value : Symbol(value, Decl(commentsClassMembers.ts, 14, 18)) }// trailing comment Setter /** pp1 is property of c1*/ private pp1: number; ->pp1 : Symbol(pp1, Decl(commentsClassMembers.ts, 16, 5)) +>pp1 : Symbol(c1.pp1, Decl(commentsClassMembers.ts, 16, 5)) /** sum with property*/ private pp2(/** number to add*/b: number) { ->pp2 : Symbol(pp2, Decl(commentsClassMembers.ts, 18, 24)) +>pp2 : Symbol(c1.pp2, Decl(commentsClassMembers.ts, 18, 24)) >b : Symbol(b, Decl(commentsClassMembers.ts, 20, 16)) return this.p1 + b; ->this.p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>this.p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 2, 10)) +>p1 : Symbol(c1.p1, Decl(commentsClassMembers.ts, 2, 10)) >b : Symbol(b, Decl(commentsClassMembers.ts, 20, 16)) } // trailing comment of method /** getter property*/ private get pp3() { ->pp3 : Symbol(pp3, Decl(commentsClassMembers.ts, 22, 5), Decl(commentsClassMembers.ts, 26, 5)) +>pp3 : Symbol(c1.pp3, Decl(commentsClassMembers.ts, 22, 5), Decl(commentsClassMembers.ts, 26, 5)) return this.pp2(this.pp1); ->this.pp2 : Symbol(pp2, Decl(commentsClassMembers.ts, 18, 24)) +>this.pp2 : Symbol(c1.pp2, Decl(commentsClassMembers.ts, 18, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->pp2 : Symbol(pp2, Decl(commentsClassMembers.ts, 18, 24)) ->this.pp1 : Symbol(pp1, Decl(commentsClassMembers.ts, 16, 5)) +>pp2 : Symbol(c1.pp2, Decl(commentsClassMembers.ts, 18, 24)) +>this.pp1 : Symbol(c1.pp1, Decl(commentsClassMembers.ts, 16, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->pp1 : Symbol(pp1, Decl(commentsClassMembers.ts, 16, 5)) +>pp1 : Symbol(c1.pp1, Decl(commentsClassMembers.ts, 16, 5)) } /** setter property*/ private set pp3( /** this is value*/value: number) { ->pp3 : Symbol(pp3, Decl(commentsClassMembers.ts, 22, 5), Decl(commentsClassMembers.ts, 26, 5)) +>pp3 : Symbol(c1.pp3, Decl(commentsClassMembers.ts, 22, 5), Decl(commentsClassMembers.ts, 26, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 28, 20)) this.pp1 = this.pp2(value); ->this.pp1 : Symbol(pp1, Decl(commentsClassMembers.ts, 16, 5)) +>this.pp1 : Symbol(c1.pp1, Decl(commentsClassMembers.ts, 16, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->pp1 : Symbol(pp1, Decl(commentsClassMembers.ts, 16, 5)) ->this.pp2 : Symbol(pp2, Decl(commentsClassMembers.ts, 18, 24)) +>pp1 : Symbol(c1.pp1, Decl(commentsClassMembers.ts, 16, 5)) +>this.pp2 : Symbol(c1.pp2, Decl(commentsClassMembers.ts, 18, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->pp2 : Symbol(pp2, Decl(commentsClassMembers.ts, 18, 24)) +>pp2 : Symbol(c1.pp2, Decl(commentsClassMembers.ts, 18, 24)) >value : Symbol(value, Decl(commentsClassMembers.ts, 28, 20)) } /** Constructor method*/ @@ -137,77 +137,77 @@ class c1 { }/*trailing comment 2 */ /*setter*/ public nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) public nc_p2(b: number) { ->nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 48, 25)) +>nc_p2 : Symbol(c1.nc_p2, Decl(commentsClassMembers.ts, 48, 25)) >b : Symbol(b, Decl(commentsClassMembers.ts, 49, 17)) return this.nc_p1 + b; ->this.nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>this.nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 49, 17)) } public get nc_p3() { ->nc_p3 : Symbol(nc_p3, Decl(commentsClassMembers.ts, 51, 5), Decl(commentsClassMembers.ts, 54, 5)) +>nc_p3 : Symbol(c1.nc_p3, Decl(commentsClassMembers.ts, 51, 5), Decl(commentsClassMembers.ts, 54, 5)) return this.nc_p2(this.nc_p1); ->this.nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 48, 25)) +>this.nc_p2 : Symbol(c1.nc_p2, Decl(commentsClassMembers.ts, 48, 25)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 48, 25)) ->this.nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>nc_p2 : Symbol(c1.nc_p2, Decl(commentsClassMembers.ts, 48, 25)) +>this.nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) } public set nc_p3(value: number) { ->nc_p3 : Symbol(nc_p3, Decl(commentsClassMembers.ts, 51, 5), Decl(commentsClassMembers.ts, 54, 5)) +>nc_p3 : Symbol(c1.nc_p3, Decl(commentsClassMembers.ts, 51, 5), Decl(commentsClassMembers.ts, 54, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 55, 21)) this.nc_p1 = this.nc_p2(value); ->this.nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>this.nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 47, 5)) ->this.nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 48, 25)) +>nc_p1 : Symbol(c1.nc_p1, Decl(commentsClassMembers.ts, 47, 5)) +>this.nc_p2 : Symbol(c1.nc_p2, Decl(commentsClassMembers.ts, 48, 25)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 48, 25)) +>nc_p2 : Symbol(c1.nc_p2, Decl(commentsClassMembers.ts, 48, 25)) >value : Symbol(value, Decl(commentsClassMembers.ts, 55, 21)) } private nc_pp1: number; ->nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) private nc_pp2(b: number) { ->nc_pp2 : Symbol(nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) +>nc_pp2 : Symbol(c1.nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) >b : Symbol(b, Decl(commentsClassMembers.ts, 59, 19)) return this.nc_pp1 + b; ->this.nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>this.nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 59, 19)) } private get nc_pp3() { ->nc_pp3 : Symbol(nc_pp3, Decl(commentsClassMembers.ts, 61, 5), Decl(commentsClassMembers.ts, 64, 5)) +>nc_pp3 : Symbol(c1.nc_pp3, Decl(commentsClassMembers.ts, 61, 5), Decl(commentsClassMembers.ts, 64, 5)) return this.nc_pp2(this.nc_pp1); ->this.nc_pp2 : Symbol(nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) +>this.nc_pp2 : Symbol(c1.nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_pp2 : Symbol(nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) ->this.nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>nc_pp2 : Symbol(c1.nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) +>this.nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) } private set nc_pp3(value: number) { ->nc_pp3 : Symbol(nc_pp3, Decl(commentsClassMembers.ts, 61, 5), Decl(commentsClassMembers.ts, 64, 5)) +>nc_pp3 : Symbol(c1.nc_pp3, Decl(commentsClassMembers.ts, 61, 5), Decl(commentsClassMembers.ts, 64, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 65, 23)) this.nc_pp1 = this.nc_pp2(value); ->this.nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>this.nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_pp1 : Symbol(nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) ->this.nc_pp2 : Symbol(nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) +>nc_pp1 : Symbol(c1.nc_pp1, Decl(commentsClassMembers.ts, 57, 5)) +>this.nc_pp2 : Symbol(c1.nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->nc_pp2 : Symbol(nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) +>nc_pp2 : Symbol(c1.nc_pp2, Decl(commentsClassMembers.ts, 58, 27)) >value : Symbol(value, Decl(commentsClassMembers.ts, 65, 23)) } static nc_s1: number; @@ -250,84 +250,84 @@ class c1 { // p1 is property of c1 public a_p1: number; ->a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) // sum with property public a_p2(b: number) { ->a_p2 : Symbol(a_p2, Decl(commentsClassMembers.ts, 80, 24)) +>a_p2 : Symbol(c1.a_p2, Decl(commentsClassMembers.ts, 80, 24)) >b : Symbol(b, Decl(commentsClassMembers.ts, 82, 16)) return this.a_p1 + b; ->this.a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>this.a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 82, 16)) } // getter property public get a_p3() { ->a_p3 : Symbol(a_p3, Decl(commentsClassMembers.ts, 84, 5), Decl(commentsClassMembers.ts, 88, 5)) +>a_p3 : Symbol(c1.a_p3, Decl(commentsClassMembers.ts, 84, 5), Decl(commentsClassMembers.ts, 88, 5)) return this.a_p2(this.a_p1); ->this.a_p2 : Symbol(a_p2, Decl(commentsClassMembers.ts, 80, 24)) +>this.a_p2 : Symbol(c1.a_p2, Decl(commentsClassMembers.ts, 80, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p2 : Symbol(a_p2, Decl(commentsClassMembers.ts, 80, 24)) ->this.a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>a_p2 : Symbol(c1.a_p2, Decl(commentsClassMembers.ts, 80, 24)) +>this.a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) } // setter property public set a_p3(value: number) { ->a_p3 : Symbol(a_p3, Decl(commentsClassMembers.ts, 84, 5), Decl(commentsClassMembers.ts, 88, 5)) +>a_p3 : Symbol(c1.a_p3, Decl(commentsClassMembers.ts, 84, 5), Decl(commentsClassMembers.ts, 88, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 90, 20)) this.a_p1 = this.a_p2(value); ->this.a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>this.a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) ->this.a_p2 : Symbol(a_p2, Decl(commentsClassMembers.ts, 80, 24)) +>a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>this.a_p2 : Symbol(c1.a_p2, Decl(commentsClassMembers.ts, 80, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p2 : Symbol(a_p2, Decl(commentsClassMembers.ts, 80, 24)) +>a_p2 : Symbol(c1.a_p2, Decl(commentsClassMembers.ts, 80, 24)) >value : Symbol(value, Decl(commentsClassMembers.ts, 90, 20)) } // pp1 is property of c1 private a_pp1: number; ->a_pp1 : Symbol(a_pp1, Decl(commentsClassMembers.ts, 92, 5)) +>a_pp1 : Symbol(c1.a_pp1, Decl(commentsClassMembers.ts, 92, 5)) // sum with property private a_pp2(b: number) { ->a_pp2 : Symbol(a_pp2, Decl(commentsClassMembers.ts, 94, 26)) +>a_pp2 : Symbol(c1.a_pp2, Decl(commentsClassMembers.ts, 94, 26)) >b : Symbol(b, Decl(commentsClassMembers.ts, 96, 18)) return this.a_p1 + b; ->this.a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>this.a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_p1 : Symbol(a_p1, Decl(commentsClassMembers.ts, 77, 5)) +>a_p1 : Symbol(c1.a_p1, Decl(commentsClassMembers.ts, 77, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 96, 18)) } // getter property private get a_pp3() { ->a_pp3 : Symbol(a_pp3, Decl(commentsClassMembers.ts, 98, 5), Decl(commentsClassMembers.ts, 102, 5)) +>a_pp3 : Symbol(c1.a_pp3, Decl(commentsClassMembers.ts, 98, 5), Decl(commentsClassMembers.ts, 102, 5)) return this.a_pp2(this.a_pp1); ->this.a_pp2 : Symbol(a_pp2, Decl(commentsClassMembers.ts, 94, 26)) +>this.a_pp2 : Symbol(c1.a_pp2, Decl(commentsClassMembers.ts, 94, 26)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_pp2 : Symbol(a_pp2, Decl(commentsClassMembers.ts, 94, 26)) ->this.a_pp1 : Symbol(a_pp1, Decl(commentsClassMembers.ts, 92, 5)) +>a_pp2 : Symbol(c1.a_pp2, Decl(commentsClassMembers.ts, 94, 26)) +>this.a_pp1 : Symbol(c1.a_pp1, Decl(commentsClassMembers.ts, 92, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_pp1 : Symbol(a_pp1, Decl(commentsClassMembers.ts, 92, 5)) +>a_pp1 : Symbol(c1.a_pp1, Decl(commentsClassMembers.ts, 92, 5)) } // setter property private set a_pp3(value: number) { ->a_pp3 : Symbol(a_pp3, Decl(commentsClassMembers.ts, 98, 5), Decl(commentsClassMembers.ts, 102, 5)) +>a_pp3 : Symbol(c1.a_pp3, Decl(commentsClassMembers.ts, 98, 5), Decl(commentsClassMembers.ts, 102, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 104, 22)) this.a_pp1 = this.a_pp2(value); ->this.a_pp1 : Symbol(a_pp1, Decl(commentsClassMembers.ts, 92, 5)) +>this.a_pp1 : Symbol(c1.a_pp1, Decl(commentsClassMembers.ts, 92, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_pp1 : Symbol(a_pp1, Decl(commentsClassMembers.ts, 92, 5)) ->this.a_pp2 : Symbol(a_pp2, Decl(commentsClassMembers.ts, 94, 26)) +>a_pp1 : Symbol(c1.a_pp1, Decl(commentsClassMembers.ts, 92, 5)) +>this.a_pp2 : Symbol(c1.a_pp2, Decl(commentsClassMembers.ts, 94, 26)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->a_pp2 : Symbol(a_pp2, Decl(commentsClassMembers.ts, 94, 26)) +>a_pp2 : Symbol(c1.a_pp2, Decl(commentsClassMembers.ts, 94, 26)) >value : Symbol(value, Decl(commentsClassMembers.ts, 104, 22)) } @@ -376,84 +376,84 @@ class c1 { /** p1 is property of c1 */ public b_p1: number; ->b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) /** sum with property */ public b_p2(b: number) { ->b_p2 : Symbol(b_p2, Decl(commentsClassMembers.ts, 125, 24)) +>b_p2 : Symbol(c1.b_p2, Decl(commentsClassMembers.ts, 125, 24)) >b : Symbol(b, Decl(commentsClassMembers.ts, 127, 16)) return this.b_p1 + b; ->this.b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>this.b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 127, 16)) } /** getter property */ public get b_p3() { ->b_p3 : Symbol(b_p3, Decl(commentsClassMembers.ts, 129, 5), Decl(commentsClassMembers.ts, 133, 5)) +>b_p3 : Symbol(c1.b_p3, Decl(commentsClassMembers.ts, 129, 5), Decl(commentsClassMembers.ts, 133, 5)) return this.b_p2(this.b_p1); ->this.b_p2 : Symbol(b_p2, Decl(commentsClassMembers.ts, 125, 24)) +>this.b_p2 : Symbol(c1.b_p2, Decl(commentsClassMembers.ts, 125, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p2 : Symbol(b_p2, Decl(commentsClassMembers.ts, 125, 24)) ->this.b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>b_p2 : Symbol(c1.b_p2, Decl(commentsClassMembers.ts, 125, 24)) +>this.b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) } /** setter property */ public set b_p3(value: number) { ->b_p3 : Symbol(b_p3, Decl(commentsClassMembers.ts, 129, 5), Decl(commentsClassMembers.ts, 133, 5)) +>b_p3 : Symbol(c1.b_p3, Decl(commentsClassMembers.ts, 129, 5), Decl(commentsClassMembers.ts, 133, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 135, 20)) this.b_p1 = this.b_p2(value); ->this.b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>this.b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) ->this.b_p2 : Symbol(b_p2, Decl(commentsClassMembers.ts, 125, 24)) +>b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>this.b_p2 : Symbol(c1.b_p2, Decl(commentsClassMembers.ts, 125, 24)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p2 : Symbol(b_p2, Decl(commentsClassMembers.ts, 125, 24)) +>b_p2 : Symbol(c1.b_p2, Decl(commentsClassMembers.ts, 125, 24)) >value : Symbol(value, Decl(commentsClassMembers.ts, 135, 20)) } /** pp1 is property of c1 */ private b_pp1: number; ->b_pp1 : Symbol(b_pp1, Decl(commentsClassMembers.ts, 137, 5)) +>b_pp1 : Symbol(c1.b_pp1, Decl(commentsClassMembers.ts, 137, 5)) /** sum with property */ private b_pp2(b: number) { ->b_pp2 : Symbol(b_pp2, Decl(commentsClassMembers.ts, 139, 26)) +>b_pp2 : Symbol(c1.b_pp2, Decl(commentsClassMembers.ts, 139, 26)) >b : Symbol(b, Decl(commentsClassMembers.ts, 141, 18)) return this.b_p1 + b; ->this.b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>this.b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_p1 : Symbol(b_p1, Decl(commentsClassMembers.ts, 122, 5)) +>b_p1 : Symbol(c1.b_p1, Decl(commentsClassMembers.ts, 122, 5)) >b : Symbol(b, Decl(commentsClassMembers.ts, 141, 18)) } /** getter property */ private get b_pp3() { ->b_pp3 : Symbol(b_pp3, Decl(commentsClassMembers.ts, 143, 5), Decl(commentsClassMembers.ts, 147, 5)) +>b_pp3 : Symbol(c1.b_pp3, Decl(commentsClassMembers.ts, 143, 5), Decl(commentsClassMembers.ts, 147, 5)) return this.b_pp2(this.b_pp1); ->this.b_pp2 : Symbol(b_pp2, Decl(commentsClassMembers.ts, 139, 26)) +>this.b_pp2 : Symbol(c1.b_pp2, Decl(commentsClassMembers.ts, 139, 26)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_pp2 : Symbol(b_pp2, Decl(commentsClassMembers.ts, 139, 26)) ->this.b_pp1 : Symbol(b_pp1, Decl(commentsClassMembers.ts, 137, 5)) +>b_pp2 : Symbol(c1.b_pp2, Decl(commentsClassMembers.ts, 139, 26)) +>this.b_pp1 : Symbol(c1.b_pp1, Decl(commentsClassMembers.ts, 137, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_pp1 : Symbol(b_pp1, Decl(commentsClassMembers.ts, 137, 5)) +>b_pp1 : Symbol(c1.b_pp1, Decl(commentsClassMembers.ts, 137, 5)) } /** setter property */ private set b_pp3(value: number) { ->b_pp3 : Symbol(b_pp3, Decl(commentsClassMembers.ts, 143, 5), Decl(commentsClassMembers.ts, 147, 5)) +>b_pp3 : Symbol(c1.b_pp3, Decl(commentsClassMembers.ts, 143, 5), Decl(commentsClassMembers.ts, 147, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 149, 22)) this.b_pp1 = this.b_pp2(value); ->this.b_pp1 : Symbol(b_pp1, Decl(commentsClassMembers.ts, 137, 5)) +>this.b_pp1 : Symbol(c1.b_pp1, Decl(commentsClassMembers.ts, 137, 5)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_pp1 : Symbol(b_pp1, Decl(commentsClassMembers.ts, 137, 5)) ->this.b_pp2 : Symbol(b_pp2, Decl(commentsClassMembers.ts, 139, 26)) +>b_pp1 : Symbol(c1.b_pp1, Decl(commentsClassMembers.ts, 137, 5)) +>this.b_pp2 : Symbol(c1.b_pp2, Decl(commentsClassMembers.ts, 139, 26)) >this : Symbol(c1, Decl(commentsClassMembers.ts, 0, 0)) ->b_pp2 : Symbol(b_pp2, Decl(commentsClassMembers.ts, 139, 26)) +>b_pp2 : Symbol(c1.b_pp2, Decl(commentsClassMembers.ts, 139, 26)) >value : Symbol(value, Decl(commentsClassMembers.ts, 149, 22)) } @@ -635,54 +635,54 @@ class cProperties { >cProperties : Symbol(cProperties, Decl(commentsClassMembers.ts, 193, 14)) private val: number; ->val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) /** getter only property*/ public get p1() { ->p1 : Symbol(p1, Decl(commentsClassMembers.ts, 195, 24)) +>p1 : Symbol(cProperties.p1, Decl(commentsClassMembers.ts, 195, 24)) return this.val; ->this.val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>this.val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >this : Symbol(cProperties, Decl(commentsClassMembers.ts, 193, 14)) ->val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) } // trailing comment of only getter public get nc_p1() { ->nc_p1 : Symbol(nc_p1, Decl(commentsClassMembers.ts, 199, 5)) +>nc_p1 : Symbol(cProperties.nc_p1, Decl(commentsClassMembers.ts, 199, 5)) return this.val; ->this.val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>this.val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >this : Symbol(cProperties, Decl(commentsClassMembers.ts, 193, 14)) ->val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) } /**setter only property*/ public set p2(value: number) { ->p2 : Symbol(p2, Decl(commentsClassMembers.ts, 202, 5)) +>p2 : Symbol(cProperties.p2, Decl(commentsClassMembers.ts, 202, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 204, 18)) this.val = value; ->this.val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>this.val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >this : Symbol(cProperties, Decl(commentsClassMembers.ts, 193, 14)) ->val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >value : Symbol(value, Decl(commentsClassMembers.ts, 204, 18)) } public set nc_p2(value: number) { ->nc_p2 : Symbol(nc_p2, Decl(commentsClassMembers.ts, 206, 5)) +>nc_p2 : Symbol(cProperties.nc_p2, Decl(commentsClassMembers.ts, 206, 5)) >value : Symbol(value, Decl(commentsClassMembers.ts, 207, 21)) this.val = value; ->this.val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>this.val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >this : Symbol(cProperties, Decl(commentsClassMembers.ts, 193, 14)) ->val : Symbol(val, Decl(commentsClassMembers.ts, 194, 19)) +>val : Symbol(cProperties.val, Decl(commentsClassMembers.ts, 194, 19)) >value : Symbol(value, Decl(commentsClassMembers.ts, 207, 21)) } /* trailing comment of setter only*/ public x = 10; /*trailing comment for property*/ ->x : Symbol(x, Decl(commentsClassMembers.ts, 209, 5)) +>x : Symbol(cProperties.x, Decl(commentsClassMembers.ts, 209, 5)) private y = 10; // trailing comment of // style ->y : Symbol(y, Decl(commentsClassMembers.ts, 211, 18)) +>y : Symbol(cProperties.y, Decl(commentsClassMembers.ts, 211, 18)) } var cProperties_i = new cProperties(); >cProperties_i : Symbol(cProperties_i, Decl(commentsClassMembers.ts, 214, 3)) diff --git a/tests/baselines/reference/commentsInheritance.symbols b/tests/baselines/reference/commentsInheritance.symbols index f702f40a0d4..288bfdb4280 100644 --- a/tests/baselines/reference/commentsInheritance.symbols +++ b/tests/baselines/reference/commentsInheritance.symbols @@ -6,90 +6,90 @@ interface i1 { /** i1_p1*/ i1_p1: number; ->i1_p1 : Symbol(i1_p1, Decl(commentsInheritance.ts, 2, 14)) +>i1_p1 : Symbol(i1.i1_p1, Decl(commentsInheritance.ts, 2, 14)) /** i1_f1*/ i1_f1(): void; ->i1_f1 : Symbol(i1_f1, Decl(commentsInheritance.ts, 4, 18)) +>i1_f1 : Symbol(i1.i1_f1, Decl(commentsInheritance.ts, 4, 18)) /** i1_l1*/ i1_l1: () => void; ->i1_l1 : Symbol(i1_l1, Decl(commentsInheritance.ts, 6, 18)) +>i1_l1 : Symbol(i1.i1_l1, Decl(commentsInheritance.ts, 6, 18)) // il_nc_p1 i1_nc_p1: number; ->i1_nc_p1 : Symbol(i1_nc_p1, Decl(commentsInheritance.ts, 8, 22)) +>i1_nc_p1 : Symbol(i1.i1_nc_p1, Decl(commentsInheritance.ts, 8, 22)) i1_nc_f1(): void; ->i1_nc_f1 : Symbol(i1_nc_f1, Decl(commentsInheritance.ts, 10, 21)) +>i1_nc_f1 : Symbol(i1.i1_nc_f1, Decl(commentsInheritance.ts, 10, 21)) i1_nc_l1: () => void; ->i1_nc_l1 : Symbol(i1_nc_l1, Decl(commentsInheritance.ts, 11, 21)) +>i1_nc_l1 : Symbol(i1.i1_nc_l1, Decl(commentsInheritance.ts, 11, 21)) p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 12, 25)) +>p1 : Symbol(i1.p1, Decl(commentsInheritance.ts, 12, 25)) f1(): void; ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 13, 15)) +>f1 : Symbol(i1.f1, Decl(commentsInheritance.ts, 13, 15)) l1: () => void; ->l1 : Symbol(l1, Decl(commentsInheritance.ts, 14, 15)) +>l1 : Symbol(i1.l1, Decl(commentsInheritance.ts, 14, 15)) nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 15, 19)) +>nc_p1 : Symbol(i1.nc_p1, Decl(commentsInheritance.ts, 15, 19)) nc_f1(): void; ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 16, 18)) +>nc_f1 : Symbol(i1.nc_f1, Decl(commentsInheritance.ts, 16, 18)) nc_l1: () => void; ->nc_l1 : Symbol(nc_l1, Decl(commentsInheritance.ts, 17, 18)) +>nc_l1 : Symbol(i1.nc_l1, Decl(commentsInheritance.ts, 17, 18)) } class c1 implements i1 { >c1 : Symbol(c1, Decl(commentsInheritance.ts, 19, 1)) >i1 : Symbol(i1, Decl(commentsInheritance.ts, 0, 0)) public i1_p1: number; ->i1_p1 : Symbol(i1_p1, Decl(commentsInheritance.ts, 20, 24)) +>i1_p1 : Symbol(c1.i1_p1, Decl(commentsInheritance.ts, 20, 24)) // i1_f1 public i1_f1() { ->i1_f1 : Symbol(i1_f1, Decl(commentsInheritance.ts, 21, 25)) +>i1_f1 : Symbol(c1.i1_f1, Decl(commentsInheritance.ts, 21, 25)) } public i1_l1: () => void; ->i1_l1 : Symbol(i1_l1, Decl(commentsInheritance.ts, 24, 5)) +>i1_l1 : Symbol(c1.i1_l1, Decl(commentsInheritance.ts, 24, 5)) public i1_nc_p1: number; ->i1_nc_p1 : Symbol(i1_nc_p1, Decl(commentsInheritance.ts, 25, 29)) +>i1_nc_p1 : Symbol(c1.i1_nc_p1, Decl(commentsInheritance.ts, 25, 29)) public i1_nc_f1() { ->i1_nc_f1 : Symbol(i1_nc_f1, Decl(commentsInheritance.ts, 26, 28)) +>i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(commentsInheritance.ts, 26, 28)) } public i1_nc_l1: () => void; ->i1_nc_l1 : Symbol(i1_nc_l1, Decl(commentsInheritance.ts, 28, 5)) +>i1_nc_l1 : Symbol(c1.i1_nc_l1, Decl(commentsInheritance.ts, 28, 5)) /** c1_p1*/ public p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 29, 32)) +>p1 : Symbol(c1.p1, Decl(commentsInheritance.ts, 29, 32)) /** c1_f1*/ public f1() { ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 31, 22)) +>f1 : Symbol(c1.f1, Decl(commentsInheritance.ts, 31, 22)) } /** c1_l1*/ public l1: () => void; ->l1 : Symbol(l1, Decl(commentsInheritance.ts, 34, 5)) +>l1 : Symbol(c1.l1, Decl(commentsInheritance.ts, 34, 5)) /** c1_nc_p1*/ public nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 36, 26)) +>nc_p1 : Symbol(c1.nc_p1, Decl(commentsInheritance.ts, 36, 26)) /** c1_nc_f1*/ public nc_f1() { ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 38, 25)) +>nc_f1 : Symbol(c1.nc_f1, Decl(commentsInheritance.ts, 38, 25)) } /** c1_nc_l1*/ public nc_l1: () => void; ->nc_l1 : Symbol(nc_l1, Decl(commentsInheritance.ts, 41, 5)) +>nc_l1 : Symbol(c1.nc_l1, Decl(commentsInheritance.ts, 41, 5)) } var i1_i: i1; >i1_i : Symbol(i1_i, Decl(commentsInheritance.ts, 45, 3)) @@ -109,51 +109,51 @@ class c2 { /** c2 c2_p1*/ public c2_p1: number; ->c2_p1 : Symbol(c2_p1, Decl(commentsInheritance.ts, 49, 10)) +>c2_p1 : Symbol(c2.c2_p1, Decl(commentsInheritance.ts, 49, 10)) /** c2 c2_f1*/ public c2_f1() { ->c2_f1 : Symbol(c2_f1, Decl(commentsInheritance.ts, 51, 25)) +>c2_f1 : Symbol(c2.c2_f1, Decl(commentsInheritance.ts, 51, 25)) } /** c2 c2_prop*/ public get c2_prop() { ->c2_prop : Symbol(c2_prop, Decl(commentsInheritance.ts, 54, 5)) +>c2_prop : Symbol(c2.c2_prop, Decl(commentsInheritance.ts, 54, 5)) return 10; } public c2_nc_p1: number; ->c2_nc_p1 : Symbol(c2_nc_p1, Decl(commentsInheritance.ts, 58, 5)) +>c2_nc_p1 : Symbol(c2.c2_nc_p1, Decl(commentsInheritance.ts, 58, 5)) public c2_nc_f1() { ->c2_nc_f1 : Symbol(c2_nc_f1, Decl(commentsInheritance.ts, 59, 28)) +>c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(commentsInheritance.ts, 59, 28)) } public get c2_nc_prop() { ->c2_nc_prop : Symbol(c2_nc_prop, Decl(commentsInheritance.ts, 61, 5)) +>c2_nc_prop : Symbol(c2.c2_nc_prop, Decl(commentsInheritance.ts, 61, 5)) return 10; } /** c2 p1*/ public p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 64, 5)) +>p1 : Symbol(c2.p1, Decl(commentsInheritance.ts, 64, 5)) /** c2 f1*/ public f1() { ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 66, 22)) +>f1 : Symbol(c2.f1, Decl(commentsInheritance.ts, 66, 22)) } /** c2 prop*/ public get prop() { ->prop : Symbol(prop, Decl(commentsInheritance.ts, 69, 5)) +>prop : Symbol(c2.prop, Decl(commentsInheritance.ts, 69, 5)) return 10; } public nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 73, 5)) +>nc_p1 : Symbol(c2.nc_p1, Decl(commentsInheritance.ts, 73, 5)) public nc_f1() { ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 74, 25)) +>nc_f1 : Symbol(c2.nc_f1, Decl(commentsInheritance.ts, 74, 25)) } public get nc_prop() { ->nc_prop : Symbol(nc_prop, Decl(commentsInheritance.ts, 76, 5)) +>nc_prop : Symbol(c2.nc_prop, Decl(commentsInheritance.ts, 76, 5)) return 10; } @@ -162,9 +162,9 @@ class c2 { >a : Symbol(a, Decl(commentsInheritance.ts, 81, 16)) this.c2_p1 = a; ->this.c2_p1 : Symbol(c2_p1, Decl(commentsInheritance.ts, 49, 10)) +>this.c2_p1 : Symbol(c2.c2_p1, Decl(commentsInheritance.ts, 49, 10)) >this : Symbol(c2, Decl(commentsInheritance.ts, 48, 12)) ->c2_p1 : Symbol(c2_p1, Decl(commentsInheritance.ts, 49, 10)) +>c2_p1 : Symbol(c2.c2_p1, Decl(commentsInheritance.ts, 49, 10)) >a : Symbol(a, Decl(commentsInheritance.ts, 81, 16)) } } @@ -178,26 +178,26 @@ class c3 extends c2 { } /** c3 p1*/ public p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 88, 5)) +>p1 : Symbol(c3.p1, Decl(commentsInheritance.ts, 88, 5)) /** c3 f1*/ public f1() { ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 90, 22)) +>f1 : Symbol(c3.f1, Decl(commentsInheritance.ts, 90, 22)) } /** c3 prop*/ public get prop() { ->prop : Symbol(prop, Decl(commentsInheritance.ts, 93, 5)) +>prop : Symbol(c3.prop, Decl(commentsInheritance.ts, 93, 5)) return 10; } public nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 97, 5)) +>nc_p1 : Symbol(c3.nc_p1, Decl(commentsInheritance.ts, 97, 5)) public nc_f1() { ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 98, 25)) +>nc_f1 : Symbol(c3.nc_f1, Decl(commentsInheritance.ts, 98, 25)) } public get nc_prop() { ->nc_prop : Symbol(nc_prop, Decl(commentsInheritance.ts, 100, 5)) +>nc_prop : Symbol(c3.nc_prop, Decl(commentsInheritance.ts, 100, 5)) return 10; } @@ -228,46 +228,46 @@ interface i2 { /** i2_p1*/ i2_p1: number; ->i2_p1 : Symbol(i2_p1, Decl(commentsInheritance.ts, 112, 14)) +>i2_p1 : Symbol(i2.i2_p1, Decl(commentsInheritance.ts, 112, 14)) /** i2_f1*/ i2_f1(): void; ->i2_f1 : Symbol(i2_f1, Decl(commentsInheritance.ts, 114, 18)) +>i2_f1 : Symbol(i2.i2_f1, Decl(commentsInheritance.ts, 114, 18)) /** i2_l1*/ i2_l1: () => void; ->i2_l1 : Symbol(i2_l1, Decl(commentsInheritance.ts, 116, 18)) +>i2_l1 : Symbol(i2.i2_l1, Decl(commentsInheritance.ts, 116, 18)) // i2_nc_p1 i2_nc_p1: number; ->i2_nc_p1 : Symbol(i2_nc_p1, Decl(commentsInheritance.ts, 118, 22)) +>i2_nc_p1 : Symbol(i2.i2_nc_p1, Decl(commentsInheritance.ts, 118, 22)) i2_nc_f1(): void; ->i2_nc_f1 : Symbol(i2_nc_f1, Decl(commentsInheritance.ts, 120, 21)) +>i2_nc_f1 : Symbol(i2.i2_nc_f1, Decl(commentsInheritance.ts, 120, 21)) i2_nc_l1: () => void; ->i2_nc_l1 : Symbol(i2_nc_l1, Decl(commentsInheritance.ts, 121, 21)) +>i2_nc_l1 : Symbol(i2.i2_nc_l1, Decl(commentsInheritance.ts, 121, 21)) /** i2 p1*/ p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 122, 25)) +>p1 : Symbol(i2.p1, Decl(commentsInheritance.ts, 122, 25)) /** i2 f1*/ f1(): void; ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 124, 15)) +>f1 : Symbol(i2.f1, Decl(commentsInheritance.ts, 124, 15)) /** i2 l1*/ l1: () => void; ->l1 : Symbol(l1, Decl(commentsInheritance.ts, 126, 15)) +>l1 : Symbol(i2.l1, Decl(commentsInheritance.ts, 126, 15)) nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 128, 19)) +>nc_p1 : Symbol(i2.nc_p1, Decl(commentsInheritance.ts, 128, 19)) nc_f1(): void; ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 129, 18)) +>nc_f1 : Symbol(i2.nc_f1, Decl(commentsInheritance.ts, 129, 18)) nc_l1: () => void; ->nc_l1 : Symbol(nc_l1, Decl(commentsInheritance.ts, 130, 18)) +>nc_l1 : Symbol(i2.nc_l1, Decl(commentsInheritance.ts, 130, 18)) } interface i3 extends i2 { >i3 : Symbol(i3, Decl(commentsInheritance.ts, 132, 1)) @@ -275,26 +275,26 @@ interface i3 extends i2 { /** i3 p1 */ p1: number; ->p1 : Symbol(p1, Decl(commentsInheritance.ts, 133, 25)) +>p1 : Symbol(i3.p1, Decl(commentsInheritance.ts, 133, 25)) /** * i3 f1 */ f1(): void; ->f1 : Symbol(f1, Decl(commentsInheritance.ts, 135, 15)) +>f1 : Symbol(i3.f1, Decl(commentsInheritance.ts, 135, 15)) /** i3 l1*/ l1: () => void; ->l1 : Symbol(l1, Decl(commentsInheritance.ts, 139, 15)) +>l1 : Symbol(i3.l1, Decl(commentsInheritance.ts, 139, 15)) nc_p1: number; ->nc_p1 : Symbol(nc_p1, Decl(commentsInheritance.ts, 141, 19)) +>nc_p1 : Symbol(i3.nc_p1, Decl(commentsInheritance.ts, 141, 19)) nc_f1(): void; ->nc_f1 : Symbol(nc_f1, Decl(commentsInheritance.ts, 142, 18)) +>nc_f1 : Symbol(i3.nc_f1, Decl(commentsInheritance.ts, 142, 18)) nc_l1: () => void; ->nc_l1 : Symbol(nc_l1, Decl(commentsInheritance.ts, 143, 18)) +>nc_l1 : Symbol(i3.nc_l1, Decl(commentsInheritance.ts, 143, 18)) } var i2_i: i2; >i2_i : Symbol(i2_i, Decl(commentsInheritance.ts, 146, 3)) diff --git a/tests/baselines/reference/commentsInterface.symbols b/tests/baselines/reference/commentsInterface.symbols index 78d89989ed1..6e3a9e27978 100644 --- a/tests/baselines/reference/commentsInterface.symbols +++ b/tests/baselines/reference/commentsInterface.symbols @@ -20,11 +20,11 @@ interface i2 { /** this is x*/ x: number; ->x : Symbol(x, Decl(commentsInterface.ts, 8, 14)) +>x : Symbol(i2.x, Decl(commentsInterface.ts, 8, 14)) /** this is foo*/ foo: (/**param help*/b: number) => string; ->foo : Symbol(foo, Decl(commentsInterface.ts, 10, 14)) +>foo : Symbol(i2.foo, Decl(commentsInterface.ts, 10, 14)) >b : Symbol(b, Decl(commentsInterface.ts, 12, 10)) /** this is indexer*/ @@ -37,10 +37,10 @@ interface i2 { >i1 : Symbol(i1, Decl(commentsInterface.ts, 0, 0)) nc_x: number; ->nc_x : Symbol(nc_x, Decl(commentsInterface.ts, 16, 27)) +>nc_x : Symbol(i2.nc_x, Decl(commentsInterface.ts, 16, 27)) nc_foo: (b: number) => string; ->nc_foo : Symbol(nc_foo, Decl(commentsInterface.ts, 17, 17)) +>nc_foo : Symbol(i2.nc_foo, Decl(commentsInterface.ts, 17, 17)) >b : Symbol(b, Decl(commentsInterface.ts, 18, 13)) [i: number]: number; @@ -53,16 +53,16 @@ interface i2 { /** this is fnfoo*/ fnfoo(/**param help*/b: number): string; ->fnfoo : Symbol(fnfoo, Decl(commentsInterface.ts, 21, 68)) +>fnfoo : Symbol(i2.fnfoo, Decl(commentsInterface.ts, 21, 68)) >b : Symbol(b, Decl(commentsInterface.ts, 23, 10)) nc_fnfoo(b: number): string; ->nc_fnfoo : Symbol(nc_fnfoo, Decl(commentsInterface.ts, 23, 44)) +>nc_fnfoo : Symbol(i2.nc_fnfoo, Decl(commentsInterface.ts, 23, 44)) >b : Symbol(b, Decl(commentsInterface.ts, 24, 13)) // nc_y nc_y: number; ->nc_y : Symbol(nc_y, Decl(commentsInterface.ts, 24, 32)) +>nc_y : Symbol(i2.nc_y, Decl(commentsInterface.ts, 24, 32)) } var i2_i: i2; >i2_i : Symbol(i2_i, Decl(commentsInterface.ts, 28, 3)) @@ -150,27 +150,27 @@ interface i3 { /** Comment i3 x*/ x: number; ->x : Symbol(x, Decl(commentsInterface.ts, 43, 14)) +>x : Symbol(i3.x, Decl(commentsInterface.ts, 43, 14)) /** Function i3 f*/ f(/**number parameter*/a: number): string; ->f : Symbol(f, Decl(commentsInterface.ts, 45, 14)) +>f : Symbol(i3.f, Decl(commentsInterface.ts, 45, 14)) >a : Symbol(a, Decl(commentsInterface.ts, 47, 6)) /** i3 l*/ l: (/**comment i3 l b*/b: number) => string; ->l : Symbol(l, Decl(commentsInterface.ts, 47, 46)) +>l : Symbol(i3.l, Decl(commentsInterface.ts, 47, 46)) >b : Symbol(b, Decl(commentsInterface.ts, 49, 8)) nc_x: number; ->nc_x : Symbol(nc_x, Decl(commentsInterface.ts, 49, 48)) +>nc_x : Symbol(i3.nc_x, Decl(commentsInterface.ts, 49, 48)) nc_f(a: number): string; ->nc_f : Symbol(nc_f, Decl(commentsInterface.ts, 50, 17)) +>nc_f : Symbol(i3.nc_f, Decl(commentsInterface.ts, 50, 17)) >a : Symbol(a, Decl(commentsInterface.ts, 51, 9)) nc_l: (b: number) => string; ->nc_l : Symbol(nc_l, Decl(commentsInterface.ts, 51, 28)) +>nc_l : Symbol(i3.nc_l, Decl(commentsInterface.ts, 51, 28)) >b : Symbol(b, Decl(commentsInterface.ts, 52, 11)) } var i3_i: i3; diff --git a/tests/baselines/reference/commentsOverloads.symbols b/tests/baselines/reference/commentsOverloads.symbols index b504e35c5ac..bcdcc32f4c3 100644 --- a/tests/baselines/reference/commentsOverloads.symbols +++ b/tests/baselines/reference/commentsOverloads.symbols @@ -97,53 +97,53 @@ interface i1 { /** foo 1*/ foo(a: number): number; ->foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) +>foo : Symbol(i1.foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 39, 8)) /** foo 2*/ foo(b: string): number; ->foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) +>foo : Symbol(i1.foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 41, 8)) // foo 3 foo(arr: number[]): number; ->foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) +>foo : Symbol(i1.foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >arr : Symbol(arr, Decl(commentsOverloads.ts, 43, 8)) /** foo 4 */ foo(arr: string[]): number; ->foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) +>foo : Symbol(i1.foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >arr : Symbol(arr, Decl(commentsOverloads.ts, 45, 8)) foo2(a: number): number; ->foo2 : Symbol(foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) +>foo2 : Symbol(i1.foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 47, 9)) /** foo2 2*/ foo2(b: string): number; ->foo2 : Symbol(foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) +>foo2 : Symbol(i1.foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 49, 9)) foo3(a: number): number; ->foo3 : Symbol(foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) +>foo3 : Symbol(i1.foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 50, 9)) foo3(b: string): number; ->foo3 : Symbol(foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) +>foo3 : Symbol(i1.foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 51, 9)) /** foo4 1*/ foo4(a: number): number; ->foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) +>foo4 : Symbol(i1.foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 53, 9)) foo4(b: string): number; ->foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) +>foo4 : Symbol(i1.foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 54, 9)) /** foo4 any */ foo4(c: any): any; ->foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) +>foo4 : Symbol(i1.foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >c : Symbol(c, Decl(commentsOverloads.ts, 56, 9)) /// new 1 @@ -220,78 +220,78 @@ class c { >c : Symbol(c, Decl(commentsOverloads.ts, 87, 1)) public prop1(a: number): number; ->prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) +>prop1 : Symbol(c.prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 89, 17)) public prop1(b: string): number; ->prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) +>prop1 : Symbol(c.prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 90, 17)) public prop1(aorb: any) { ->prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) +>prop1 : Symbol(c.prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 91, 17)) return 10; } /** prop2 1*/ public prop2(a: number): number; ->prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) +>prop2 : Symbol(c.prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 95, 17)) public prop2(b: string): number; ->prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) +>prop2 : Symbol(c.prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 96, 17)) public prop2(aorb: any) { ->prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) +>prop2 : Symbol(c.prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 97, 17)) return 10; } public prop3(a: number): number; ->prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) +>prop3 : Symbol(c.prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 100, 17)) /** prop3 2*/ public prop3(b: string): number; ->prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) +>prop3 : Symbol(c.prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 102, 17)) public prop3(aorb: any) { ->prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) +>prop3 : Symbol(c.prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 103, 17)) return 10; } /** prop4 1*/ public prop4(a: number): number; ->prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) +>prop4 : Symbol(c.prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 107, 17)) /** prop4 2*/ public prop4(b: string): number; ->prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) +>prop4 : Symbol(c.prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 109, 17)) public prop4(aorb: any) { ->prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) +>prop4 : Symbol(c.prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 110, 17)) return 10; } /** prop5 1*/ public prop5(a: number): number; ->prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) +>prop5 : Symbol(c.prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 114, 17)) /** prop5 2*/ public prop5(b: string): number; ->prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) +>prop5 : Symbol(c.prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 116, 17)) /** Prop5 implementaion*/ public prop5(aorb: any) { ->prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) +>prop5 : Symbol(c.prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 118, 17)) return 10; diff --git a/tests/baselines/reference/commentsTypeParameters.symbols b/tests/baselines/reference/commentsTypeParameters.symbols index 466ca3ff9a9..26041d6b44f 100644 --- a/tests/baselines/reference/commentsTypeParameters.symbols +++ b/tests/baselines/reference/commentsTypeParameters.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(commentsTypeParameters.ts, 0, 8)) method(a: U) { ->method : Symbol(method, Decl(commentsTypeParameters.ts, 0, 47)) +>method : Symbol(C.method, Decl(commentsTypeParameters.ts, 0, 47)) >U : Symbol(U, Decl(commentsTypeParameters.ts, 1, 11)) >T : Symbol(T, Decl(commentsTypeParameters.ts, 0, 8)) >a : Symbol(a, Decl(commentsTypeParameters.ts, 1, 66)) @@ -18,7 +18,7 @@ class C { } private privatemethod(a: U) { ->privatemethod : Symbol(privatemethod, Decl(commentsTypeParameters.ts, 4, 5)) +>privatemethod : Symbol(C.privatemethod, Decl(commentsTypeParameters.ts, 4, 5)) >U : Symbol(U, Decl(commentsTypeParameters.ts, 6, 26)) >T : Symbol(T, Decl(commentsTypeParameters.ts, 0, 8)) >a : Symbol(a, Decl(commentsTypeParameters.ts, 6, 81)) diff --git a/tests/baselines/reference/commentsdoNotEmitComments.symbols b/tests/baselines/reference/commentsdoNotEmitComments.symbols index a7ba4076d9d..01555496dce 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.symbols +++ b/tests/baselines/reference/commentsdoNotEmitComments.symbols @@ -30,53 +30,53 @@ class c { /** property comment */ public b = 10; ->b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) /** function comment */ public myFoo() { ->myFoo : Symbol(myFoo, Decl(commentsdoNotEmitComments.ts, 20, 18)) +>myFoo : Symbol(c.myFoo, Decl(commentsdoNotEmitComments.ts, 20, 18)) return this.b; ->this.b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsdoNotEmitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) } /** getter comment*/ public get prop1() { ->prop1 : Symbol(prop1, Decl(commentsdoNotEmitComments.ts, 25, 5), Decl(commentsdoNotEmitComments.ts, 30, 5)) +>prop1 : Symbol(c.prop1, Decl(commentsdoNotEmitComments.ts, 25, 5), Decl(commentsdoNotEmitComments.ts, 30, 5)) return this.b; ->this.b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsdoNotEmitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) } /** setter comment*/ public set prop1(val: number) { ->prop1 : Symbol(prop1, Decl(commentsdoNotEmitComments.ts, 25, 5), Decl(commentsdoNotEmitComments.ts, 30, 5)) +>prop1 : Symbol(c.prop1, Decl(commentsdoNotEmitComments.ts, 25, 5), Decl(commentsdoNotEmitComments.ts, 30, 5)) >val : Symbol(val, Decl(commentsdoNotEmitComments.ts, 33, 21)) this.b = val; ->this.b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsdoNotEmitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsdoNotEmitComments.ts, 17, 5)) >val : Symbol(val, Decl(commentsdoNotEmitComments.ts, 33, 21)) } /** overload signature1*/ public foo1(a: number): string; ->foo1 : Symbol(foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) >a : Symbol(a, Decl(commentsdoNotEmitComments.ts, 38, 16)) /** Overload signature 2*/ public foo1(b: string): string; ->foo1 : Symbol(foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) >b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 40, 16)) /** overload implementation signature*/ public foo1(aOrb) { ->foo1 : Symbol(foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsdoNotEmitComments.ts, 35, 5), Decl(commentsdoNotEmitComments.ts, 38, 35), Decl(commentsdoNotEmitComments.ts, 40, 35)) >aOrb : Symbol(aOrb, Decl(commentsdoNotEmitComments.ts, 42, 16)) return aOrb.toString(); @@ -107,12 +107,12 @@ interface i1 { /** function property;*/ myFoo(/*param prop*/a: number): string; ->myFoo : Symbol(myFoo, Decl(commentsdoNotEmitComments.ts, 59, 24)) +>myFoo : Symbol(i1.myFoo, Decl(commentsdoNotEmitComments.ts, 59, 24)) >a : Symbol(a, Decl(commentsdoNotEmitComments.ts, 62, 10)) /** prop*/ prop: string; ->prop : Symbol(prop, Decl(commentsdoNotEmitComments.ts, 62, 43)) +>prop : Symbol(i1.prop, Decl(commentsdoNotEmitComments.ts, 62, 43)) } /**interface instance comments*/ @@ -129,7 +129,7 @@ module m1 { >b : Symbol(b, Decl(commentsdoNotEmitComments.ts, 72, 11)) constructor(public x: number) { ->x : Symbol(x, Decl(commentsdoNotEmitComments.ts, 75, 20)) +>x : Symbol(b.x, Decl(commentsdoNotEmitComments.ts, 75, 20)) } } diff --git a/tests/baselines/reference/commentsemitComments.symbols b/tests/baselines/reference/commentsemitComments.symbols index 6c0683d5372..eec41dccec6 100644 --- a/tests/baselines/reference/commentsemitComments.symbols +++ b/tests/baselines/reference/commentsemitComments.symbols @@ -30,53 +30,53 @@ class c { /** property comment */ public b = 10; ->b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) /** function comment */ public myFoo() { ->myFoo : Symbol(myFoo, Decl(commentsemitComments.ts, 20, 18)) +>myFoo : Symbol(c.myFoo, Decl(commentsemitComments.ts, 20, 18)) return this.b; ->this.b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsemitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) } /** getter comment*/ public get prop1() { ->prop1 : Symbol(prop1, Decl(commentsemitComments.ts, 25, 5), Decl(commentsemitComments.ts, 30, 5)) +>prop1 : Symbol(c.prop1, Decl(commentsemitComments.ts, 25, 5), Decl(commentsemitComments.ts, 30, 5)) return this.b; ->this.b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsemitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) } /** setter comment*/ public set prop1(val: number) { ->prop1 : Symbol(prop1, Decl(commentsemitComments.ts, 25, 5), Decl(commentsemitComments.ts, 30, 5)) +>prop1 : Symbol(c.prop1, Decl(commentsemitComments.ts, 25, 5), Decl(commentsemitComments.ts, 30, 5)) >val : Symbol(val, Decl(commentsemitComments.ts, 33, 21)) this.b = val; ->this.b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>this.b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) >this : Symbol(c, Decl(commentsemitComments.ts, 11, 9)) ->b : Symbol(b, Decl(commentsemitComments.ts, 17, 5)) +>b : Symbol(c.b, Decl(commentsemitComments.ts, 17, 5)) >val : Symbol(val, Decl(commentsemitComments.ts, 33, 21)) } /** overload signature1*/ public foo1(a: number): string; ->foo1 : Symbol(foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) >a : Symbol(a, Decl(commentsemitComments.ts, 38, 16)) /** Overload signature 2*/ public foo1(b: string): string; ->foo1 : Symbol(foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) >b : Symbol(b, Decl(commentsemitComments.ts, 40, 16)) /** overload implementation signature*/ public foo1(aOrb) { ->foo1 : Symbol(foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) +>foo1 : Symbol(c.foo1, Decl(commentsemitComments.ts, 35, 5), Decl(commentsemitComments.ts, 38, 35), Decl(commentsemitComments.ts, 40, 35)) >aOrb : Symbol(aOrb, Decl(commentsemitComments.ts, 42, 16)) return aOrb.toString(); @@ -107,12 +107,12 @@ interface i1 { /** function property;*/ myFoo(/*param prop*/a: number): string; ->myFoo : Symbol(myFoo, Decl(commentsemitComments.ts, 59, 24)) +>myFoo : Symbol(i1.myFoo, Decl(commentsemitComments.ts, 59, 24)) >a : Symbol(a, Decl(commentsemitComments.ts, 62, 10)) /** prop*/ prop: string; ->prop : Symbol(prop, Decl(commentsemitComments.ts, 62, 43)) +>prop : Symbol(i1.prop, Decl(commentsemitComments.ts, 62, 43)) } /**interface instance comments*/ @@ -129,7 +129,7 @@ module m1 { >b : Symbol(b, Decl(commentsemitComments.ts, 72, 11)) constructor(public x: number) { ->x : Symbol(x, Decl(commentsemitComments.ts, 75, 20)) +>x : Symbol(b.x, Decl(commentsemitComments.ts, 75, 20)) } } diff --git a/tests/baselines/reference/commonJSImportAsPrimaryExpression.symbols b/tests/baselines/reference/commonJSImportAsPrimaryExpression.symbols index b640adc58a4..4871e7993fb 100644 --- a/tests/baselines/reference/commonJSImportAsPrimaryExpression.symbols +++ b/tests/baselines/reference/commonJSImportAsPrimaryExpression.symbols @@ -17,7 +17,7 @@ export class C1 { >C1 : Symbol(C1, Decl(foo_0.ts, 0, 0)) m1 = 42; ->m1 : Symbol(m1, Decl(foo_0.ts, 0, 17)) +>m1 : Symbol(C1.m1, Decl(foo_0.ts, 0, 17)) static s1 = true; >s1 : Symbol(C1.s1, Decl(foo_0.ts, 1, 9)) diff --git a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.symbols b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.symbols index 68a852c6165..ae67c0a3175 100644 --- a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.symbols +++ b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.symbols @@ -43,7 +43,7 @@ export class C1 { >C1 : Symbol(C1, Decl(foo_0.ts, 0, 0)) m1 = 42; ->m1 : Symbol(m1, Decl(foo_0.ts, 0, 17)) +>m1 : Symbol(C1.m1, Decl(foo_0.ts, 0, 17)) static s1 = true; >s1 : Symbol(C1.s1, Decl(foo_0.ts, 1, 9)) @@ -53,10 +53,10 @@ export interface I1 { >I1 : Symbol(I1, Decl(foo_0.ts, 3, 1)) name: string; ->name : Symbol(name, Decl(foo_0.ts, 5, 21)) +>name : Symbol(I1.name, Decl(foo_0.ts, 5, 21)) age: number; ->age : Symbol(age, Decl(foo_0.ts, 6, 14)) +>age : Symbol(I1.age, Decl(foo_0.ts, 6, 14)) } export module M1 { @@ -66,7 +66,7 @@ export module M1 { >I2 : Symbol(I2, Decl(foo_0.ts, 10, 18)) foo: string; ->foo : Symbol(foo, Decl(foo_0.ts, 11, 22)) +>foo : Symbol(I2.foo, Decl(foo_0.ts, 11, 22)) } } diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols b/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols index a5acf69be2f..72b111d3540 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols @@ -3,23 +3,23 @@ class A1 { >A1 : Symbol(A1, Decl(comparisonOperatorWithIdenticalObjects.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 0, 10)) +>a : Symbol(A1.a, Decl(comparisonOperatorWithIdenticalObjects.ts, 0, 10)) public b: number; ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalObjects.ts, 1, 21)) +>b : Symbol(A1.b, Decl(comparisonOperatorWithIdenticalObjects.ts, 1, 21)) public c: boolean; ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalObjects.ts, 2, 21)) +>c : Symbol(A1.c, Decl(comparisonOperatorWithIdenticalObjects.ts, 2, 21)) public d: any; ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalObjects.ts, 3, 22)) +>d : Symbol(A1.d, Decl(comparisonOperatorWithIdenticalObjects.ts, 3, 22)) public e: Object; ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalObjects.ts, 4, 18)) +>e : Symbol(A1.e, Decl(comparisonOperatorWithIdenticalObjects.ts, 4, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) public fn(a: string): string { ->fn : Symbol(fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 5, 21)) +>fn : Symbol(A1.fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 5, 21)) >a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 6, 14)) return null; @@ -29,23 +29,23 @@ class B1 { >B1 : Symbol(B1, Decl(comparisonOperatorWithIdenticalObjects.ts, 9, 1)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 10, 10)) +>a : Symbol(B1.a, Decl(comparisonOperatorWithIdenticalObjects.ts, 10, 10)) public b: number; ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalObjects.ts, 11, 21)) +>b : Symbol(B1.b, Decl(comparisonOperatorWithIdenticalObjects.ts, 11, 21)) public c: boolean; ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalObjects.ts, 12, 21)) +>c : Symbol(B1.c, Decl(comparisonOperatorWithIdenticalObjects.ts, 12, 21)) public d: any; ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalObjects.ts, 13, 22)) +>d : Symbol(B1.d, Decl(comparisonOperatorWithIdenticalObjects.ts, 13, 22)) public e: Object; ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalObjects.ts, 14, 18)) +>e : Symbol(B1.e, Decl(comparisonOperatorWithIdenticalObjects.ts, 14, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) public fn(b: string): string { ->fn : Symbol(fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 15, 21)) +>fn : Symbol(B1.fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 15, 21)) >b : Symbol(b, Decl(comparisonOperatorWithIdenticalObjects.ts, 16, 14)) return null; @@ -56,10 +56,10 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithIdenticalObjects.ts, 19, 1)) private a: string; ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 21, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithIdenticalObjects.ts, 21, 12)) private fn(b: string): string { ->fn : Symbol(fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 22, 22)) +>fn : Symbol(Base.fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 22, 22)) >b : Symbol(b, Decl(comparisonOperatorWithIdenticalObjects.ts, 23, 15)) return null; @@ -75,12 +75,12 @@ class B2 extends Base { } interface A3 { f(a: number): string; } >A3 : Symbol(A3, Decl(comparisonOperatorWithIdenticalObjects.ts, 28, 25)) ->f : Symbol(f, Decl(comparisonOperatorWithIdenticalObjects.ts, 30, 14)) +>f : Symbol(A3.f, Decl(comparisonOperatorWithIdenticalObjects.ts, 30, 14)) >a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 30, 17)) interface B3 { f(a: number): string; } >B3 : Symbol(B3, Decl(comparisonOperatorWithIdenticalObjects.ts, 30, 38)) ->f : Symbol(f, Decl(comparisonOperatorWithIdenticalObjects.ts, 31, 14)) +>f : Symbol(B3.f, Decl(comparisonOperatorWithIdenticalObjects.ts, 31, 14)) >a : Symbol(a, Decl(comparisonOperatorWithIdenticalObjects.ts, 31, 17)) interface A4 { new (a: string): A1; } diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.symbols index ef92cdd676a..6dc1e9221f5 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,14 +11,14 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 4, 28)) } class C { >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 6, 1)) public c: string; ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 8, 9)) +>c : Symbol(C.c, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts, 8, 9)) } var a1: { fn(x: T): T }; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.symbols index 08b23dac50a..444e2a06689 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,14 +11,14 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 4, 28)) } class C { >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 6, 1)) public c: string; ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 8, 9)) +>c : Symbol(C.c, Decl(comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts, 8, 9)) } var a1: { new (x: T): T }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.symbols index b82a68af007..3d21bd632f2 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,7 +11,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnCallSignature.ts, 4, 28)) } var a1: { fn(): void }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.symbols index 6dd08fc0529..02abd793abd 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,7 +11,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts, 4, 28)) } var a1: { new (): Base }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnIndexSignature.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnIndexSignature.symbols index be0537baee4..18ed4369fd7 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnIndexSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnIndexSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,7 +11,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnIndexSignature.ts, 4, 28)) } var a1: { [a: string]: string }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.symbols index 635f926438f..742e8c9d4e6 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,7 +11,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts, 4, 28)) } var a1: { fn(x: T): T }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.symbols index 11f28765873..ce49067a1a8 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 0, 12)) } class Derived extends Base { @@ -11,7 +11,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts, 4, 28)) } var a1: { new (x: T): T }; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnOptionalProperty.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnOptionalProperty.symbols index 6c6a3fa3ae2..fb85585852b 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnOptionalProperty.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnOptionalProperty.symbols @@ -3,17 +3,17 @@ interface I { >I : Symbol(I, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 0, 0)) a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 0, 13)) +>a : Symbol(I.a, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 0, 13)) b?: number; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 1, 14)) +>b : Symbol(I.b, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 1, 14)) } interface J { >J : Symbol(J, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 3, 1)) a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 5, 13)) +>a : Symbol(J.a, Decl(comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts, 5, 13)) } var a: I; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.symbols b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.symbols index 52d6e35d65e..96799744c00 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.symbols +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 0)) public a: string; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 12)) +>a : Symbol(Base.a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 12)) } class Derived extends Base { @@ -11,18 +11,18 @@ class Derived extends Base { >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 0)) public b: string; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 4, 28)) +>b : Symbol(Derived.b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 4, 28)) } class A1 { >A1 : Symbol(A1, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 6, 1)) public a: Base; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 8, 10)) +>a : Symbol(A1.a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 8, 10)) >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 0)) public b: Base; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 9, 19)) +>b : Symbol(A1.b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 9, 19)) >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 0)) } @@ -30,11 +30,11 @@ class B1 { >B1 : Symbol(B1, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 11, 1)) public a: Base; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 13, 10)) +>a : Symbol(B1.a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 13, 10)) >Base : Symbol(Base, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 0, 0)) public b: Derived; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 14, 19)) +>b : Symbol(B1.b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 14, 19)) >Derived : Symbol(Derived, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 2, 1)) } @@ -42,7 +42,7 @@ class A2 { >A2 : Symbol(A2, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 16, 1)) private a; ->a : Symbol(a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 18, 10)) +>a : Symbol(A2.a, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 18, 10)) } class B2 extends A2 { @@ -50,7 +50,7 @@ class B2 extends A2 { >A2 : Symbol(A2, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 16, 1)) private b; ->b : Symbol(b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 22, 21)) +>b : Symbol(B2.b, Decl(comparisonOperatorWithSubtypeObjectOnProperty.ts, 22, 21)) } var a1: A1; diff --git a/tests/baselines/reference/complexClassRelationships.symbols b/tests/baselines/reference/complexClassRelationships.symbols index 533c5171cf8..9f6b3adf98d 100644 --- a/tests/baselines/reference/complexClassRelationships.symbols +++ b/tests/baselines/reference/complexClassRelationships.symbols @@ -37,7 +37,7 @@ class Base { >Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) ownerCollection: BaseCollection; ->ownerCollection : Symbol(ownerCollection, Decl(complexClassRelationships.ts, 12, 12)) +>ownerCollection : Symbol(Base.ownerCollection, Decl(complexClassRelationships.ts, 12, 12)) >BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) >Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) } @@ -46,7 +46,7 @@ class Thing { >Thing : Symbol(Thing, Decl(complexClassRelationships.ts, 14, 1)) public get Components(): ComponentCollection { return null } ->Components : Symbol(Components, Decl(complexClassRelationships.ts, 16, 13)) +>Components : Symbol(Thing.Components, Decl(complexClassRelationships.ts, 16, 13)) >ComponentCollection : Symbol(ComponentCollection, Decl(complexClassRelationships.ts, 18, 1)) } @@ -70,22 +70,22 @@ class Foo { >Foo : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) public get prop1() { ->prop1 : Symbol(prop1, Decl(complexClassRelationships.ts, 26, 11)) +>prop1 : Symbol(Foo.prop1, Decl(complexClassRelationships.ts, 26, 11)) return new GenericType(this); >GenericType : Symbol(GenericType, Decl(complexClassRelationships.ts, 36, 1)) >this : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) } public populate() { ->populate : Symbol(populate, Decl(complexClassRelationships.ts, 29, 5)) +>populate : Symbol(Foo.populate, Decl(complexClassRelationships.ts, 29, 5)) this.prop2; ->this.prop2 : Symbol(prop2, Decl(complexClassRelationships.ts, 32, 5)) +>this.prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) >this : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) ->prop2 : Symbol(prop2, Decl(complexClassRelationships.ts, 32, 5)) +>prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) } public get prop2(): BaseCollection { ->prop2 : Symbol(prop2, Decl(complexClassRelationships.ts, 32, 5)) +>prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) >BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) >Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) @@ -111,7 +111,7 @@ class FooBase { >FooBase : Symbol(FooBase, Decl(complexClassRelationships.ts, 40, 1)) public populate() { ->populate : Symbol(populate, Decl(complexClassRelationships.ts, 42, 15)) +>populate : Symbol(FooBase.populate, Decl(complexClassRelationships.ts, 42, 15)) } } diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.symbols b/tests/baselines/reference/computedPropertyNames22_ES5.symbols index a1e08e5f487..2e2b07473dd 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames22_ES5.symbols @@ -3,15 +3,15 @@ class C { >C : Symbol(C, Decl(computedPropertyNames22_ES5.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames22_ES5.ts, 2, 11)) [this.bar()]() { } ->this.bar : Symbol(bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) +>this.bar : Symbol(C.bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) >this : Symbol(C, Decl(computedPropertyNames22_ES5.ts, 0, 0)) ->bar : Symbol(bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames22_ES5.ts, 0, 9)) }; return 0; diff --git a/tests/baselines/reference/computedPropertyNames22_ES6.symbols b/tests/baselines/reference/computedPropertyNames22_ES6.symbols index 5940bfb4cfb..39e3acb265c 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames22_ES6.symbols @@ -3,15 +3,15 @@ class C { >C : Symbol(C, Decl(computedPropertyNames22_ES6.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames22_ES6.ts, 2, 11)) [this.bar()]() { } ->this.bar : Symbol(bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) +>this.bar : Symbol(C.bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) >this : Symbol(C, Decl(computedPropertyNames22_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames22_ES6.ts, 0, 9)) }; return 0; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.symbols b/tests/baselines/reference/computedPropertyNames25_ES5.symbols index e11753857cc..896ba223099 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames25_ES5.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(computedPropertyNames25_ES5.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames25_ES5.ts, 0, 12)) +>bar : Symbol(Base.bar, Decl(computedPropertyNames25_ES5.ts, 0, 12)) return 0; } @@ -13,7 +13,7 @@ class C extends Base { >Base : Symbol(Base, Decl(computedPropertyNames25_ES5.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(computedPropertyNames25_ES5.ts, 5, 22)) +>foo : Symbol(C.foo, Decl(computedPropertyNames25_ES5.ts, 5, 22)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames25_ES5.ts, 7, 11)) diff --git a/tests/baselines/reference/computedPropertyNames25_ES6.symbols b/tests/baselines/reference/computedPropertyNames25_ES6.symbols index 8eb7393c6ac..dcb6177b0ea 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames25_ES6.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(computedPropertyNames25_ES6.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames25_ES6.ts, 0, 12)) +>bar : Symbol(Base.bar, Decl(computedPropertyNames25_ES6.ts, 0, 12)) return 0; } @@ -13,7 +13,7 @@ class C extends Base { >Base : Symbol(Base, Decl(computedPropertyNames25_ES6.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(computedPropertyNames25_ES6.ts, 5, 22)) +>foo : Symbol(C.foo, Decl(computedPropertyNames25_ES6.ts, 5, 22)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames25_ES6.ts, 7, 11)) diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.symbols b/tests/baselines/reference/computedPropertyNames29_ES5.symbols index c33a7390ce8..b78b4d0955c 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames29_ES5.symbols @@ -3,16 +3,16 @@ class C { >C : Symbol(C, Decl(computedPropertyNames29_ES5.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) () => { var obj = { >obj : Symbol(obj, Decl(computedPropertyNames29_ES5.ts, 3, 15)) [this.bar()]() { } // needs capture ->this.bar : Symbol(bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) +>this.bar : Symbol(C.bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) >this : Symbol(C, Decl(computedPropertyNames29_ES5.ts, 0, 0)) ->bar : Symbol(bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames29_ES5.ts, 0, 9)) }; } diff --git a/tests/baselines/reference/computedPropertyNames29_ES6.symbols b/tests/baselines/reference/computedPropertyNames29_ES6.symbols index 41631ea63bb..fe54d1a0325 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames29_ES6.symbols @@ -3,16 +3,16 @@ class C { >C : Symbol(C, Decl(computedPropertyNames29_ES6.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) () => { var obj = { >obj : Symbol(obj, Decl(computedPropertyNames29_ES6.ts, 3, 15)) [this.bar()]() { } // needs capture ->this.bar : Symbol(bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) +>this.bar : Symbol(C.bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) >this : Symbol(C, Decl(computedPropertyNames29_ES6.ts, 0, 0)) ->bar : Symbol(bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) +>bar : Symbol(C.bar, Decl(computedPropertyNames29_ES6.ts, 0, 9)) }; } diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.symbols b/tests/baselines/reference/computedPropertyNames31_ES5.symbols index 82a6acb286c..9cb1b0184f7 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames31_ES5.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(computedPropertyNames31_ES5.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames31_ES5.ts, 0, 12)) +>bar : Symbol(Base.bar, Decl(computedPropertyNames31_ES5.ts, 0, 12)) return 0; } @@ -13,7 +13,7 @@ class C extends Base { >Base : Symbol(Base, Decl(computedPropertyNames31_ES5.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(computedPropertyNames31_ES5.ts, 5, 22)) +>foo : Symbol(C.foo, Decl(computedPropertyNames31_ES5.ts, 5, 22)) () => { var obj = { diff --git a/tests/baselines/reference/computedPropertyNames31_ES6.symbols b/tests/baselines/reference/computedPropertyNames31_ES6.symbols index 778293bbb88..19cc6cd1bcd 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames31_ES6.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(computedPropertyNames31_ES6.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames31_ES6.ts, 0, 12)) +>bar : Symbol(Base.bar, Decl(computedPropertyNames31_ES6.ts, 0, 12)) return 0; } @@ -13,7 +13,7 @@ class C extends Base { >Base : Symbol(Base, Decl(computedPropertyNames31_ES6.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(computedPropertyNames31_ES6.ts, 5, 22)) +>foo : Symbol(C.foo, Decl(computedPropertyNames31_ES6.ts, 5, 22)) () => { var obj = { diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.symbols b/tests/baselines/reference/computedPropertyNames33_ES5.symbols index ae6dd01e7bc..90734fd07a0 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames33_ES5.symbols @@ -8,7 +8,7 @@ class C { >T : Symbol(T, Decl(computedPropertyNames33_ES5.ts, 1, 8)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames33_ES5.ts, 1, 12)) +>bar : Symbol(C.bar, Decl(computedPropertyNames33_ES5.ts, 1, 12)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames33_ES5.ts, 3, 11)) diff --git a/tests/baselines/reference/computedPropertyNames33_ES6.symbols b/tests/baselines/reference/computedPropertyNames33_ES6.symbols index cf0b3abde96..f51764af561 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames33_ES6.symbols @@ -8,7 +8,7 @@ class C { >T : Symbol(T, Decl(computedPropertyNames33_ES6.ts, 1, 8)) bar() { ->bar : Symbol(bar, Decl(computedPropertyNames33_ES6.ts, 1, 12)) +>bar : Symbol(C.bar, Decl(computedPropertyNames33_ES6.ts, 1, 12)) var obj = { >obj : Symbol(obj, Decl(computedPropertyNames33_ES6.ts, 3, 11)) diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.symbols b/tests/baselines/reference/computedPropertyNames37_ES5.symbols index 7932b2c8fdc..62e92ee6efc 100644 --- a/tests/baselines/reference/computedPropertyNames37_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames37_ES5.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts === class Foo { x } >Foo : Symbol(Foo, Decl(computedPropertyNames37_ES5.ts, 0, 0)) ->x : Symbol(x, Decl(computedPropertyNames37_ES5.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(computedPropertyNames37_ES5.ts, 0, 11)) class Foo2 { x; y } >Foo2 : Symbol(Foo2, Decl(computedPropertyNames37_ES5.ts, 0, 15)) ->x : Symbol(x, Decl(computedPropertyNames37_ES5.ts, 1, 12)) ->y : Symbol(y, Decl(computedPropertyNames37_ES5.ts, 1, 15)) +>x : Symbol(Foo2.x, Decl(computedPropertyNames37_ES5.ts, 1, 12)) +>y : Symbol(Foo2.y, Decl(computedPropertyNames37_ES5.ts, 1, 15)) class C { >C : Symbol(C, Decl(computedPropertyNames37_ES5.ts, 1, 19)) diff --git a/tests/baselines/reference/computedPropertyNames37_ES6.symbols b/tests/baselines/reference/computedPropertyNames37_ES6.symbols index f4439ef4f92..7221614581a 100644 --- a/tests/baselines/reference/computedPropertyNames37_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames37_ES6.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES6.ts === class Foo { x } >Foo : Symbol(Foo, Decl(computedPropertyNames37_ES6.ts, 0, 0)) ->x : Symbol(x, Decl(computedPropertyNames37_ES6.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(computedPropertyNames37_ES6.ts, 0, 11)) class Foo2 { x; y } >Foo2 : Symbol(Foo2, Decl(computedPropertyNames37_ES6.ts, 0, 15)) ->x : Symbol(x, Decl(computedPropertyNames37_ES6.ts, 1, 12)) ->y : Symbol(y, Decl(computedPropertyNames37_ES6.ts, 1, 15)) +>x : Symbol(Foo2.x, Decl(computedPropertyNames37_ES6.ts, 1, 12)) +>y : Symbol(Foo2.y, Decl(computedPropertyNames37_ES6.ts, 1, 15)) class C { >C : Symbol(C, Decl(computedPropertyNames37_ES6.ts, 1, 19)) diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.symbols b/tests/baselines/reference/computedPropertyNames41_ES5.symbols index e1438568f24..3db1cf16a2b 100644 --- a/tests/baselines/reference/computedPropertyNames41_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames41_ES5.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts === class Foo { x } >Foo : Symbol(Foo, Decl(computedPropertyNames41_ES5.ts, 0, 0)) ->x : Symbol(x, Decl(computedPropertyNames41_ES5.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(computedPropertyNames41_ES5.ts, 0, 11)) class Foo2 { x; y } >Foo2 : Symbol(Foo2, Decl(computedPropertyNames41_ES5.ts, 0, 15)) ->x : Symbol(x, Decl(computedPropertyNames41_ES5.ts, 1, 12)) ->y : Symbol(y, Decl(computedPropertyNames41_ES5.ts, 1, 15)) +>x : Symbol(Foo2.x, Decl(computedPropertyNames41_ES5.ts, 1, 12)) +>y : Symbol(Foo2.y, Decl(computedPropertyNames41_ES5.ts, 1, 15)) class C { >C : Symbol(C, Decl(computedPropertyNames41_ES5.ts, 1, 19)) diff --git a/tests/baselines/reference/computedPropertyNames41_ES6.symbols b/tests/baselines/reference/computedPropertyNames41_ES6.symbols index 3f4a7dff621..bedbf7953f7 100644 --- a/tests/baselines/reference/computedPropertyNames41_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames41_ES6.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES6.ts === class Foo { x } >Foo : Symbol(Foo, Decl(computedPropertyNames41_ES6.ts, 0, 0)) ->x : Symbol(x, Decl(computedPropertyNames41_ES6.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(computedPropertyNames41_ES6.ts, 0, 11)) class Foo2 { x; y } >Foo2 : Symbol(Foo2, Decl(computedPropertyNames41_ES6.ts, 0, 15)) ->x : Symbol(x, Decl(computedPropertyNames41_ES6.ts, 1, 12)) ->y : Symbol(y, Decl(computedPropertyNames41_ES6.ts, 1, 15)) +>x : Symbol(Foo2.x, Decl(computedPropertyNames41_ES6.ts, 1, 12)) +>y : Symbol(Foo2.y, Decl(computedPropertyNames41_ES6.ts, 1, 15)) class C { >C : Symbol(C, Decl(computedPropertyNames41_ES6.ts, 1, 19)) diff --git a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.symbols b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.symbols index e4c2e43013d..0453539b1aa 100644 --- a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.symbols +++ b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.symbols @@ -2,19 +2,19 @@ //Cond ? Expr1 : Expr2, Expr1 and Expr2 have identical best common type class X { propertyX: any; propertyX1: number; propertyX2: string }; >X : Symbol(X, Decl(conditionalOperatorWithIdenticalBCT.ts, 0, 0)) ->propertyX : Symbol(propertyX, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 9)) ->propertyX1 : Symbol(propertyX1, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 25)) ->propertyX2 : Symbol(propertyX2, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 45)) +>propertyX : Symbol(X.propertyX, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 9)) +>propertyX1 : Symbol(X.propertyX1, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 25)) +>propertyX2 : Symbol(X.propertyX2, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 45)) class A extends X { propertyA: number }; >A : Symbol(A, Decl(conditionalOperatorWithIdenticalBCT.ts, 1, 67)) >X : Symbol(X, Decl(conditionalOperatorWithIdenticalBCT.ts, 0, 0)) ->propertyA : Symbol(propertyA, Decl(conditionalOperatorWithIdenticalBCT.ts, 2, 19)) +>propertyA : Symbol(A.propertyA, Decl(conditionalOperatorWithIdenticalBCT.ts, 2, 19)) class B extends X { propertyB: string }; >B : Symbol(B, Decl(conditionalOperatorWithIdenticalBCT.ts, 2, 40)) >X : Symbol(X, Decl(conditionalOperatorWithIdenticalBCT.ts, 0, 0)) ->propertyB : Symbol(propertyB, Decl(conditionalOperatorWithIdenticalBCT.ts, 3, 19)) +>propertyB : Symbol(B.propertyB, Decl(conditionalOperatorWithIdenticalBCT.ts, 3, 19)) var x: X; >x : Symbol(x, Decl(conditionalOperatorWithIdenticalBCT.ts, 5, 3)) diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols index cca4cb6e12c..9867f80ba40 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols @@ -4,20 +4,20 @@ class Rule { >Rule : Symbol(Rule, Decl(constDeclarationShadowedByVarDeclaration3.ts, 0, 0)) public regex: RegExp = new RegExp(''); ->regex : Symbol(regex, Decl(constDeclarationShadowedByVarDeclaration3.ts, 1, 12)) +>regex : Symbol(Rule.regex, Decl(constDeclarationShadowedByVarDeclaration3.ts, 1, 12)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) public name: string = ''; ->name : Symbol(name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) +>name : Symbol(Rule.name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) constructor(name: string) { >name : Symbol(name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 5, 16)) this.name = name; ->this.name : Symbol(name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) +>this.name : Symbol(Rule.name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) >this : Symbol(Rule, Decl(constDeclarationShadowedByVarDeclaration3.ts, 0, 0)) ->name : Symbol(name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) +>name : Symbol(Rule.name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) >name : Symbol(name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 5, 16)) } } diff --git a/tests/baselines/reference/constantOverloadFunction.symbols b/tests/baselines/reference/constantOverloadFunction.symbols index 60234623ed6..6c894602f71 100644 --- a/tests/baselines/reference/constantOverloadFunction.symbols +++ b/tests/baselines/reference/constantOverloadFunction.symbols @@ -1,22 +1,22 @@ === tests/cases/compiler/constantOverloadFunction.ts === class Base { foo() { } } >Base : Symbol(Base, Decl(constantOverloadFunction.ts, 0, 0)) ->foo : Symbol(foo, Decl(constantOverloadFunction.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(constantOverloadFunction.ts, 0, 12)) class Derived1 extends Base { bar() { } } >Derived1 : Symbol(Derived1, Decl(constantOverloadFunction.ts, 0, 24)) >Base : Symbol(Base, Decl(constantOverloadFunction.ts, 0, 0)) ->bar : Symbol(bar, Decl(constantOverloadFunction.ts, 1, 29)) +>bar : Symbol(Derived1.bar, Decl(constantOverloadFunction.ts, 1, 29)) class Derived2 extends Base { baz() { } } >Derived2 : Symbol(Derived2, Decl(constantOverloadFunction.ts, 1, 41)) >Base : Symbol(Base, Decl(constantOverloadFunction.ts, 0, 0)) ->baz : Symbol(baz, Decl(constantOverloadFunction.ts, 2, 29)) +>baz : Symbol(Derived2.baz, Decl(constantOverloadFunction.ts, 2, 29)) class Derived3 extends Base { biz() { } } >Derived3 : Symbol(Derived3, Decl(constantOverloadFunction.ts, 2, 41)) >Base : Symbol(Base, Decl(constantOverloadFunction.ts, 0, 0)) ->biz : Symbol(biz, Decl(constantOverloadFunction.ts, 3, 29)) +>biz : Symbol(Derived3.biz, Decl(constantOverloadFunction.ts, 3, 29)) function foo(tagName: 'canvas'): Derived1; >foo : Symbol(foo, Decl(constantOverloadFunction.ts, 3, 41), Decl(constantOverloadFunction.ts, 5, 42), Decl(constantOverloadFunction.ts, 6, 40), Decl(constantOverloadFunction.ts, 7, 40), Decl(constantOverloadFunction.ts, 8, 36)) diff --git a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.symbols b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.symbols index 3a604e4b30e..a978214d4c3 100644 --- a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.symbols +++ b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.symbols @@ -1,22 +1,22 @@ === tests/cases/compiler/constantOverloadFunctionNoSubtypeError.ts === class Base { foo() { } } >Base : Symbol(Base, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 0)) ->foo : Symbol(foo, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 12)) class Derived1 extends Base { bar() { } } >Derived1 : Symbol(Derived1, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 24)) >Base : Symbol(Base, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 0)) ->bar : Symbol(bar, Decl(constantOverloadFunctionNoSubtypeError.ts, 1, 29)) +>bar : Symbol(Derived1.bar, Decl(constantOverloadFunctionNoSubtypeError.ts, 1, 29)) class Derived2 extends Base { baz() { } } >Derived2 : Symbol(Derived2, Decl(constantOverloadFunctionNoSubtypeError.ts, 1, 41)) >Base : Symbol(Base, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 0)) ->baz : Symbol(baz, Decl(constantOverloadFunctionNoSubtypeError.ts, 2, 29)) +>baz : Symbol(Derived2.baz, Decl(constantOverloadFunctionNoSubtypeError.ts, 2, 29)) class Derived3 extends Base { biz() { } } >Derived3 : Symbol(Derived3, Decl(constantOverloadFunctionNoSubtypeError.ts, 2, 41)) >Base : Symbol(Base, Decl(constantOverloadFunctionNoSubtypeError.ts, 0, 0)) ->biz : Symbol(biz, Decl(constantOverloadFunctionNoSubtypeError.ts, 3, 29)) +>biz : Symbol(Derived3.biz, Decl(constantOverloadFunctionNoSubtypeError.ts, 3, 29)) function foo(tagName: 'canvas'): Derived3; >foo : Symbol(foo, Decl(constantOverloadFunctionNoSubtypeError.ts, 3, 41), Decl(constantOverloadFunctionNoSubtypeError.ts, 5, 42), Decl(constantOverloadFunctionNoSubtypeError.ts, 6, 40), Decl(constantOverloadFunctionNoSubtypeError.ts, 7, 40), Decl(constantOverloadFunctionNoSubtypeError.ts, 8, 36)) diff --git a/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.symbols b/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.symbols index ad63e11b7ed..ee19c63ffe8 100644 --- a/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.symbols +++ b/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.symbols @@ -4,7 +4,7 @@ class Constraint { >Constraint : Symbol(Constraint, Decl(constraintCheckInGenericBaseTypeReference.ts, 0, 0)) public method() { } ->method : Symbol(method, Decl(constraintCheckInGenericBaseTypeReference.ts, 1, 18)) +>method : Symbol(Constraint.method, Decl(constraintCheckInGenericBaseTypeReference.ts, 1, 18)) } class GenericBase { >GenericBase : Symbol(GenericBase, Decl(constraintCheckInGenericBaseTypeReference.ts, 3, 1)) @@ -12,7 +12,7 @@ class GenericBase { >Constraint : Symbol(Constraint, Decl(constraintCheckInGenericBaseTypeReference.ts, 0, 0)) public items: any; ->items : Symbol(items, Decl(constraintCheckInGenericBaseTypeReference.ts, 4, 41)) +>items : Symbol(GenericBase.items, Decl(constraintCheckInGenericBaseTypeReference.ts, 4, 41)) } class Derived extends GenericBase { >Derived : Symbol(Derived, Decl(constraintCheckInGenericBaseTypeReference.ts, 6, 1)) @@ -24,7 +24,7 @@ class TypeArg { >TypeArg : Symbol(TypeArg, Decl(constraintCheckInGenericBaseTypeReference.ts, 9, 1)) public method() { ->method : Symbol(method, Decl(constraintCheckInGenericBaseTypeReference.ts, 10, 15)) +>method : Symbol(TypeArg.method, Decl(constraintCheckInGenericBaseTypeReference.ts, 10, 15)) Container.People.items; >Container.People.items : Symbol(GenericBase.items, Decl(constraintCheckInGenericBaseTypeReference.ts, 4, 41)) diff --git a/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.symbols b/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.symbols index ec987116a43..4793aa63149 100644 --- a/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.symbols +++ b/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.symbols @@ -41,7 +41,7 @@ interface I3 { >U : Symbol(U, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 16, 15)) method1(); ->method1 : Symbol(method1, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 16, 35)) +>method1 : Symbol(I3.method1, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 16, 35)) >X : Symbol(X, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 17, 12)) >Y : Symbol(Y, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 17, 14)) >T : Symbol(T, Decl(constraintReferencingTypeParameterFromSameTypeParameterList.ts, 16, 13)) diff --git a/tests/baselines/reference/constraintSatisfactionWithAny.symbols b/tests/baselines/reference/constraintSatisfactionWithAny.symbols index 52cfe211cff..6461e50d860 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny.symbols +++ b/tests/baselines/reference/constraintSatisfactionWithAny.symbols @@ -70,7 +70,7 @@ class C { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) constructor(public x: T) { } ->x : Symbol(x, Decl(constraintSatisfactionWithAny.ts, 23, 16)) +>x : Symbol(C.x, Decl(constraintSatisfactionWithAny.ts, 23, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 22, 8)) } @@ -90,7 +90,7 @@ class C2 { >x : Symbol(x, Decl(constraintSatisfactionWithAny.ts, 29, 20)) constructor(public x: T) { } ->x : Symbol(x, Decl(constraintSatisfactionWithAny.ts, 30, 16)) +>x : Symbol(C2.x, Decl(constraintSatisfactionWithAny.ts, 30, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 29, 9)) } @@ -120,7 +120,7 @@ class C4(x:T) => T> { >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 43, 20)) constructor(public x: T) { } ->x : Symbol(x, Decl(constraintSatisfactionWithAny.ts, 44, 16)) +>x : Symbol(C4.x, Decl(constraintSatisfactionWithAny.ts, 44, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 43, 9)) } diff --git a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols index d53e51b6623..a766234e6aa 100644 --- a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols +++ b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols @@ -26,7 +26,7 @@ class C { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) constructor(public x: T) { } ->x : Symbol(x, Decl(constraintSatisfactionWithEmptyObject.ts, 9, 16)) +>x : Symbol(C.x, Decl(constraintSatisfactionWithEmptyObject.ts, 9, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 8, 8)) } @@ -40,7 +40,7 @@ interface I { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) x: T; ->x : Symbol(x, Decl(constraintSatisfactionWithEmptyObject.ts, 14, 31)) +>x : Symbol(I.x, Decl(constraintSatisfactionWithEmptyObject.ts, 14, 31)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 14, 12)) } var i: I<{}>; @@ -70,7 +70,7 @@ class C2 { >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 25, 9)) constructor(public x: T) { } ->x : Symbol(x, Decl(constraintSatisfactionWithEmptyObject.ts, 26, 16)) +>x : Symbol(C2.x, Decl(constraintSatisfactionWithEmptyObject.ts, 26, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 25, 9)) } @@ -83,7 +83,7 @@ interface I2 { >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 31, 13)) x: T; ->x : Symbol(x, Decl(constraintSatisfactionWithEmptyObject.ts, 31, 28)) +>x : Symbol(I2.x, Decl(constraintSatisfactionWithEmptyObject.ts, 31, 28)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 31, 13)) } var i2: I2<{}>; diff --git a/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols b/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols index fa754b23dea..38d163b947b 100644 --- a/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols +++ b/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols @@ -16,7 +16,7 @@ class Bar { >T : Symbol(T, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 10)) data: Foo; // Error 1 Type 'Object' does not satisfy the constraint 'T' for type parameter 'U extends T'. ->data : Symbol(data, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 42)) +>data : Symbol(Bar.data, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 42)) >Foo : Symbol(Foo, Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 20)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols index 8a6ec113423..956e4ea5b62 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols @@ -3,51 +3,51 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) ->foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) ->bar : Symbol(bar, Decl(constructSignatureAssignabilityInInheritance2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(constructSignatureAssignabilityInInheritance2.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance2.ts, 3, 43)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) ->baz : Symbol(baz, Decl(constructSignatureAssignabilityInInheritance2.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(constructSignatureAssignabilityInInheritance2.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(constructSignatureAssignabilityInInheritance2.ts, 4, 47)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) ->bing : Symbol(bing, Decl(constructSignatureAssignabilityInInheritance2.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(constructSignatureAssignabilityInInheritance2.ts, 5, 33)) interface A { // T >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance2.ts, 5, 49)) // M's a: new (x: number) => number[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 7, 13)) +>a : Symbol(A.a, Decl(constructSignatureAssignabilityInInheritance2.ts, 7, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 9, 12)) a2: new (x: number) => string[]; ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance2.ts, 9, 35)) +>a2 : Symbol(A.a2, Decl(constructSignatureAssignabilityInInheritance2.ts, 9, 35)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 10, 13)) a3: new (x: number) => void; ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance2.ts, 10, 36)) +>a3 : Symbol(A.a3, Decl(constructSignatureAssignabilityInInheritance2.ts, 10, 36)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 11, 13)) a4: new (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance2.ts, 11, 32)) +>a4 : Symbol(A.a4, Decl(constructSignatureAssignabilityInInheritance2.ts, 11, 32)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 12, 13)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 12, 23)) a5: new (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance2.ts, 12, 45)) +>a5 : Symbol(A.a5, Decl(constructSignatureAssignabilityInInheritance2.ts, 12, 45)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 13, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance2.ts, 13, 17)) a6: new (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance2.ts, 13, 51)) +>a6 : Symbol(A.a6, Decl(constructSignatureAssignabilityInInheritance2.ts, 13, 51)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 14, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance2.ts, 14, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -55,7 +55,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(constructSignatureAssignabilityInInheritance2.ts, 14, 48)) +>a7 : Symbol(A.a7, Decl(constructSignatureAssignabilityInInheritance2.ts, 14, 48)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 15, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance2.ts, 15, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -65,7 +65,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(constructSignatureAssignabilityInInheritance2.ts, 15, 64)) +>a8 : Symbol(A.a8, Decl(constructSignatureAssignabilityInInheritance2.ts, 15, 64)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 16, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance2.ts, 16, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -79,7 +79,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(constructSignatureAssignabilityInInheritance2.ts, 16, 92)) +>a9 : Symbol(A.a9, Decl(constructSignatureAssignabilityInInheritance2.ts, 16, 92)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 17, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance2.ts, 17, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -93,13 +93,13 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a10: new (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(constructSignatureAssignabilityInInheritance2.ts, 17, 92)) +>a10 : Symbol(A.a10, Decl(constructSignatureAssignabilityInInheritance2.ts, 17, 92)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 18, 14)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance2.ts, 18, 42)) +>a11 : Symbol(A.a11, Decl(constructSignatureAssignabilityInInheritance2.ts, 18, 42)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 14)) >foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 18)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 33)) @@ -108,7 +108,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) a12: new (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 75)) +>a12 : Symbol(A.a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 75)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -119,7 +119,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: new (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 68)) +>a13 : Symbol(A.a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 68)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 21, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -130,14 +130,14 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a14: new (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(constructSignatureAssignabilityInInheritance2.ts, 21, 67)) +>a14 : Symbol(A.a14, Decl(constructSignatureAssignabilityInInheritance2.ts, 21, 67)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 14)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 18)) >b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 29)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) a15: { ->a15 : Symbol(a15, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 53)) +>a15 : Symbol(A.a15, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 53)) new (x: number): number[]; >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 24, 13)) @@ -147,7 +147,7 @@ interface A { // T }; a16: { ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance2.ts, 26, 6)) +>a16 : Symbol(A.a16, Decl(constructSignatureAssignabilityInInheritance2.ts, 26, 6)) new (x: T): number[]; >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 28, 13)) @@ -163,7 +163,7 @@ interface A { // T }; a17: { ->a17 : Symbol(a17, Decl(constructSignatureAssignabilityInInheritance2.ts, 30, 6)) +>a17 : Symbol(A.a17, Decl(constructSignatureAssignabilityInInheritance2.ts, 30, 6)) new (x: new (a: number) => number): number[]; >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 32, 13)) @@ -175,7 +175,7 @@ interface A { // T }; a18: { ->a18 : Symbol(a18, Decl(constructSignatureAssignabilityInInheritance2.ts, 34, 6)) +>a18 : Symbol(A.a18, Decl(constructSignatureAssignabilityInInheritance2.ts, 34, 6)) new (x: { >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 36, 13)) @@ -209,27 +209,27 @@ interface I extends A { // N's a: new (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 48, 23)) +>a : Symbol(I.a, Decl(constructSignatureAssignabilityInInheritance2.ts, 48, 23)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 12)) a2: new (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 28)) +>a2 : Symbol(I.a2, Decl(constructSignatureAssignabilityInInheritance2.ts, 50, 28)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 51, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 51, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 51, 13)) a3: new (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance2.ts, 51, 34)) +>a3 : Symbol(I.a3, Decl(constructSignatureAssignabilityInInheritance2.ts, 51, 34)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 13)) a4: new (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 27)) +>a4 : Symbol(I.a4, Decl(constructSignatureAssignabilityInInheritance2.ts, 52, 27)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 19)) @@ -239,7 +239,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 13)) a5: new (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 36)) +>a5 : Symbol(I.a5, Decl(constructSignatureAssignabilityInInheritance2.ts, 53, 36)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 19)) @@ -249,7 +249,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 13)) a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 42)) +>a6 : Symbol(I.a6, Decl(constructSignatureAssignabilityInInheritance2.ts, 54, 42)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 55, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 55, 28)) @@ -261,7 +261,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 55, 13)) a7: new (x: (arg: T) => U) => (r: T) => U; // ok ->a7 : Symbol(a7, Decl(constructSignatureAssignabilityInInheritance2.ts, 55, 71)) +>a7 : Symbol(I.a7, Decl(constructSignatureAssignabilityInInheritance2.ts, 55, 71)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 56, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 56, 28)) @@ -275,7 +275,7 @@ interface I extends A { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 56, 28)) a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok ->a8 : Symbol(a8, Decl(constructSignatureAssignabilityInInheritance2.ts, 56, 81)) +>a8 : Symbol(I.a8, Decl(constructSignatureAssignabilityInInheritance2.ts, 56, 81)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 57, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 57, 28)) @@ -293,7 +293,7 @@ interface I extends A { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 57, 28)) a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : Symbol(a9, Decl(constructSignatureAssignabilityInInheritance2.ts, 57, 100)) +>a9 : Symbol(I.a9, Decl(constructSignatureAssignabilityInInheritance2.ts, 57, 100)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 58, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 58, 28)) @@ -312,7 +312,7 @@ interface I extends A { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance2.ts, 58, 28)) a10: new (...x: T[]) => T; // ok ->a10 : Symbol(a10, Decl(constructSignatureAssignabilityInInheritance2.ts, 58, 128)) +>a10 : Symbol(I.a10, Decl(constructSignatureAssignabilityInInheritance2.ts, 58, 128)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 59, 14)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 59, 33)) @@ -320,7 +320,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 59, 14)) a11: new (x: T, y: T) => T; // ok ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance2.ts, 59, 49)) +>a11 : Symbol(I.a11, Decl(constructSignatureAssignabilityInInheritance2.ts, 59, 49)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 30)) @@ -330,7 +330,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 14)) a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : Symbol(a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 47)) +>a12 : Symbol(I.a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 47)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) @@ -343,7 +343,7 @@ interface I extends A { >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : Symbol(a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 77)) +>a13 : Symbol(I.a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 77)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) @@ -355,7 +355,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 14)) a14: new (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature ->a14 : Symbol(a14, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 67)) +>a14 : Symbol(I.a14, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 67)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 21)) @@ -365,21 +365,21 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 14)) a15: new (x: T) => T[]; // ok ->a15 : Symbol(a15, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 41)) +>a15 : Symbol(I.a15, Decl(constructSignatureAssignabilityInInheritance2.ts, 63, 41)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 17)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 14)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 14)) a16: new (x: T) => number[]; // ok ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 30)) +>a16 : Symbol(I.a16, Decl(constructSignatureAssignabilityInInheritance2.ts, 64, 30)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 65, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 65, 30)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 65, 14)) a17: new (x: new (a: T) => T) => T[]; // ok ->a17 : Symbol(a17, Decl(constructSignatureAssignabilityInInheritance2.ts, 65, 48)) +>a17 : Symbol(I.a17, Decl(constructSignatureAssignabilityInInheritance2.ts, 65, 48)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 25)) @@ -388,7 +388,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 14)) a18: new (x: new (a: T) => T) => T[]; // ok, no inferences for T but assignable to any ->a18 : Symbol(a18, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 44)) +>a18 : Symbol(I.a18, Decl(constructSignatureAssignabilityInInheritance2.ts, 66, 44)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 67, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 67, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 67, 25)) diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.symbols index 33ae7e0f6d6..e26a33bba4e 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.symbols @@ -3,48 +3,48 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) ->foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance4.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(constructSignatureAssignabilityInInheritance4.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance4.ts, 2, 27)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) ->bar : Symbol(bar, Decl(constructSignatureAssignabilityInInheritance4.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(constructSignatureAssignabilityInInheritance4.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance4.ts, 3, 43)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance4.ts, 2, 27)) ->baz : Symbol(baz, Decl(constructSignatureAssignabilityInInheritance4.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(constructSignatureAssignabilityInInheritance4.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(constructSignatureAssignabilityInInheritance4.ts, 4, 47)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) ->bing : Symbol(bing, Decl(constructSignatureAssignabilityInInheritance4.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(constructSignatureAssignabilityInInheritance4.ts, 5, 33)) interface A { // T >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance4.ts, 5, 49)) // M's a: new (x: T) => T[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance4.ts, 7, 13)) +>a : Symbol(A.a, Decl(constructSignatureAssignabilityInInheritance4.ts, 7, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 12)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 28)) +>a2 : Symbol(A.a2, Decl(constructSignatureAssignabilityInInheritance4.ts, 9, 28)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 10, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 10, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 10, 13)) a3: new (x: T) => void; ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance4.ts, 10, 34)) +>a3 : Symbol(A.a3, Decl(constructSignatureAssignabilityInInheritance4.ts, 10, 34)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 11, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 11, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 11, 13)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance4.ts, 11, 30)) +>a4 : Symbol(A.a4, Decl(constructSignatureAssignabilityInInheritance4.ts, 11, 30)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 19)) @@ -53,7 +53,7 @@ interface A { // T >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 15)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 41)) +>a5 : Symbol(A.a5, Decl(constructSignatureAssignabilityInInheritance4.ts, 12, 41)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 19)) @@ -63,7 +63,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 13)) a6: new (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 42)) +>a6 : Symbol(A.a6, Decl(constructSignatureAssignabilityInInheritance4.ts, 13, 42)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 14, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 14, 29)) @@ -73,7 +73,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 14, 13)) a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance4.ts, 14, 58)) +>a11 : Symbol(A.a11, Decl(constructSignatureAssignabilityInInheritance4.ts, 14, 58)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 15, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 15, 17)) >foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance4.ts, 15, 21)) @@ -86,7 +86,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) a15: new (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(constructSignatureAssignabilityInInheritance4.ts, 15, 63)) +>a15 : Symbol(A.a15, Decl(constructSignatureAssignabilityInInheritance4.ts, 15, 63)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 21)) @@ -96,7 +96,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 14)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 43)) +>a16 : Symbol(A.a16, Decl(constructSignatureAssignabilityInInheritance4.ts, 16, 43)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 17, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 17, 30)) @@ -107,7 +107,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 17, 14)) a17: { ->a17 : Symbol(a17, Decl(constructSignatureAssignabilityInInheritance4.ts, 17, 56)) +>a17 : Symbol(A.a17, Decl(constructSignatureAssignabilityInInheritance4.ts, 17, 56)) new (x: T): T[]; >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 19, 13)) @@ -125,7 +125,7 @@ interface A { // T }; a18: { ->a18 : Symbol(a18, Decl(constructSignatureAssignabilityInInheritance4.ts, 21, 6)) +>a18 : Symbol(A.a18, Decl(constructSignatureAssignabilityInInheritance4.ts, 21, 6)) new (x: T): number[]; >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 23, 13)) @@ -141,7 +141,7 @@ interface A { // T }; a19: { ->a19 : Symbol(a19, Decl(constructSignatureAssignabilityInInheritance4.ts, 25, 6)) +>a19 : Symbol(A.a19, Decl(constructSignatureAssignabilityInInheritance4.ts, 25, 6)) new (x: new (a: T) => T): T[]; >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 27, 13)) @@ -163,7 +163,7 @@ interface A { // T }; a20: { ->a20 : Symbol(a20, Decl(constructSignatureAssignabilityInInheritance4.ts, 29, 6)) +>a20 : Symbol(A.a20, Decl(constructSignatureAssignabilityInInheritance4.ts, 29, 6)) new (x: { >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 31, 13)) @@ -211,27 +211,27 @@ interface I extends A { // N's a: new (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance4.ts, 43, 23)) +>a : Symbol(I.a, Decl(constructSignatureAssignabilityInInheritance4.ts, 43, 23)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 12)) a2: new (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 28)) +>a2 : Symbol(I.a2, Decl(constructSignatureAssignabilityInInheritance4.ts, 45, 28)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 46, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 46, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 46, 13)) a3: new (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance4.ts, 46, 34)) +>a3 : Symbol(I.a3, Decl(constructSignatureAssignabilityInInheritance4.ts, 46, 34)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 13)) a4: new (x: T, y: U) => string; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 27)) +>a4 : Symbol(I.a4, Decl(constructSignatureAssignabilityInInheritance4.ts, 47, 27)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 19)) @@ -240,7 +240,7 @@ interface I extends A { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 15)) a5: new (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 41)) +>a5 : Symbol(I.a5, Decl(constructSignatureAssignabilityInInheritance4.ts, 48, 41)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 19)) @@ -250,7 +250,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 13)) a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 42)) +>a6 : Symbol(I.a6, Decl(constructSignatureAssignabilityInInheritance4.ts, 49, 42)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 50, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 50, 28)) @@ -262,7 +262,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 50, 13)) a11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; // ok ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance4.ts, 50, 71)) +>a11 : Symbol(I.a11, Decl(constructSignatureAssignabilityInInheritance4.ts, 50, 71)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 51, 14)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 51, 16)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 51, 20)) @@ -276,7 +276,7 @@ interface I extends A { >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) a15: new (x: { a: U; b: V; }) => U[]; // ok, T = U, T = V ->a15 : Symbol(a15, Decl(constructSignatureAssignabilityInInheritance4.ts, 51, 66)) +>a15 : Symbol(I.a15, Decl(constructSignatureAssignabilityInInheritance4.ts, 51, 66)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 14)) >V : Symbol(V, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 16)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 20)) @@ -287,7 +287,7 @@ interface I extends A { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 14)) a16: new (x: { a: T; b: T }) => T[]; // ok, more general parameter type ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 47)) +>a16 : Symbol(I.a16, Decl(constructSignatureAssignabilityInInheritance4.ts, 52, 47)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 21)) @@ -297,7 +297,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 14)) a17: new (x: T) => T[]; // ok, more general parameter type ->a17 : Symbol(a17, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 43)) +>a17 : Symbol(I.a17, Decl(constructSignatureAssignabilityInInheritance4.ts, 53, 43)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 54, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 54, 30)) @@ -305,14 +305,14 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 54, 14)) a18: new (x: T) => number[]; // ok, more general parameter type ->a18 : Symbol(a18, Decl(constructSignatureAssignabilityInInheritance4.ts, 54, 43)) +>a18 : Symbol(I.a18, Decl(constructSignatureAssignabilityInInheritance4.ts, 54, 43)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 55, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 55, 30)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 55, 14)) a19: new (x: new (a: T) => T) => T[]; // ok ->a19 : Symbol(a19, Decl(constructSignatureAssignabilityInInheritance4.ts, 55, 48)) +>a19 : Symbol(I.a19, Decl(constructSignatureAssignabilityInInheritance4.ts, 55, 48)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 56, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 56, 30)) @@ -322,7 +322,7 @@ interface I extends A { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 56, 14)) a20: new (x: new (a: T) => T) => any[]; // ok ->a20 : Symbol(a20, Decl(constructSignatureAssignabilityInInheritance4.ts, 56, 57)) +>a20 : Symbol(I.a20, Decl(constructSignatureAssignabilityInInheritance4.ts, 56, 57)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance4.ts, 57, 14)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance4.ts, 57, 22)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance4.ts, 0, 0)) diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols index 1b35cd0c896..ec2c71160c5 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols @@ -4,51 +4,51 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) ->foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 12)) +>foo : Symbol(Base.foo, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) ->bar : Symbol(bar, Decl(constructSignatureAssignabilityInInheritance5.ts, 4, 28)) +>bar : Symbol(Derived.bar, Decl(constructSignatureAssignabilityInInheritance5.ts, 4, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance5.ts, 4, 43)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) ->baz : Symbol(baz, Decl(constructSignatureAssignabilityInInheritance5.ts, 5, 32)) +>baz : Symbol(Derived2.baz, Decl(constructSignatureAssignabilityInInheritance5.ts, 5, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(constructSignatureAssignabilityInInheritance5.ts, 5, 47)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) ->bing : Symbol(bing, Decl(constructSignatureAssignabilityInInheritance5.ts, 6, 33)) +>bing : Symbol(OtherDerived.bing, Decl(constructSignatureAssignabilityInInheritance5.ts, 6, 33)) interface A { // T >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance5.ts, 6, 49)) // M's a: new (x: number) => number[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 8, 13)) +>a : Symbol(A.a, Decl(constructSignatureAssignabilityInInheritance5.ts, 8, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 10, 12)) a2: new (x: number) => string[]; ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance5.ts, 10, 35)) +>a2 : Symbol(A.a2, Decl(constructSignatureAssignabilityInInheritance5.ts, 10, 35)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 11, 13)) a3: new (x: number) => void; ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance5.ts, 11, 36)) +>a3 : Symbol(A.a3, Decl(constructSignatureAssignabilityInInheritance5.ts, 11, 36)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 12, 13)) a4: new (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance5.ts, 12, 32)) +>a4 : Symbol(A.a4, Decl(constructSignatureAssignabilityInInheritance5.ts, 12, 32)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 13, 13)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 13, 23)) a5: new (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance5.ts, 13, 45)) +>a5 : Symbol(A.a5, Decl(constructSignatureAssignabilityInInheritance5.ts, 13, 45)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 14, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance5.ts, 14, 17)) a6: new (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance5.ts, 14, 51)) +>a6 : Symbol(A.a6, Decl(constructSignatureAssignabilityInInheritance5.ts, 14, 51)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 15, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance5.ts, 15, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -56,7 +56,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(constructSignatureAssignabilityInInheritance5.ts, 15, 48)) +>a7 : Symbol(A.a7, Decl(constructSignatureAssignabilityInInheritance5.ts, 15, 48)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 16, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance5.ts, 16, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -66,7 +66,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(constructSignatureAssignabilityInInheritance5.ts, 16, 64)) +>a8 : Symbol(A.a8, Decl(constructSignatureAssignabilityInInheritance5.ts, 16, 64)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 17, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance5.ts, 17, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -80,7 +80,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(constructSignatureAssignabilityInInheritance5.ts, 17, 92)) +>a9 : Symbol(A.a9, Decl(constructSignatureAssignabilityInInheritance5.ts, 17, 92)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 18, 13)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance5.ts, 18, 17)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -94,13 +94,13 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a10: new (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(constructSignatureAssignabilityInInheritance5.ts, 18, 92)) +>a10 : Symbol(A.a10, Decl(constructSignatureAssignabilityInInheritance5.ts, 18, 92)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 19, 14)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance5.ts, 19, 42)) +>a11 : Symbol(A.a11, Decl(constructSignatureAssignabilityInInheritance5.ts, 19, 42)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 14)) >foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 18)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 33)) @@ -109,7 +109,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) a12: new (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 75)) +>a12 : Symbol(A.a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 75)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -120,7 +120,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: new (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 68)) +>a13 : Symbol(A.a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 68)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 22, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -131,7 +131,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a14: new (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(constructSignatureAssignabilityInInheritance5.ts, 22, 67)) +>a14 : Symbol(A.a14, Decl(constructSignatureAssignabilityInInheritance5.ts, 22, 67)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 14)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 18)) >b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 29)) @@ -143,7 +143,7 @@ interface B extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance5.ts, 6, 49)) a: new (x: T) => T[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 26, 23)) +>a : Symbol(B.a, Decl(constructSignatureAssignabilityInInheritance5.ts, 26, 23)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 27, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 27, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 27, 12)) @@ -157,27 +157,27 @@ interface I extends B { // N's a: new (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 31, 23)) +>a : Symbol(I.a, Decl(constructSignatureAssignabilityInInheritance5.ts, 31, 23)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 12)) a2: new (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 28)) +>a2 : Symbol(I.a2, Decl(constructSignatureAssignabilityInInheritance5.ts, 33, 28)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 34, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 34, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 34, 13)) a3: new (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance5.ts, 34, 34)) +>a3 : Symbol(I.a3, Decl(constructSignatureAssignabilityInInheritance5.ts, 34, 34)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 13)) a4: new (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 27)) +>a4 : Symbol(I.a4, Decl(constructSignatureAssignabilityInInheritance5.ts, 35, 27)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 19)) @@ -187,7 +187,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 13)) a5: new (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 36)) +>a5 : Symbol(I.a5, Decl(constructSignatureAssignabilityInInheritance5.ts, 36, 36)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 19)) @@ -197,7 +197,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 13)) a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 42)) +>a6 : Symbol(I.a6, Decl(constructSignatureAssignabilityInInheritance5.ts, 37, 42)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 38, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 38, 28)) @@ -209,7 +209,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 38, 13)) a7: new (x: (arg: T) => U) => (r: T) => U; // ok ->a7 : Symbol(a7, Decl(constructSignatureAssignabilityInInheritance5.ts, 38, 71)) +>a7 : Symbol(I.a7, Decl(constructSignatureAssignabilityInInheritance5.ts, 38, 71)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 39, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 39, 28)) @@ -223,7 +223,7 @@ interface I extends B { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 39, 28)) a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok ->a8 : Symbol(a8, Decl(constructSignatureAssignabilityInInheritance5.ts, 39, 81)) +>a8 : Symbol(I.a8, Decl(constructSignatureAssignabilityInInheritance5.ts, 39, 81)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 40, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 40, 28)) @@ -241,7 +241,7 @@ interface I extends B { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 40, 28)) a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : Symbol(a9, Decl(constructSignatureAssignabilityInInheritance5.ts, 40, 100)) +>a9 : Symbol(I.a9, Decl(constructSignatureAssignabilityInInheritance5.ts, 40, 100)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 41, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 41, 28)) @@ -260,7 +260,7 @@ interface I extends B { >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance5.ts, 41, 28)) a10: new (...x: T[]) => T; // ok ->a10 : Symbol(a10, Decl(constructSignatureAssignabilityInInheritance5.ts, 41, 128)) +>a10 : Symbol(I.a10, Decl(constructSignatureAssignabilityInInheritance5.ts, 41, 128)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 42, 14)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 42, 33)) @@ -268,7 +268,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 42, 14)) a11: new (x: T, y: T) => T; // ok ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance5.ts, 42, 49)) +>a11 : Symbol(I.a11, Decl(constructSignatureAssignabilityInInheritance5.ts, 42, 49)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 30)) @@ -278,7 +278,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 14)) a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : Symbol(a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 47)) +>a12 : Symbol(I.a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 47)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) @@ -291,7 +291,7 @@ interface I extends B { >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : Symbol(a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 77)) +>a13 : Symbol(I.a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 77)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) @@ -303,7 +303,7 @@ interface I extends B { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 14)) a14: new (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature ->a14 : Symbol(a14, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 67)) +>a14 : Symbol(I.a14, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 67)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 46, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 46, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 46, 21)) diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.symbols index 6f80b15484c..bf1a70e1651 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.symbols @@ -5,48 +5,48 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) ->foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance6.ts, 4, 12)) +>foo : Symbol(Base.foo, Decl(constructSignatureAssignabilityInInheritance6.ts, 4, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance6.ts, 4, 27)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) ->bar : Symbol(bar, Decl(constructSignatureAssignabilityInInheritance6.ts, 5, 28)) +>bar : Symbol(Derived.bar, Decl(constructSignatureAssignabilityInInheritance6.ts, 5, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance6.ts, 5, 43)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance6.ts, 4, 27)) ->baz : Symbol(baz, Decl(constructSignatureAssignabilityInInheritance6.ts, 6, 32)) +>baz : Symbol(Derived2.baz, Decl(constructSignatureAssignabilityInInheritance6.ts, 6, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(constructSignatureAssignabilityInInheritance6.ts, 6, 47)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) ->bing : Symbol(bing, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 33)) +>bing : Symbol(OtherDerived.bing, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 33)) interface A { // T >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) // M's a: new (x: T) => T[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance6.ts, 9, 13)) +>a : Symbol(A.a, Decl(constructSignatureAssignabilityInInheritance6.ts, 9, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 12)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 12)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 28)) +>a2 : Symbol(A.a2, Decl(constructSignatureAssignabilityInInheritance6.ts, 11, 28)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 12, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 12, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 12, 13)) a3: new (x: T) => void; ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance6.ts, 12, 34)) +>a3 : Symbol(A.a3, Decl(constructSignatureAssignabilityInInheritance6.ts, 12, 34)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 13, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 13, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 13, 13)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance6.ts, 13, 30)) +>a4 : Symbol(A.a4, Decl(constructSignatureAssignabilityInInheritance6.ts, 13, 30)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 19)) @@ -55,7 +55,7 @@ interface A { // T >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 15)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 41)) +>a5 : Symbol(A.a5, Decl(constructSignatureAssignabilityInInheritance6.ts, 14, 41)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 13)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 15)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 19)) @@ -65,7 +65,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 13)) a6: new (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 42)) +>a6 : Symbol(A.a6, Decl(constructSignatureAssignabilityInInheritance6.ts, 15, 42)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 16, 13)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 16, 29)) @@ -75,7 +75,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 16, 13)) a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance6.ts, 16, 58)) +>a11 : Symbol(A.a11, Decl(constructSignatureAssignabilityInInheritance6.ts, 16, 58)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 17, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 17, 17)) >foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance6.ts, 17, 21)) @@ -88,7 +88,7 @@ interface A { // T >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) a15: new (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(constructSignatureAssignabilityInInheritance6.ts, 17, 63)) +>a15 : Symbol(A.a15, Decl(constructSignatureAssignabilityInInheritance6.ts, 17, 63)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 17)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 21)) @@ -98,7 +98,7 @@ interface A { // T >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 14)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 43)) +>a16 : Symbol(A.a16, Decl(constructSignatureAssignabilityInInheritance6.ts, 18, 43)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 19, 14)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance6.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 19, 30)) @@ -116,7 +116,7 @@ interface I extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a: new (x: T) => T[]; ->a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance6.ts, 23, 26)) +>a : Symbol(I.a, Decl(constructSignatureAssignabilityInInheritance6.ts, 23, 26)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 24, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 23, 12)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 23, 12)) @@ -128,7 +128,7 @@ interface I2 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(constructSignatureAssignabilityInInheritance6.ts, 27, 27)) +>a2 : Symbol(I2.a2, Decl(constructSignatureAssignabilityInInheritance6.ts, 27, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 28, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 27, 13)) } @@ -139,7 +139,7 @@ interface I3 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a3: new (x: T) => T; ->a3 : Symbol(a3, Decl(constructSignatureAssignabilityInInheritance6.ts, 31, 27)) +>a3 : Symbol(I3.a3, Decl(constructSignatureAssignabilityInInheritance6.ts, 31, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 32, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 31, 13)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 31, 13)) @@ -151,7 +151,7 @@ interface I4 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(constructSignatureAssignabilityInInheritance6.ts, 35, 27)) +>a4 : Symbol(I4.a4, Decl(constructSignatureAssignabilityInInheritance6.ts, 35, 27)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 36, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 36, 16)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 35, 13)) @@ -165,7 +165,7 @@ interface I5 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(constructSignatureAssignabilityInInheritance6.ts, 39, 27)) +>a5 : Symbol(I5.a5, Decl(constructSignatureAssignabilityInInheritance6.ts, 39, 27)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 40, 13)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 40, 16)) >arg : Symbol(arg, Decl(constructSignatureAssignabilityInInheritance6.ts, 40, 20)) @@ -180,7 +180,7 @@ interface I7 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : Symbol(a11, Decl(constructSignatureAssignabilityInInheritance6.ts, 43, 27)) +>a11 : Symbol(I7.a11, Decl(constructSignatureAssignabilityInInheritance6.ts, 43, 27)) >U : Symbol(U, Decl(constructSignatureAssignabilityInInheritance6.ts, 44, 14)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 44, 17)) >foo : Symbol(foo, Decl(constructSignatureAssignabilityInInheritance6.ts, 44, 21)) @@ -199,7 +199,7 @@ interface I9 extends A { >A : Symbol(A, Decl(constructSignatureAssignabilityInInheritance6.ts, 7, 49)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(constructSignatureAssignabilityInInheritance6.ts, 47, 27)) +>a16 : Symbol(I9.a16, Decl(constructSignatureAssignabilityInInheritance6.ts, 47, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance6.ts, 48, 14)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance6.ts, 48, 18)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance6.ts, 47, 13)) diff --git a/tests/baselines/reference/constructorArgs.symbols b/tests/baselines/reference/constructorArgs.symbols index 083a094a4cd..ef21795b66f 100644 --- a/tests/baselines/reference/constructorArgs.symbols +++ b/tests/baselines/reference/constructorArgs.symbols @@ -3,7 +3,7 @@ interface Options { >Options : Symbol(Options, Decl(constructorArgs.ts, 0, 0)) value: number; ->value : Symbol(value, Decl(constructorArgs.ts, 0, 19)) +>value : Symbol(Options.value, Decl(constructorArgs.ts, 0, 19)) } class Super { @@ -19,7 +19,7 @@ class Sub extends Super { >Super : Symbol(Super, Decl(constructorArgs.ts, 2, 1)) constructor(public options:Options) { ->options : Symbol(options, Decl(constructorArgs.ts, 10, 13)) +>options : Symbol(Sub.options, Decl(constructorArgs.ts, 10, 13)) >Options : Symbol(Options, Decl(constructorArgs.ts, 0, 0)) super(options.value); diff --git a/tests/baselines/reference/constructorHasPrototypeProperty.symbols b/tests/baselines/reference/constructorHasPrototypeProperty.symbols index 0a90834ac51..b3f610db6dc 100644 --- a/tests/baselines/reference/constructorHasPrototypeProperty.symbols +++ b/tests/baselines/reference/constructorHasPrototypeProperty.symbols @@ -6,7 +6,7 @@ module NonGeneric { >C : Symbol(C, Decl(constructorHasPrototypeProperty.ts, 0, 19)) foo: string; ->foo : Symbol(foo, Decl(constructorHasPrototypeProperty.ts, 1, 13)) +>foo : Symbol(C.foo, Decl(constructorHasPrototypeProperty.ts, 1, 13)) } class D extends C { @@ -14,7 +14,7 @@ module NonGeneric { >C : Symbol(C, Decl(constructorHasPrototypeProperty.ts, 0, 19)) bar: string; ->bar : Symbol(bar, Decl(constructorHasPrototypeProperty.ts, 5, 23)) +>bar : Symbol(D.bar, Decl(constructorHasPrototypeProperty.ts, 5, 23)) } var r = C.prototype; @@ -49,11 +49,11 @@ module Generic { >U : Symbol(U, Decl(constructorHasPrototypeProperty.ts, 16, 14)) foo: T; ->foo : Symbol(foo, Decl(constructorHasPrototypeProperty.ts, 16, 18)) +>foo : Symbol(C.foo, Decl(constructorHasPrototypeProperty.ts, 16, 18)) >T : Symbol(T, Decl(constructorHasPrototypeProperty.ts, 16, 12)) bar: U; ->bar : Symbol(bar, Decl(constructorHasPrototypeProperty.ts, 17, 15)) +>bar : Symbol(C.bar, Decl(constructorHasPrototypeProperty.ts, 17, 15)) >U : Symbol(U, Decl(constructorHasPrototypeProperty.ts, 16, 14)) } @@ -66,11 +66,11 @@ module Generic { >U : Symbol(U, Decl(constructorHasPrototypeProperty.ts, 21, 14)) baz: T; ->baz : Symbol(baz, Decl(constructorHasPrototypeProperty.ts, 21, 33)) +>baz : Symbol(D.baz, Decl(constructorHasPrototypeProperty.ts, 21, 33)) >T : Symbol(T, Decl(constructorHasPrototypeProperty.ts, 21, 12)) bing: U; ->bing : Symbol(bing, Decl(constructorHasPrototypeProperty.ts, 22, 15)) +>bing : Symbol(D.bing, Decl(constructorHasPrototypeProperty.ts, 22, 15)) >U : Symbol(U, Decl(constructorHasPrototypeProperty.ts, 21, 14)) } diff --git a/tests/baselines/reference/constructorOverloads2.symbols b/tests/baselines/reference/constructorOverloads2.symbols index b2b9db6eda3..d2c5acf3b67 100644 --- a/tests/baselines/reference/constructorOverloads2.symbols +++ b/tests/baselines/reference/constructorOverloads2.symbols @@ -12,7 +12,7 @@ class FooBase { >x : Symbol(x, Decl(constructorOverloads2.ts, 3, 16)) } bar1() { /*WScript.Echo("base bar1");*/ } ->bar1 : Symbol(bar1, Decl(constructorOverloads2.ts, 4, 5)) +>bar1 : Symbol(FooBase.bar1, Decl(constructorOverloads2.ts, 4, 5)) } class Foo extends FooBase { @@ -37,7 +37,7 @@ class Foo extends FooBase { >x : Symbol(x, Decl(constructorOverloads2.ts, 12, 16)) } bar1() { /*WScript.Echo("bar1");*/ } ->bar1 : Symbol(bar1, Decl(constructorOverloads2.ts, 14, 5)) +>bar1 : Symbol(Foo.bar1, Decl(constructorOverloads2.ts, 14, 5)) } var f1 = new Foo("hey"); diff --git a/tests/baselines/reference/constructorOverloadsWithOptionalParameters.symbols b/tests/baselines/reference/constructorOverloadsWithOptionalParameters.symbols index 68cecd8f912..08404ab84e7 100644 --- a/tests/baselines/reference/constructorOverloadsWithOptionalParameters.symbols +++ b/tests/baselines/reference/constructorOverloadsWithOptionalParameters.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(constructorOverloadsWithOptionalParameters.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(constructorOverloadsWithOptionalParameters.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(constructorOverloadsWithOptionalParameters.ts, 0, 9)) constructor(x?, y?: any[]); >x : Symbol(x, Decl(constructorOverloadsWithOptionalParameters.ts, 2, 16)) @@ -18,7 +18,7 @@ class D { >T : Symbol(T, Decl(constructorOverloadsWithOptionalParameters.ts, 7, 8)) foo: string; ->foo : Symbol(foo, Decl(constructorOverloadsWithOptionalParameters.ts, 7, 12)) +>foo : Symbol(D.foo, Decl(constructorOverloadsWithOptionalParameters.ts, 7, 12)) constructor(x?, y?: any[]); >x : Symbol(x, Decl(constructorOverloadsWithOptionalParameters.ts, 9, 16)) diff --git a/tests/baselines/reference/constructorWithExpressionLessReturn.symbols b/tests/baselines/reference/constructorWithExpressionLessReturn.symbols index 0d6f06a91a4..3424e53c51a 100644 --- a/tests/baselines/reference/constructorWithExpressionLessReturn.symbols +++ b/tests/baselines/reference/constructorWithExpressionLessReturn.symbols @@ -11,7 +11,7 @@ class D { >D : Symbol(D, Decl(constructorWithExpressionLessReturn.ts, 4, 1)) x: number; ->x : Symbol(x, Decl(constructorWithExpressionLessReturn.ts, 6, 9)) +>x : Symbol(D.x, Decl(constructorWithExpressionLessReturn.ts, 6, 9)) constructor() { return; @@ -22,7 +22,7 @@ class E { >E : Symbol(E, Decl(constructorWithExpressionLessReturn.ts, 11, 1)) constructor(public x: number) { ->x : Symbol(x, Decl(constructorWithExpressionLessReturn.ts, 14, 16)) +>x : Symbol(E.x, Decl(constructorWithExpressionLessReturn.ts, 14, 16)) return; } @@ -33,7 +33,7 @@ class F { >T : Symbol(T, Decl(constructorWithExpressionLessReturn.ts, 19, 8)) constructor(public x: T) { ->x : Symbol(x, Decl(constructorWithExpressionLessReturn.ts, 20, 16)) +>x : Symbol(F.x, Decl(constructorWithExpressionLessReturn.ts, 20, 16)) >T : Symbol(T, Decl(constructorWithExpressionLessReturn.ts, 19, 8)) return; diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols b/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols index c19c61cdbb0..37a0c4adb02 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/contextualSignatureInstatiationContravariance.ts === interface Animal { x } >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationContravariance.ts, 0, 0)) ->x : Symbol(x, Decl(contextualSignatureInstatiationContravariance.ts, 0, 18)) +>x : Symbol(Animal.x, Decl(contextualSignatureInstatiationContravariance.ts, 0, 18)) interface Giraffe extends Animal { y } >Giraffe : Symbol(Giraffe, Decl(contextualSignatureInstatiationContravariance.ts, 0, 22)) >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationContravariance.ts, 0, 0)) ->y : Symbol(y, Decl(contextualSignatureInstatiationContravariance.ts, 1, 34)) +>y : Symbol(Giraffe.y, Decl(contextualSignatureInstatiationContravariance.ts, 1, 34)) interface Elephant extends Animal { y2 } >Elephant : Symbol(Elephant, Decl(contextualSignatureInstatiationContravariance.ts, 1, 38)) >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationContravariance.ts, 0, 0)) ->y2 : Symbol(y2, Decl(contextualSignatureInstatiationContravariance.ts, 2, 35)) +>y2 : Symbol(Elephant.y2, Decl(contextualSignatureInstatiationContravariance.ts, 2, 35)) var f2: (x: T, y: T) => void; >f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 3)) diff --git a/tests/baselines/reference/contextualSignatureInstatiationCovariance.symbols b/tests/baselines/reference/contextualSignatureInstatiationCovariance.symbols index 9b1b4c0c5f0..ff8582bb26a 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationCovariance.symbols +++ b/tests/baselines/reference/contextualSignatureInstatiationCovariance.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/contextualSignatureInstatiationCovariance.ts === interface Animal { x } >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationCovariance.ts, 0, 0)) ->x : Symbol(x, Decl(contextualSignatureInstatiationCovariance.ts, 0, 18)) +>x : Symbol(Animal.x, Decl(contextualSignatureInstatiationCovariance.ts, 0, 18)) interface TallThing { x2 } >TallThing : Symbol(TallThing, Decl(contextualSignatureInstatiationCovariance.ts, 0, 22)) ->x2 : Symbol(x2, Decl(contextualSignatureInstatiationCovariance.ts, 1, 21)) +>x2 : Symbol(TallThing.x2, Decl(contextualSignatureInstatiationCovariance.ts, 1, 21)) interface Giraffe extends Animal, TallThing { y } >Giraffe : Symbol(Giraffe, Decl(contextualSignatureInstatiationCovariance.ts, 1, 26)) >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationCovariance.ts, 0, 0)) >TallThing : Symbol(TallThing, Decl(contextualSignatureInstatiationCovariance.ts, 0, 22)) ->y : Symbol(y, Decl(contextualSignatureInstatiationCovariance.ts, 2, 45)) +>y : Symbol(Giraffe.y, Decl(contextualSignatureInstatiationCovariance.ts, 2, 45)) var f2: (x: T, y: T) => void; >f2 : Symbol(f2, Decl(contextualSignatureInstatiationCovariance.ts, 4, 3)) diff --git a/tests/baselines/reference/contextualThisType.symbols b/tests/baselines/reference/contextualThisType.symbols index 5030a9bbcde..b5f4a7d7bb7 100644 --- a/tests/baselines/reference/contextualThisType.symbols +++ b/tests/baselines/reference/contextualThisType.symbols @@ -3,7 +3,7 @@ interface X { >X : Symbol(X, Decl(contextualThisType.ts, 0, 0)) a: (p: this) => this; ->a : Symbol(a, Decl(contextualThisType.ts, 0, 13)) +>a : Symbol(X.a, Decl(contextualThisType.ts, 0, 13)) >p : Symbol(p, Decl(contextualThisType.ts, 1, 8)) } diff --git a/tests/baselines/reference/contextualTypeAppliedToVarArgs.symbols b/tests/baselines/reference/contextualTypeAppliedToVarArgs.symbols index bf8774cc7f0..4c87eef268c 100644 --- a/tests/baselines/reference/contextualTypeAppliedToVarArgs.symbols +++ b/tests/baselines/reference/contextualTypeAppliedToVarArgs.symbols @@ -15,7 +15,7 @@ class Foo{ Bar() { ->Bar : Symbol(Bar, Decl(contextualTypeAppliedToVarArgs.ts, 4, 10)) +>Bar : Symbol(Foo.Bar, Decl(contextualTypeAppliedToVarArgs.ts, 4, 10)) delegate(this, function (source, args2) >delegate : Symbol(delegate, Decl(contextualTypeAppliedToVarArgs.ts, 0, 0)) diff --git a/tests/baselines/reference/contextualTypeArrayReturnType.symbols b/tests/baselines/reference/contextualTypeArrayReturnType.symbols index ed0e22d698c..2982a1ce893 100644 --- a/tests/baselines/reference/contextualTypeArrayReturnType.symbols +++ b/tests/baselines/reference/contextualTypeArrayReturnType.symbols @@ -3,7 +3,7 @@ interface IBookStyle { >IBookStyle : Symbol(IBookStyle, Decl(contextualTypeArrayReturnType.ts, 0, 0)) initialLeftPageTransforms?: (width: number) => NamedTransform[]; ->initialLeftPageTransforms : Symbol(initialLeftPageTransforms, Decl(contextualTypeArrayReturnType.ts, 0, 22)) +>initialLeftPageTransforms : Symbol(IBookStyle.initialLeftPageTransforms, Decl(contextualTypeArrayReturnType.ts, 0, 22)) >width : Symbol(width, Decl(contextualTypeArrayReturnType.ts, 1, 33)) >NamedTransform : Symbol(NamedTransform, Decl(contextualTypeArrayReturnType.ts, 2, 1)) } @@ -20,7 +20,7 @@ interface Transform3D { >Transform3D : Symbol(Transform3D, Decl(contextualTypeArrayReturnType.ts, 6, 1)) cachedCss: string; ->cachedCss : Symbol(cachedCss, Decl(contextualTypeArrayReturnType.ts, 8, 23)) +>cachedCss : Symbol(Transform3D.cachedCss, Decl(contextualTypeArrayReturnType.ts, 8, 23)) } var style: IBookStyle = { diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols index 13f95623fd5..530779be29d 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols @@ -10,7 +10,7 @@ interface IWithNoCallSignatures { >IWithNoCallSignatures : Symbol(IWithNoCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 7, 33)) +>foo : Symbol(IWithNoCallSignatures.foo, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 7, 33)) } interface IWithCallSignatures { >IWithCallSignatures : Symbol(IWithCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 9, 1)) diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols index 14b595f8b33..985bb52f243 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols @@ -18,7 +18,7 @@ interface IWithNoStringIndexSignature { >IWithNoStringIndexSignature : Symbol(IWithNoStringIndexSignature, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 7, 1)) foo: string; ->foo : Symbol(foo, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 9, 39)) +>foo : Symbol(IWithNoStringIndexSignature.foo, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 9, 39)) } interface IWithNoNumberIndexSignature { >IWithNoNumberIndexSignature : Symbol(IWithNoNumberIndexSignature, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 11, 1)) diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols index 5a0891c3b88..2b5eb35aa07 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols @@ -6,48 +6,48 @@ interface I1 { >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 2, 13)) commonMethodType(a: string): string; ->commonMethodType : Symbol(commonMethodType, Decl(contextualTypeWithUnionTypeMembers.ts, 2, 17)) +>commonMethodType : Symbol(I1.commonMethodType, Decl(contextualTypeWithUnionTypeMembers.ts, 2, 17)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 3, 21)) commonPropertyType: string; ->commonPropertyType : Symbol(commonPropertyType, Decl(contextualTypeWithUnionTypeMembers.ts, 3, 40)) +>commonPropertyType : Symbol(I1.commonPropertyType, Decl(contextualTypeWithUnionTypeMembers.ts, 3, 40)) commonMethodWithTypeParameter(a: T): T; ->commonMethodWithTypeParameter : Symbol(commonMethodWithTypeParameter, Decl(contextualTypeWithUnionTypeMembers.ts, 4, 31)) +>commonMethodWithTypeParameter : Symbol(I1.commonMethodWithTypeParameter, Decl(contextualTypeWithUnionTypeMembers.ts, 4, 31)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 5, 34)) >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 2, 13)) >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 2, 13)) methodOnlyInI1(a: string): string; ->methodOnlyInI1 : Symbol(methodOnlyInI1, Decl(contextualTypeWithUnionTypeMembers.ts, 5, 43)) +>methodOnlyInI1 : Symbol(I1.methodOnlyInI1, Decl(contextualTypeWithUnionTypeMembers.ts, 5, 43)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 7, 19)) propertyOnlyInI1: string; ->propertyOnlyInI1 : Symbol(propertyOnlyInI1, Decl(contextualTypeWithUnionTypeMembers.ts, 7, 38)) +>propertyOnlyInI1 : Symbol(I1.propertyOnlyInI1, Decl(contextualTypeWithUnionTypeMembers.ts, 7, 38)) } interface I2 { >I2 : Symbol(I2, Decl(contextualTypeWithUnionTypeMembers.ts, 9, 1)) >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 10, 13)) commonMethodType(a: string): string; ->commonMethodType : Symbol(commonMethodType, Decl(contextualTypeWithUnionTypeMembers.ts, 10, 17)) +>commonMethodType : Symbol(I2.commonMethodType, Decl(contextualTypeWithUnionTypeMembers.ts, 10, 17)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 11, 21)) commonPropertyType: string; ->commonPropertyType : Symbol(commonPropertyType, Decl(contextualTypeWithUnionTypeMembers.ts, 11, 40)) +>commonPropertyType : Symbol(I2.commonPropertyType, Decl(contextualTypeWithUnionTypeMembers.ts, 11, 40)) commonMethodWithTypeParameter(a: T): T; ->commonMethodWithTypeParameter : Symbol(commonMethodWithTypeParameter, Decl(contextualTypeWithUnionTypeMembers.ts, 12, 31)) +>commonMethodWithTypeParameter : Symbol(I2.commonMethodWithTypeParameter, Decl(contextualTypeWithUnionTypeMembers.ts, 12, 31)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 13, 34)) >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 10, 13)) >T : Symbol(T, Decl(contextualTypeWithUnionTypeMembers.ts, 10, 13)) methodOnlyInI2(a: string): string; ->methodOnlyInI2 : Symbol(methodOnlyInI2, Decl(contextualTypeWithUnionTypeMembers.ts, 13, 43)) +>methodOnlyInI2 : Symbol(I2.methodOnlyInI2, Decl(contextualTypeWithUnionTypeMembers.ts, 13, 43)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 15, 19)) propertyOnlyInI2: string; ->propertyOnlyInI2 : Symbol(propertyOnlyInI2, Decl(contextualTypeWithUnionTypeMembers.ts, 15, 38)) +>propertyOnlyInI2 : Symbol(I2.propertyOnlyInI2, Decl(contextualTypeWithUnionTypeMembers.ts, 15, 38)) } // Let S be the set of types in U that has a property P. @@ -250,23 +250,23 @@ interface I11 { >I11 : Symbol(I11, Decl(contextualTypeWithUnionTypeMembers.ts, 74, 7)) commonMethodDifferentReturnType(a: string, b: number): string; ->commonMethodDifferentReturnType : Symbol(commonMethodDifferentReturnType, Decl(contextualTypeWithUnionTypeMembers.ts, 76, 15)) +>commonMethodDifferentReturnType : Symbol(I11.commonMethodDifferentReturnType, Decl(contextualTypeWithUnionTypeMembers.ts, 76, 15)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 77, 36)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 77, 46)) commonPropertyDifferentType: string; ->commonPropertyDifferentType : Symbol(commonPropertyDifferentType, Decl(contextualTypeWithUnionTypeMembers.ts, 77, 66)) +>commonPropertyDifferentType : Symbol(I11.commonPropertyDifferentType, Decl(contextualTypeWithUnionTypeMembers.ts, 77, 66)) } interface I21 { >I21 : Symbol(I21, Decl(contextualTypeWithUnionTypeMembers.ts, 79, 1)) commonMethodDifferentReturnType(a: string, b: number): number; ->commonMethodDifferentReturnType : Symbol(commonMethodDifferentReturnType, Decl(contextualTypeWithUnionTypeMembers.ts, 80, 15)) +>commonMethodDifferentReturnType : Symbol(I21.commonMethodDifferentReturnType, Decl(contextualTypeWithUnionTypeMembers.ts, 80, 15)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 81, 36)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 81, 46)) commonPropertyDifferentType: number; ->commonPropertyDifferentType : Symbol(commonPropertyDifferentType, Decl(contextualTypeWithUnionTypeMembers.ts, 81, 66)) +>commonPropertyDifferentType : Symbol(I21.commonPropertyDifferentType, Decl(contextualTypeWithUnionTypeMembers.ts, 81, 66)) } var i11: I11; >i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeMembers.ts, 84, 3)) diff --git a/tests/baselines/reference/contextualTyping10.symbols b/tests/baselines/reference/contextualTyping10.symbols index 130116264e0..33e40d73bff 100644 --- a/tests/baselines/reference/contextualTyping10.symbols +++ b/tests/baselines/reference/contextualTyping10.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/contextualTyping10.ts === class foo { public bar:{id:number;}[] = [{id:1}, {id:2}]; } >foo : Symbol(foo, Decl(contextualTyping10.ts, 0, 0)) ->bar : Symbol(bar, Decl(contextualTyping10.ts, 0, 11)) +>bar : Symbol(foo.bar, Decl(contextualTyping10.ts, 0, 11)) >id : Symbol(id, Decl(contextualTyping10.ts, 0, 24)) >id : Symbol(id, Decl(contextualTyping10.ts, 0, 42)) >id : Symbol(id, Decl(contextualTyping10.ts, 0, 50)) diff --git a/tests/baselines/reference/contextualTyping14.symbols b/tests/baselines/reference/contextualTyping14.symbols index 7de67445ca8..1480db7d2cd 100644 --- a/tests/baselines/reference/contextualTyping14.symbols +++ b/tests/baselines/reference/contextualTyping14.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/contextualTyping14.ts === class foo { public bar:(a:number)=>number = function(a){return a}; } >foo : Symbol(foo, Decl(contextualTyping14.ts, 0, 0)) ->bar : Symbol(bar, Decl(contextualTyping14.ts, 0, 11)) +>bar : Symbol(foo.bar, Decl(contextualTyping14.ts, 0, 11)) >a : Symbol(a, Decl(contextualTyping14.ts, 0, 24)) >a : Symbol(a, Decl(contextualTyping14.ts, 0, 53)) >a : Symbol(a, Decl(contextualTyping14.ts, 0, 53)) diff --git a/tests/baselines/reference/contextualTyping15.symbols b/tests/baselines/reference/contextualTyping15.symbols index 902fb03dc70..f2ba2bf6768 100644 --- a/tests/baselines/reference/contextualTyping15.symbols +++ b/tests/baselines/reference/contextualTyping15.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTyping15.ts === class foo { public bar: { (): number; (i: number): number; } = function() { return 1 }; } >foo : Symbol(foo, Decl(contextualTyping15.ts, 0, 0)) ->bar : Symbol(bar, Decl(contextualTyping15.ts, 0, 11)) +>bar : Symbol(foo.bar, Decl(contextualTyping15.ts, 0, 11)) >i : Symbol(i, Decl(contextualTyping15.ts, 0, 39)) diff --git a/tests/baselines/reference/contextualTyping3.symbols b/tests/baselines/reference/contextualTyping3.symbols index 584c399e4da..f685e0a0690 100644 --- a/tests/baselines/reference/contextualTyping3.symbols +++ b/tests/baselines/reference/contextualTyping3.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/contextualTyping3.ts === class foo { public bar:{id:number;} = {id:5}; } >foo : Symbol(foo, Decl(contextualTyping3.ts, 0, 0)) ->bar : Symbol(bar, Decl(contextualTyping3.ts, 0, 11)) +>bar : Symbol(foo.bar, Decl(contextualTyping3.ts, 0, 11)) >id : Symbol(id, Decl(contextualTyping3.ts, 0, 24)) >id : Symbol(id, Decl(contextualTyping3.ts, 0, 39)) diff --git a/tests/baselines/reference/contextualTypingArrayOfLambdas.symbols b/tests/baselines/reference/contextualTypingArrayOfLambdas.symbols index 79355e0a7c6..b049c498f11 100644 --- a/tests/baselines/reference/contextualTypingArrayOfLambdas.symbols +++ b/tests/baselines/reference/contextualTypingArrayOfLambdas.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(contextualTypingArrayOfLambdas.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(contextualTypingArrayOfLambdas.ts, 0, 9)) } class B extends A { @@ -11,7 +11,7 @@ class B extends A { >A : Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(contextualTypingArrayOfLambdas.ts, 4, 19)) +>bar : Symbol(B.bar, Decl(contextualTypingArrayOfLambdas.ts, 4, 19)) } class C extends A { @@ -19,7 +19,7 @@ class C extends A { >A : Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) baz: string; ->baz : Symbol(baz, Decl(contextualTypingArrayOfLambdas.ts, 8, 19)) +>baz : Symbol(C.baz, Decl(contextualTypingArrayOfLambdas.ts, 8, 19)) } var xs = [(x: A) => { }, (x: B) => { }, (x: C) => { }]; diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols b/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols index 1f8ad9f9c68..c0bd5e51561 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols @@ -15,21 +15,21 @@ class A { >A : Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82)) foo: number; ->foo : Symbol(foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9)) } class B extends A { >B : Symbol(B, Decl(contextualTypingOfConditionalExpression.ts, 4, 1)) >A : Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82)) bar: number; ->bar : Symbol(bar, Decl(contextualTypingOfConditionalExpression.ts, 5, 19)) +>bar : Symbol(B.bar, Decl(contextualTypingOfConditionalExpression.ts, 5, 19)) } class C extends A { >C : Symbol(C, Decl(contextualTypingOfConditionalExpression.ts, 7, 1)) >A : Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82)) baz: number; ->baz : Symbol(baz, Decl(contextualTypingOfConditionalExpression.ts, 8, 19)) +>baz : Symbol(C.baz, Decl(contextualTypingOfConditionalExpression.ts, 8, 19)) } var x2: (a: A) => void = true ? (a) => a.foo : (b) => b.foo; diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.symbols b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.symbols index 3a0c8e5db97..a7a2730456a 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.symbols +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.symbols @@ -3,11 +3,11 @@ interface Foo { >Foo : Symbol(Foo, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 0, 0)) getFoo(n: number): void; ->getFoo : Symbol(getFoo, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 0, 15), Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 1, 28)) +>getFoo : Symbol(Foo.getFoo, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 0, 15), Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 1, 28)) >n : Symbol(n, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 1, 11)) getFoo(s: string): void; ->getFoo : Symbol(getFoo, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 0, 15), Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 1, 28)) +>getFoo : Symbol(Foo.getFoo, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 0, 15), Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 1, 28)) >s : Symbol(s, Decl(contextualTypingOfLambdaWithMultipleSignatures.ts, 2, 11)) } diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols index 5530c958e91..8a3b4cc79c2 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols @@ -3,7 +3,7 @@ interface Show { >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) show: (x: number) => string; ->show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 0, 16)) +>show : Symbol(Show.show, Decl(contextuallyTypedBindingInitializer.ts, 0, 16)) >x : Symbol(x, Decl(contextuallyTypedBindingInitializer.ts, 1, 11)) } function f({ show = v => v.toString() }: Show) {} @@ -37,7 +37,7 @@ interface Nested { >Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 66)) nested: Show ->nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 7, 18)) +>nested : Symbol(Nested.nested, Decl(contextuallyTypedBindingInitializer.ts, 7, 18)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) } function ff({ nested = { show: v => v.toString() } }: Nested) {} @@ -54,7 +54,7 @@ interface Tuples { >Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializer.ts, 10, 64)) prop: [string, number]; ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 12, 18)) +>prop : Symbol(Tuples.prop, Decl(contextuallyTypedBindingInitializer.ts, 12, 18)) } function g({ prop = ["hello", 1234] }: Tuples) {} >g : Symbol(g, Decl(contextuallyTypedBindingInitializer.ts, 14, 1)) @@ -65,7 +65,7 @@ interface StringUnion { >StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializer.ts, 15, 49)) prop: "foo" | "bar"; ->prop : Symbol(prop, Decl(contextuallyTypedBindingInitializer.ts, 17, 23)) +>prop : Symbol(StringUnion.prop, Decl(contextuallyTypedBindingInitializer.ts, 17, 23)) } function h({ prop = "foo" }: StringUnion) {} >h : Symbol(h, Decl(contextuallyTypedBindingInitializer.ts, 19, 1)) @@ -76,7 +76,7 @@ interface StringIdentity { >StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 20, 44)) stringIdentity(s: string): string; ->stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 22, 26)) +>stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializer.ts, 22, 26)) >s : Symbol(s, Decl(contextuallyTypedBindingInitializer.ts, 23, 19)) } let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => x}; diff --git a/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.symbols b/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.symbols index 3c26110157a..c240af42b91 100644 --- a/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.symbols +++ b/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.symbols @@ -4,26 +4,26 @@ interface A { >A : Symbol(A, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 0, 0)) numProp: number; ->numProp : Symbol(numProp, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 1, 13)) +>numProp : Symbol(A.numProp, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 1, 13)) } interface B { >B : Symbol(B, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 3, 1)) strProp: string; ->strProp : Symbol(strProp, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 5, 14)) +>strProp : Symbol(B.strProp, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 5, 14)) } interface Foo { >Foo : Symbol(Foo, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 7, 1)) method1(arg: A): void; ->method1 : Symbol(method1, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 9, 15)) +>method1 : Symbol(Foo.method1, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 9, 15)) >arg : Symbol(arg, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 10, 12)) >A : Symbol(A, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 0, 0)) method2(arg: B): void; ->method2 : Symbol(method2, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 10, 26)) +>method2 : Symbol(Foo.method2, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 10, 26)) >arg : Symbol(arg, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 11, 12)) >B : Symbol(B, Decl(contextuallyTypedObjectLiteralMethodDeclaration01.ts, 3, 1)) } diff --git a/tests/baselines/reference/covariance1.symbols b/tests/baselines/reference/covariance1.symbols index db055e20bc6..8a9b39e0124 100644 --- a/tests/baselines/reference/covariance1.symbols +++ b/tests/baselines/reference/covariance1.symbols @@ -4,16 +4,16 @@ module M { interface X { m1:number; } >X : Symbol(X, Decl(covariance1.ts, 0, 10)) ->m1 : Symbol(m1, Decl(covariance1.ts, 2, 17)) +>m1 : Symbol(X.m1, Decl(covariance1.ts, 2, 17)) export class XX implements X { constructor(public m1:number) { } } >XX : Symbol(XX, Decl(covariance1.ts, 2, 30)) >X : Symbol(X, Decl(covariance1.ts, 0, 10)) ->m1 : Symbol(m1, Decl(covariance1.ts, 3, 47)) +>m1 : Symbol(XX.m1, Decl(covariance1.ts, 3, 47)) interface Y { x:X; } >Y : Symbol(Y, Decl(covariance1.ts, 3, 70)) ->x : Symbol(x, Decl(covariance1.ts, 5, 17)) +>x : Symbol(Y.x, Decl(covariance1.ts, 5, 17)) >X : Symbol(X, Decl(covariance1.ts, 0, 10)) export function f(y:Y) { } diff --git a/tests/baselines/reference/crashInResolveInterface.symbols b/tests/baselines/reference/crashInResolveInterface.symbols index c10bf0b26a8..52faf374c6c 100644 --- a/tests/baselines/reference/crashInResolveInterface.symbols +++ b/tests/baselines/reference/crashInResolveInterface.symbols @@ -8,14 +8,14 @@ interface C { >C : Symbol(C, Decl(file2.ts, 1, 17), Decl(file2.ts, 4, 1)) count(countTitle?: string): void; ->count : Symbol(count, Decl(file2.ts, 2, 13)) +>count : Symbol(C.count, Decl(file2.ts, 2, 13)) >countTitle : Symbol(countTitle, Decl(file2.ts, 3, 10)) } interface C { >C : Symbol(C, Decl(file2.ts, 1, 17), Decl(file2.ts, 4, 1)) log(message?: any, ...optionalParams: any[]): void; ->log : Symbol(log, Decl(file2.ts, 5, 13)) +>log : Symbol(C.log, Decl(file2.ts, 5, 13)) >message : Symbol(message, Decl(file2.ts, 6, 8)) >optionalParams : Symbol(optionalParams, Decl(file2.ts, 6, 22)) } @@ -26,7 +26,7 @@ interface Q { >T : Symbol(T, Decl(file1.ts, 0, 12)) each(action: (item: T, index: number) => void): void; ->each : Symbol(each, Decl(file1.ts, 0, 16)) +>each : Symbol(Q.each, Decl(file1.ts, 0, 16)) >action : Symbol(action, Decl(file1.ts, 1, 9)) >item : Symbol(item, Decl(file1.ts, 1, 18)) >T : Symbol(T, Decl(file1.ts, 0, 12)) diff --git a/tests/baselines/reference/crashInresolveReturnStatement.symbols b/tests/baselines/reference/crashInresolveReturnStatement.symbols index 359a62c7842..7df76ff49c2 100644 --- a/tests/baselines/reference/crashInresolveReturnStatement.symbols +++ b/tests/baselines/reference/crashInresolveReturnStatement.symbols @@ -3,7 +3,7 @@ class WorkItemToolbar { >WorkItemToolbar : Symbol(WorkItemToolbar, Decl(crashInresolveReturnStatement.ts, 0, 0)) public onToolbarItemClick() { ->onToolbarItemClick : Symbol(onToolbarItemClick, Decl(crashInresolveReturnStatement.ts, 0, 23)) +>onToolbarItemClick : Symbol(WorkItemToolbar.onToolbarItemClick, Decl(crashInresolveReturnStatement.ts, 0, 23)) WITDialogs.createCopyOfWorkItem(); >WITDialogs.createCopyOfWorkItem : Symbol(WITDialogs.createCopyOfWorkItem, Decl(crashInresolveReturnStatement.ts, 12, 18)) @@ -15,7 +15,7 @@ class CreateCopyOfWorkItemDialog { >CreateCopyOfWorkItemDialog : Symbol(CreateCopyOfWorkItemDialog, Decl(crashInresolveReturnStatement.ts, 4, 1)) public getDialogResult() { ->getDialogResult : Symbol(getDialogResult, Decl(crashInresolveReturnStatement.ts, 5, 34)) +>getDialogResult : Symbol(CreateCopyOfWorkItemDialog.getDialogResult, Decl(crashInresolveReturnStatement.ts, 5, 34)) return null; } diff --git a/tests/baselines/reference/cyclicModuleImport.symbols b/tests/baselines/reference/cyclicModuleImport.symbols index 86337812aad..14bdf2d47d3 100644 --- a/tests/baselines/reference/cyclicModuleImport.symbols +++ b/tests/baselines/reference/cyclicModuleImport.symbols @@ -10,10 +10,10 @@ declare module "SubModule" { >StaticVar : Symbol(SubModule.StaticVar, Decl(cyclicModuleImport.ts, 2, 21)) public InstanceVar: number; ->InstanceVar : Symbol(InstanceVar, Decl(cyclicModuleImport.ts, 3, 40)) +>InstanceVar : Symbol(SubModule.InstanceVar, Decl(cyclicModuleImport.ts, 3, 40)) public main: MainModule; ->main : Symbol(main, Decl(cyclicModuleImport.ts, 4, 35)) +>main : Symbol(SubModule.main, Decl(cyclicModuleImport.ts, 4, 35)) >MainModule : Symbol(MainModule, Decl(cyclicModuleImport.ts, 0, 28)) constructor(); @@ -29,7 +29,7 @@ declare module "MainModule" { >MainModule : Symbol(MainModule, Decl(cyclicModuleImport.ts, 11, 44)) public SubModule: SubModule; ->SubModule : Symbol(SubModule, Decl(cyclicModuleImport.ts, 12, 22)) +>SubModule : Symbol(MainModule.SubModule, Decl(cyclicModuleImport.ts, 12, 22)) >SubModule : Symbol(SubModule, Decl(cyclicModuleImport.ts, 10, 29)) constructor(); diff --git a/tests/baselines/reference/declFileAccessors.symbols b/tests/baselines/reference/declFileAccessors.symbols index 7275dd8c191..3de90051ec4 100644 --- a/tests/baselines/reference/declFileAccessors.symbols +++ b/tests/baselines/reference/declFileAccessors.symbols @@ -6,24 +6,24 @@ export class c1 { /** getter property*/ public get p3() { ->p3 : Symbol(p3, Decl(declFileAccessors_0.ts, 2, 17), Decl(declFileAccessors_0.ts, 6, 5)) +>p3 : Symbol(c1.p3, Decl(declFileAccessors_0.ts, 2, 17), Decl(declFileAccessors_0.ts, 6, 5)) return 10; } /** setter property*/ public set p3(/** this is value*/value: number) { ->p3 : Symbol(p3, Decl(declFileAccessors_0.ts, 2, 17), Decl(declFileAccessors_0.ts, 6, 5)) +>p3 : Symbol(c1.p3, Decl(declFileAccessors_0.ts, 2, 17), Decl(declFileAccessors_0.ts, 6, 5)) >value : Symbol(value, Decl(declFileAccessors_0.ts, 8, 18)) } /** private getter property*/ private get pp3() { ->pp3 : Symbol(pp3, Decl(declFileAccessors_0.ts, 9, 5), Decl(declFileAccessors_0.ts, 13, 5)) +>pp3 : Symbol(c1.pp3, Decl(declFileAccessors_0.ts, 9, 5), Decl(declFileAccessors_0.ts, 13, 5)) return 10; } /** private setter property*/ private set pp3(/** this is value*/value: number) { ->pp3 : Symbol(pp3, Decl(declFileAccessors_0.ts, 9, 5), Decl(declFileAccessors_0.ts, 13, 5)) +>pp3 : Symbol(c1.pp3, Decl(declFileAccessors_0.ts, 9, 5), Decl(declFileAccessors_0.ts, 13, 5)) >value : Symbol(value, Decl(declFileAccessors_0.ts, 15, 20)) } /** static getter property*/ @@ -38,21 +38,21 @@ export class c1 { >value : Symbol(value, Decl(declFileAccessors_0.ts, 22, 18)) } public get nc_p3() { ->nc_p3 : Symbol(nc_p3, Decl(declFileAccessors_0.ts, 23, 5), Decl(declFileAccessors_0.ts, 26, 5)) +>nc_p3 : Symbol(c1.nc_p3, Decl(declFileAccessors_0.ts, 23, 5), Decl(declFileAccessors_0.ts, 26, 5)) return 10; } public set nc_p3(value: number) { ->nc_p3 : Symbol(nc_p3, Decl(declFileAccessors_0.ts, 23, 5), Decl(declFileAccessors_0.ts, 26, 5)) +>nc_p3 : Symbol(c1.nc_p3, Decl(declFileAccessors_0.ts, 23, 5), Decl(declFileAccessors_0.ts, 26, 5)) >value : Symbol(value, Decl(declFileAccessors_0.ts, 27, 21)) } private get nc_pp3() { ->nc_pp3 : Symbol(nc_pp3, Decl(declFileAccessors_0.ts, 28, 5), Decl(declFileAccessors_0.ts, 31, 5)) +>nc_pp3 : Symbol(c1.nc_pp3, Decl(declFileAccessors_0.ts, 28, 5), Decl(declFileAccessors_0.ts, 31, 5)) return 10; } private set nc_pp3(value: number) { ->nc_pp3 : Symbol(nc_pp3, Decl(declFileAccessors_0.ts, 28, 5), Decl(declFileAccessors_0.ts, 31, 5)) +>nc_pp3 : Symbol(c1.nc_pp3, Decl(declFileAccessors_0.ts, 28, 5), Decl(declFileAccessors_0.ts, 31, 5)) >value : Symbol(value, Decl(declFileAccessors_0.ts, 32, 23)) } static get nc_s3() { @@ -67,14 +67,14 @@ export class c1 { // Only getter property public get onlyGetter() { ->onlyGetter : Symbol(onlyGetter, Decl(declFileAccessors_0.ts, 38, 5)) +>onlyGetter : Symbol(c1.onlyGetter, Decl(declFileAccessors_0.ts, 38, 5)) return 10; } // Only setter property public set onlySetter(value: number) { ->onlySetter : Symbol(onlySetter, Decl(declFileAccessors_0.ts, 43, 5)) +>onlySetter : Symbol(c1.onlySetter, Decl(declFileAccessors_0.ts, 43, 5)) >value : Symbol(value, Decl(declFileAccessors_0.ts, 46, 26)) } } @@ -86,24 +86,24 @@ class c2 { /** getter property*/ public get p3() { ->p3 : Symbol(p3, Decl(declFileAccessors_1.ts, 1, 10), Decl(declFileAccessors_1.ts, 5, 5)) +>p3 : Symbol(c2.p3, Decl(declFileAccessors_1.ts, 1, 10), Decl(declFileAccessors_1.ts, 5, 5)) return 10; } /** setter property*/ public set p3(/** this is value*/value: number) { ->p3 : Symbol(p3, Decl(declFileAccessors_1.ts, 1, 10), Decl(declFileAccessors_1.ts, 5, 5)) +>p3 : Symbol(c2.p3, Decl(declFileAccessors_1.ts, 1, 10), Decl(declFileAccessors_1.ts, 5, 5)) >value : Symbol(value, Decl(declFileAccessors_1.ts, 7, 18)) } /** private getter property*/ private get pp3() { ->pp3 : Symbol(pp3, Decl(declFileAccessors_1.ts, 8, 5), Decl(declFileAccessors_1.ts, 12, 5)) +>pp3 : Symbol(c2.pp3, Decl(declFileAccessors_1.ts, 8, 5), Decl(declFileAccessors_1.ts, 12, 5)) return 10; } /** private setter property*/ private set pp3(/** this is value*/value: number) { ->pp3 : Symbol(pp3, Decl(declFileAccessors_1.ts, 8, 5), Decl(declFileAccessors_1.ts, 12, 5)) +>pp3 : Symbol(c2.pp3, Decl(declFileAccessors_1.ts, 8, 5), Decl(declFileAccessors_1.ts, 12, 5)) >value : Symbol(value, Decl(declFileAccessors_1.ts, 14, 20)) } /** static getter property*/ @@ -118,21 +118,21 @@ class c2 { >value : Symbol(value, Decl(declFileAccessors_1.ts, 21, 18)) } public get nc_p3() { ->nc_p3 : Symbol(nc_p3, Decl(declFileAccessors_1.ts, 22, 5), Decl(declFileAccessors_1.ts, 25, 5)) +>nc_p3 : Symbol(c2.nc_p3, Decl(declFileAccessors_1.ts, 22, 5), Decl(declFileAccessors_1.ts, 25, 5)) return 10; } public set nc_p3(value: number) { ->nc_p3 : Symbol(nc_p3, Decl(declFileAccessors_1.ts, 22, 5), Decl(declFileAccessors_1.ts, 25, 5)) +>nc_p3 : Symbol(c2.nc_p3, Decl(declFileAccessors_1.ts, 22, 5), Decl(declFileAccessors_1.ts, 25, 5)) >value : Symbol(value, Decl(declFileAccessors_1.ts, 26, 21)) } private get nc_pp3() { ->nc_pp3 : Symbol(nc_pp3, Decl(declFileAccessors_1.ts, 27, 5), Decl(declFileAccessors_1.ts, 30, 5)) +>nc_pp3 : Symbol(c2.nc_pp3, Decl(declFileAccessors_1.ts, 27, 5), Decl(declFileAccessors_1.ts, 30, 5)) return 10; } private set nc_pp3(value: number) { ->nc_pp3 : Symbol(nc_pp3, Decl(declFileAccessors_1.ts, 27, 5), Decl(declFileAccessors_1.ts, 30, 5)) +>nc_pp3 : Symbol(c2.nc_pp3, Decl(declFileAccessors_1.ts, 27, 5), Decl(declFileAccessors_1.ts, 30, 5)) >value : Symbol(value, Decl(declFileAccessors_1.ts, 31, 23)) } static get nc_s3() { @@ -147,14 +147,14 @@ class c2 { // Only getter property public get onlyGetter() { ->onlyGetter : Symbol(onlyGetter, Decl(declFileAccessors_1.ts, 37, 5)) +>onlyGetter : Symbol(c2.onlyGetter, Decl(declFileAccessors_1.ts, 37, 5)) return 10; } // Only setter property public set onlySetter(value: number) { ->onlySetter : Symbol(onlySetter, Decl(declFileAccessors_1.ts, 42, 5)) +>onlySetter : Symbol(c2.onlySetter, Decl(declFileAccessors_1.ts, 42, 5)) >value : Symbol(value, Decl(declFileAccessors_1.ts, 45, 26)) } } diff --git a/tests/baselines/reference/declFileConstructors.symbols b/tests/baselines/reference/declFileConstructors.symbols index 1190c889dbf..ad86b6a721f 100644 --- a/tests/baselines/reference/declFileConstructors.symbols +++ b/tests/baselines/reference/declFileConstructors.symbols @@ -57,7 +57,7 @@ export class ConstructorWithPublicParameterProperty { >ConstructorWithPublicParameterProperty : Symbol(ConstructorWithPublicParameterProperty, Decl(declFileConstructors_0.ts, 26, 1)) constructor(public x: string) { ->x : Symbol(x, Decl(declFileConstructors_0.ts, 29, 16)) +>x : Symbol(ConstructorWithPublicParameterProperty.x, Decl(declFileConstructors_0.ts, 29, 16)) } } @@ -65,7 +65,7 @@ export class ConstructorWithPrivateParameterProperty { >ConstructorWithPrivateParameterProperty : Symbol(ConstructorWithPrivateParameterProperty, Decl(declFileConstructors_0.ts, 31, 1)) constructor(private x: string) { ->x : Symbol(x, Decl(declFileConstructors_0.ts, 34, 16)) +>x : Symbol(ConstructorWithPrivateParameterProperty.x, Decl(declFileConstructors_0.ts, 34, 16)) } } @@ -73,7 +73,7 @@ export class ConstructorWithOptionalParameterProperty { >ConstructorWithOptionalParameterProperty : Symbol(ConstructorWithOptionalParameterProperty, Decl(declFileConstructors_0.ts, 36, 1)) constructor(public x?: string) { ->x : Symbol(x, Decl(declFileConstructors_0.ts, 39, 16)) +>x : Symbol(ConstructorWithOptionalParameterProperty.x, Decl(declFileConstructors_0.ts, 39, 16)) } } @@ -81,7 +81,7 @@ export class ConstructorWithParameterInitializer { >ConstructorWithParameterInitializer : Symbol(ConstructorWithParameterInitializer, Decl(declFileConstructors_0.ts, 41, 1)) constructor(public x = "hello") { ->x : Symbol(x, Decl(declFileConstructors_0.ts, 44, 16)) +>x : Symbol(ConstructorWithParameterInitializer.x, Decl(declFileConstructors_0.ts, 44, 16)) } } @@ -143,7 +143,7 @@ class GlobalConstructorWithPublicParameterProperty { >GlobalConstructorWithPublicParameterProperty : Symbol(GlobalConstructorWithPublicParameterProperty, Decl(declFileConstructors_1.ts, 25, 1)) constructor(public x: string) { ->x : Symbol(x, Decl(declFileConstructors_1.ts, 28, 16)) +>x : Symbol(GlobalConstructorWithPublicParameterProperty.x, Decl(declFileConstructors_1.ts, 28, 16)) } } @@ -151,7 +151,7 @@ class GlobalConstructorWithPrivateParameterProperty { >GlobalConstructorWithPrivateParameterProperty : Symbol(GlobalConstructorWithPrivateParameterProperty, Decl(declFileConstructors_1.ts, 30, 1)) constructor(private x: string) { ->x : Symbol(x, Decl(declFileConstructors_1.ts, 33, 16)) +>x : Symbol(GlobalConstructorWithPrivateParameterProperty.x, Decl(declFileConstructors_1.ts, 33, 16)) } } @@ -159,7 +159,7 @@ class GlobalConstructorWithOptionalParameterProperty { >GlobalConstructorWithOptionalParameterProperty : Symbol(GlobalConstructorWithOptionalParameterProperty, Decl(declFileConstructors_1.ts, 35, 1)) constructor(public x?: string) { ->x : Symbol(x, Decl(declFileConstructors_1.ts, 38, 16)) +>x : Symbol(GlobalConstructorWithOptionalParameterProperty.x, Decl(declFileConstructors_1.ts, 38, 16)) } } @@ -167,6 +167,6 @@ class GlobalConstructorWithParameterInitializer { >GlobalConstructorWithParameterInitializer : Symbol(GlobalConstructorWithParameterInitializer, Decl(declFileConstructors_1.ts, 40, 1)) constructor(public x = "hello") { ->x : Symbol(x, Decl(declFileConstructors_1.ts, 43, 16)) +>x : Symbol(GlobalConstructorWithParameterInitializer.x, Decl(declFileConstructors_1.ts, 43, 16)) } } diff --git a/tests/baselines/reference/declFileExportAssignmentImportInternalModule.symbols b/tests/baselines/reference/declFileExportAssignmentImportInternalModule.symbols index 5953d446478..dc5382cbef6 100644 --- a/tests/baselines/reference/declFileExportAssignmentImportInternalModule.symbols +++ b/tests/baselines/reference/declFileExportAssignmentImportInternalModule.symbols @@ -17,13 +17,13 @@ module m3 { >connectExport : Symbol(connectExport, Decl(declFileExportAssignmentImportInternalModule.ts, 4, 9)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declFileExportAssignmentImportInternalModule.ts, 5, 40)) +>use : Symbol(connectExport.use, Decl(declFileExportAssignmentImportInternalModule.ts, 5, 40)) >mod : Symbol(mod, Decl(declFileExportAssignmentImportInternalModule.ts, 6, 18)) >connectModule : Symbol(connectModule, Decl(declFileExportAssignmentImportInternalModule.ts, 1, 22)) >connectExport : Symbol(connectExport, Decl(declFileExportAssignmentImportInternalModule.ts, 4, 9)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declFileExportAssignmentImportInternalModule.ts, 6, 55)) +>listen : Symbol(connectExport.listen, Decl(declFileExportAssignmentImportInternalModule.ts, 6, 55)) >port : Symbol(port, Decl(declFileExportAssignmentImportInternalModule.ts, 7, 21)) } diff --git a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.symbols b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.symbols index d8801ff3fe3..34b1cbff341 100644 --- a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.symbols +++ b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.symbols @@ -19,7 +19,7 @@ interface Foo { >T : Symbol(T, Decl(declFileExportAssignmentOfGenericInterface_0.ts, 1, 14)) a: string; ->a : Symbol(a, Decl(declFileExportAssignmentOfGenericInterface_0.ts, 1, 18)) +>a : Symbol(Foo.a, Decl(declFileExportAssignmentOfGenericInterface_0.ts, 1, 18)) } export = Foo; >Foo : Symbol(Foo, Decl(declFileExportAssignmentOfGenericInterface_0.ts, 0, 0)) diff --git a/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.symbols b/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.symbols index e20542996b2..92c82d6ed41 100644 --- a/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.symbols +++ b/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.symbols @@ -4,28 +4,28 @@ class A { >A : Symbol(A, Decl(declFileForClassWithMultipleBaseClasses.ts, 0, 0)) foo() { } ->foo : Symbol(foo, Decl(declFileForClassWithMultipleBaseClasses.ts, 1, 9)) +>foo : Symbol(A.foo, Decl(declFileForClassWithMultipleBaseClasses.ts, 1, 9)) } class B { >B : Symbol(B, Decl(declFileForClassWithMultipleBaseClasses.ts, 3, 1)) bar() { } ->bar : Symbol(bar, Decl(declFileForClassWithMultipleBaseClasses.ts, 5, 9)) +>bar : Symbol(B.bar, Decl(declFileForClassWithMultipleBaseClasses.ts, 5, 9)) } interface I { >I : Symbol(I, Decl(declFileForClassWithMultipleBaseClasses.ts, 7, 1), Decl(declFileForClassWithMultipleBaseClasses.ts, 23, 1)) baz(); ->baz : Symbol(baz, Decl(declFileForClassWithMultipleBaseClasses.ts, 9, 13)) +>baz : Symbol(I.baz, Decl(declFileForClassWithMultipleBaseClasses.ts, 9, 13)) } interface J { >J : Symbol(J, Decl(declFileForClassWithMultipleBaseClasses.ts, 11, 1)) bat(); ->bat : Symbol(bat, Decl(declFileForClassWithMultipleBaseClasses.ts, 13, 13)) +>bat : Symbol(J.bat, Decl(declFileForClassWithMultipleBaseClasses.ts, 13, 13)) } @@ -35,16 +35,16 @@ class D implements I, J { >J : Symbol(J, Decl(declFileForClassWithMultipleBaseClasses.ts, 11, 1)) baz() { } ->baz : Symbol(baz, Decl(declFileForClassWithMultipleBaseClasses.ts, 18, 25)) +>baz : Symbol(D.baz, Decl(declFileForClassWithMultipleBaseClasses.ts, 18, 25)) bat() { } ->bat : Symbol(bat, Decl(declFileForClassWithMultipleBaseClasses.ts, 19, 13)) +>bat : Symbol(D.bat, Decl(declFileForClassWithMultipleBaseClasses.ts, 19, 13)) foo() { } ->foo : Symbol(foo, Decl(declFileForClassWithMultipleBaseClasses.ts, 20, 13)) +>foo : Symbol(D.foo, Decl(declFileForClassWithMultipleBaseClasses.ts, 20, 13)) bar() { } ->bar : Symbol(bar, Decl(declFileForClassWithMultipleBaseClasses.ts, 21, 13)) +>bar : Symbol(D.bar, Decl(declFileForClassWithMultipleBaseClasses.ts, 21, 13)) } interface I extends A, B { diff --git a/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.symbols b/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.symbols index f28a8c2bfc7..69bf3db2cb3 100644 --- a/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.symbols +++ b/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.symbols @@ -4,14 +4,14 @@ class C { >C : Symbol(C, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 0, 0)) private foo(x: number); ->foo : Symbol(foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) +>foo : Symbol(C.foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) >x : Symbol(x, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 16)) private foo(x: string); ->foo : Symbol(foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) +>foo : Symbol(C.foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) >x : Symbol(x, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 16)) private foo(x: any) { } ->foo : Symbol(foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) +>foo : Symbol(C.foo, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 1, 9), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 2, 27), Decl(declFileForClassWithPrivateOverloadedFunction.ts, 3, 27)) >x : Symbol(x, Decl(declFileForClassWithPrivateOverloadedFunction.ts, 4, 16)) } diff --git a/tests/baselines/reference/declFileForInterfaceWithOptionalFunction.symbols b/tests/baselines/reference/declFileForInterfaceWithOptionalFunction.symbols index bcec395c80d..a6a3e272c94 100644 --- a/tests/baselines/reference/declFileForInterfaceWithOptionalFunction.symbols +++ b/tests/baselines/reference/declFileForInterfaceWithOptionalFunction.symbols @@ -4,10 +4,10 @@ interface I { >I : Symbol(I, Decl(declFileForInterfaceWithOptionalFunction.ts, 0, 0)) foo? (x?); ->foo : Symbol(foo, Decl(declFileForInterfaceWithOptionalFunction.ts, 1, 13)) +>foo : Symbol(I.foo, Decl(declFileForInterfaceWithOptionalFunction.ts, 1, 13)) >x : Symbol(x, Decl(declFileForInterfaceWithOptionalFunction.ts, 2, 10)) foo2? (x?: number): number; ->foo2 : Symbol(foo2, Decl(declFileForInterfaceWithOptionalFunction.ts, 2, 14)) +>foo2 : Symbol(I.foo2, Decl(declFileForInterfaceWithOptionalFunction.ts, 2, 14)) >x : Symbol(x, Decl(declFileForInterfaceWithOptionalFunction.ts, 3, 11)) } diff --git a/tests/baselines/reference/declFileForInterfaceWithRestParams.symbols b/tests/baselines/reference/declFileForInterfaceWithRestParams.symbols index 9a0fb4a71da..bccb096eb6c 100644 --- a/tests/baselines/reference/declFileForInterfaceWithRestParams.symbols +++ b/tests/baselines/reference/declFileForInterfaceWithRestParams.symbols @@ -4,18 +4,18 @@ interface I { >I : Symbol(I, Decl(declFileForInterfaceWithRestParams.ts, 0, 0)) foo(...x): typeof x; ->foo : Symbol(foo, Decl(declFileForInterfaceWithRestParams.ts, 1, 13)) +>foo : Symbol(I.foo, Decl(declFileForInterfaceWithRestParams.ts, 1, 13)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 2, 8)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 2, 8)) foo2(a: number, ...x): typeof x; ->foo2 : Symbol(foo2, Decl(declFileForInterfaceWithRestParams.ts, 2, 24)) +>foo2 : Symbol(I.foo2, Decl(declFileForInterfaceWithRestParams.ts, 2, 24)) >a : Symbol(a, Decl(declFileForInterfaceWithRestParams.ts, 3, 9)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 3, 19)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 3, 19)) foo3(b: string, ...x: string[]): typeof x; ->foo3 : Symbol(foo3, Decl(declFileForInterfaceWithRestParams.ts, 3, 36)) +>foo3 : Symbol(I.foo3, Decl(declFileForInterfaceWithRestParams.ts, 3, 36)) >b : Symbol(b, Decl(declFileForInterfaceWithRestParams.ts, 4, 9)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 4, 19)) >x : Symbol(x, Decl(declFileForInterfaceWithRestParams.ts, 4, 19)) diff --git a/tests/baselines/reference/declFileForTypeParameters.symbols b/tests/baselines/reference/declFileForTypeParameters.symbols index 41c567d89df..8838c3cdd05 100644 --- a/tests/baselines/reference/declFileForTypeParameters.symbols +++ b/tests/baselines/reference/declFileForTypeParameters.symbols @@ -5,18 +5,18 @@ class C { >T : Symbol(T, Decl(declFileForTypeParameters.ts, 1, 8)) x: T; ->x : Symbol(x, Decl(declFileForTypeParameters.ts, 1, 12)) +>x : Symbol(C.x, Decl(declFileForTypeParameters.ts, 1, 12)) >T : Symbol(T, Decl(declFileForTypeParameters.ts, 1, 8)) foo(a: T): T { ->foo : Symbol(foo, Decl(declFileForTypeParameters.ts, 2, 9)) +>foo : Symbol(C.foo, Decl(declFileForTypeParameters.ts, 2, 9)) >a : Symbol(a, Decl(declFileForTypeParameters.ts, 3, 8)) >T : Symbol(T, Decl(declFileForTypeParameters.ts, 1, 8)) >T : Symbol(T, Decl(declFileForTypeParameters.ts, 1, 8)) return this.x; ->this.x : Symbol(x, Decl(declFileForTypeParameters.ts, 1, 12)) +>this.x : Symbol(C.x, Decl(declFileForTypeParameters.ts, 1, 12)) >this : Symbol(C, Decl(declFileForTypeParameters.ts, 0, 0)) ->x : Symbol(x, Decl(declFileForTypeParameters.ts, 1, 12)) +>x : Symbol(C.x, Decl(declFileForTypeParameters.ts, 1, 12)) } } diff --git a/tests/baselines/reference/declFileGenericClassWithGenericExtendedClass.symbols b/tests/baselines/reference/declFileGenericClassWithGenericExtendedClass.symbols index c732a6ad233..5d98c76ffa1 100644 --- a/tests/baselines/reference/declFileGenericClassWithGenericExtendedClass.symbols +++ b/tests/baselines/reference/declFileGenericClassWithGenericExtendedClass.symbols @@ -3,7 +3,7 @@ interface IFoo { >IFoo : Symbol(IFoo, Decl(declFileGenericClassWithGenericExtendedClass.ts, 0, 0)) baz: Baz; ->baz : Symbol(baz, Decl(declFileGenericClassWithGenericExtendedClass.ts, 0, 16)) +>baz : Symbol(IFoo.baz, Decl(declFileGenericClassWithGenericExtendedClass.ts, 0, 16)) >Baz : Symbol(Baz, Decl(declFileGenericClassWithGenericExtendedClass.ts, 7, 1)) } class Base { } @@ -21,7 +21,7 @@ interface IBar { >T : Symbol(T, Decl(declFileGenericClassWithGenericExtendedClass.ts, 5, 15)) derived: Derived; ->derived : Symbol(derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 5, 19)) +>derived : Symbol(IBar.derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 5, 19)) >Derived : Symbol(Derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 3, 17)) >T : Symbol(T, Decl(declFileGenericClassWithGenericExtendedClass.ts, 5, 15)) } @@ -31,7 +31,7 @@ class Baz implements IBar { >Baz : Symbol(Baz, Decl(declFileGenericClassWithGenericExtendedClass.ts, 7, 1)) derived: Derived; ->derived : Symbol(derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 8, 32)) +>derived : Symbol(Baz.derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 8, 32)) >Derived : Symbol(Derived, Decl(declFileGenericClassWithGenericExtendedClass.ts, 3, 17)) >Baz : Symbol(Baz, Decl(declFileGenericClassWithGenericExtendedClass.ts, 7, 1)) } diff --git a/tests/baselines/reference/declFileGenericType.symbols b/tests/baselines/reference/declFileGenericType.symbols index b98e0df59ac..608c1e20145 100644 --- a/tests/baselines/reference/declFileGenericType.symbols +++ b/tests/baselines/reference/declFileGenericType.symbols @@ -69,7 +69,7 @@ export module C { >T : Symbol(T, Decl(declFileGenericType.ts, 13, 19)) constructor(public val: T) { } ->val : Symbol(val, Decl(declFileGenericType.ts, 15, 20)) +>val : Symbol(D.val, Decl(declFileGenericType.ts, 15, 20)) >T : Symbol(T, Decl(declFileGenericType.ts, 13, 19)) } diff --git a/tests/baselines/reference/declFileGenericType2.symbols b/tests/baselines/reference/declFileGenericType2.symbols index fa1b63a2ac4..60ced2992d4 100644 --- a/tests/baselines/reference/declFileGenericType2.symbols +++ b/tests/baselines/reference/declFileGenericType2.symbols @@ -48,7 +48,7 @@ declare module templa.mvc.composite { >IModel : Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) getControllers(): mvc.IController[]; ->getControllers : Symbol(getControllers, Decl(declFileGenericType2.ts, 14, 60)) +>getControllers : Symbol(ICompositeControllerModel.getControllers, Decl(declFileGenericType2.ts, 14, 60)) >mvc : Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : Symbol(IController, Decl(declFileGenericType2.ts, 5, 27)) >mvc : Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) @@ -125,7 +125,7 @@ module templa.dom.mvc.composite { >ModelType : Symbol(ModelType, Decl(declFileGenericType2.ts, 33, 52)) public _controllers: templa.mvc.IController[]; ->_controllers : Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) +>_controllers : Symbol(AbstractCompositeElementController._controllers, Decl(declFileGenericType2.ts, 33, 179)) >templa : Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : Symbol(templa.mvc.IController, Decl(declFileGenericType2.ts, 5, 27)) @@ -138,9 +138,9 @@ module templa.dom.mvc.composite { >super : Symbol(AbstractElementController, Decl(declFileGenericType2.ts, 23, 23)) this._controllers = []; ->this._controllers : Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) +>this._controllers : Symbol(AbstractCompositeElementController._controllers, Decl(declFileGenericType2.ts, 33, 179)) >this : Symbol(AbstractCompositeElementController, Decl(declFileGenericType2.ts, 32, 33)) ->_controllers : Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) +>_controllers : Symbol(AbstractCompositeElementController._controllers, Decl(declFileGenericType2.ts, 33, 179)) } } } diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols b/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols index a33e0fef758..1681dfa2782 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols @@ -29,13 +29,13 @@ module m2 { >connectExport : Symbol(connectExport, Decl(declFileImportModuleWithExportAssignment_0.ts, 4, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declFileImportModuleWithExportAssignment_0.ts, 5, 36)) +>use : Symbol(connectExport.use, Decl(declFileImportModuleWithExportAssignment_0.ts, 5, 36)) >mod : Symbol(mod, Decl(declFileImportModuleWithExportAssignment_0.ts, 6, 14)) >connectModule : Symbol(connectModule, Decl(declFileImportModuleWithExportAssignment_0.ts, 1, 11)) >connectExport : Symbol(connectExport, Decl(declFileImportModuleWithExportAssignment_0.ts, 4, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declFileImportModuleWithExportAssignment_0.ts, 6, 51)) +>listen : Symbol(connectExport.listen, Decl(declFileImportModuleWithExportAssignment_0.ts, 6, 51)) >port : Symbol(port, Decl(declFileImportModuleWithExportAssignment_0.ts, 7, 17)) } diff --git a/tests/baselines/reference/declFileMethods.symbols b/tests/baselines/reference/declFileMethods.symbols index 845f3044dae..723065c62e4 100644 --- a/tests/baselines/reference/declFileMethods.symbols +++ b/tests/baselines/reference/declFileMethods.symbols @@ -5,11 +5,11 @@ export class c1 { /** This comment should appear for foo*/ public foo() { ->foo : Symbol(foo, Decl(declFileMethods_0.ts, 1, 17)) +>foo : Symbol(c1.foo, Decl(declFileMethods_0.ts, 1, 17)) } /** This is comment for function signature*/ public fooWithParameters(/** this is comment about a*/a: string, ->fooWithParameters : Symbol(fooWithParameters, Decl(declFileMethods_0.ts, 4, 5)) +>fooWithParameters : Symbol(c1.fooWithParameters, Decl(declFileMethods_0.ts, 4, 5)) >a : Symbol(a, Decl(declFileMethods_0.ts, 6, 29)) /** this is comment for b*/ @@ -21,7 +21,7 @@ export class c1 { >a : Symbol(a, Decl(declFileMethods_0.ts, 6, 29)) } public fooWithRestParameters(a: string, ...rests: string[]) { ->fooWithRestParameters : Symbol(fooWithRestParameters, Decl(declFileMethods_0.ts, 10, 5)) +>fooWithRestParameters : Symbol(c1.fooWithRestParameters, Decl(declFileMethods_0.ts, 10, 5)) >a : Symbol(a, Decl(declFileMethods_0.ts, 11, 33)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 11, 43)) @@ -33,15 +33,15 @@ export class c1 { } public fooWithOverloads(a: string): string; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) +>fooWithOverloads : Symbol(c1.fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) >a : Symbol(a, Decl(declFileMethods_0.ts, 15, 28)) public fooWithOverloads(a: number): number; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) +>fooWithOverloads : Symbol(c1.fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) >a : Symbol(a, Decl(declFileMethods_0.ts, 16, 28)) public fooWithOverloads(a: any): any { ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) +>fooWithOverloads : Symbol(c1.fooWithOverloads, Decl(declFileMethods_0.ts, 13, 5), Decl(declFileMethods_0.ts, 15, 47), Decl(declFileMethods_0.ts, 16, 47)) >a : Symbol(a, Decl(declFileMethods_0.ts, 17, 28)) return a; @@ -51,11 +51,11 @@ export class c1 { /** This comment should appear for privateFoo*/ private privateFoo() { ->privateFoo : Symbol(privateFoo, Decl(declFileMethods_0.ts, 19, 5)) +>privateFoo : Symbol(c1.privateFoo, Decl(declFileMethods_0.ts, 19, 5)) } /** This is comment for function signature*/ private privateFooWithParameters(/** this is comment about a*/a: string, ->privateFooWithParameters : Symbol(privateFooWithParameters, Decl(declFileMethods_0.ts, 24, 5)) +>privateFooWithParameters : Symbol(c1.privateFooWithParameters, Decl(declFileMethods_0.ts, 24, 5)) >a : Symbol(a, Decl(declFileMethods_0.ts, 26, 37)) /** this is comment for b*/ @@ -67,7 +67,7 @@ export class c1 { >a : Symbol(a, Decl(declFileMethods_0.ts, 26, 37)) } private privateFooWithRestParameters(a: string, ...rests: string[]) { ->privateFooWithRestParameters : Symbol(privateFooWithRestParameters, Decl(declFileMethods_0.ts, 30, 5)) +>privateFooWithRestParameters : Symbol(c1.privateFooWithRestParameters, Decl(declFileMethods_0.ts, 30, 5)) >a : Symbol(a, Decl(declFileMethods_0.ts, 31, 41)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 31, 51)) @@ -78,15 +78,15 @@ export class c1 { >join : Symbol(Array.join, Decl(lib.d.ts, --, --)) } private privateFooWithOverloads(a: string): string; ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) +>privateFooWithOverloads : Symbol(c1.privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) >a : Symbol(a, Decl(declFileMethods_0.ts, 34, 36)) private privateFooWithOverloads(a: number): number; ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) +>privateFooWithOverloads : Symbol(c1.privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) >a : Symbol(a, Decl(declFileMethods_0.ts, 35, 36)) private privateFooWithOverloads(a: any): any { ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) +>privateFooWithOverloads : Symbol(c1.privateFooWithOverloads, Decl(declFileMethods_0.ts, 33, 5), Decl(declFileMethods_0.ts, 34, 55), Decl(declFileMethods_0.ts, 35, 55)) >a : Symbol(a, Decl(declFileMethods_0.ts, 36, 36)) return a; @@ -189,11 +189,11 @@ export interface I1 { /** This comment should appear for foo*/ foo(): string; ->foo : Symbol(foo, Decl(declFileMethods_0.ts, 79, 21)) +>foo : Symbol(I1.foo, Decl(declFileMethods_0.ts, 79, 21)) /** This is comment for function signature*/ fooWithParameters(/** this is comment about a*/a: string, ->fooWithParameters : Symbol(fooWithParameters, Decl(declFileMethods_0.ts, 81, 18)) +>fooWithParameters : Symbol(I1.fooWithParameters, Decl(declFileMethods_0.ts, 81, 18)) >a : Symbol(a, Decl(declFileMethods_0.ts, 84, 22)) /** this is comment for b*/ @@ -201,16 +201,16 @@ export interface I1 { >b : Symbol(b, Decl(declFileMethods_0.ts, 84, 61)) fooWithRestParameters(a: string, ...rests: string[]): string; ->fooWithRestParameters : Symbol(fooWithRestParameters, Decl(declFileMethods_0.ts, 86, 25)) +>fooWithRestParameters : Symbol(I1.fooWithRestParameters, Decl(declFileMethods_0.ts, 86, 25)) >a : Symbol(a, Decl(declFileMethods_0.ts, 88, 26)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 88, 36)) fooWithOverloads(a: string): string; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_0.ts, 88, 65), Decl(declFileMethods_0.ts, 90, 40)) +>fooWithOverloads : Symbol(I1.fooWithOverloads, Decl(declFileMethods_0.ts, 88, 65), Decl(declFileMethods_0.ts, 90, 40)) >a : Symbol(a, Decl(declFileMethods_0.ts, 90, 21)) fooWithOverloads(a: number): number; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_0.ts, 88, 65), Decl(declFileMethods_0.ts, 90, 40)) +>fooWithOverloads : Symbol(I1.fooWithOverloads, Decl(declFileMethods_0.ts, 88, 65), Decl(declFileMethods_0.ts, 90, 40)) >a : Symbol(a, Decl(declFileMethods_0.ts, 91, 21)) } @@ -220,11 +220,11 @@ class c2 { /** This comment should appear for foo*/ public foo() { ->foo : Symbol(foo, Decl(declFileMethods_1.ts, 0, 10)) +>foo : Symbol(c2.foo, Decl(declFileMethods_1.ts, 0, 10)) } /** This is comment for function signature*/ public fooWithParameters(/** this is comment about a*/a: string, ->fooWithParameters : Symbol(fooWithParameters, Decl(declFileMethods_1.ts, 3, 5)) +>fooWithParameters : Symbol(c2.fooWithParameters, Decl(declFileMethods_1.ts, 3, 5)) >a : Symbol(a, Decl(declFileMethods_1.ts, 5, 29)) /** this is comment for b*/ @@ -236,7 +236,7 @@ class c2 { >a : Symbol(a, Decl(declFileMethods_1.ts, 5, 29)) } public fooWithRestParameters(a: string, ...rests: string[]) { ->fooWithRestParameters : Symbol(fooWithRestParameters, Decl(declFileMethods_1.ts, 9, 5)) +>fooWithRestParameters : Symbol(c2.fooWithRestParameters, Decl(declFileMethods_1.ts, 9, 5)) >a : Symbol(a, Decl(declFileMethods_1.ts, 10, 33)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 10, 43)) @@ -248,15 +248,15 @@ class c2 { } public fooWithOverloads(a: string): string; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) +>fooWithOverloads : Symbol(c2.fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) >a : Symbol(a, Decl(declFileMethods_1.ts, 14, 28)) public fooWithOverloads(a: number): number; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) +>fooWithOverloads : Symbol(c2.fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) >a : Symbol(a, Decl(declFileMethods_1.ts, 15, 28)) public fooWithOverloads(a: any): any { ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) +>fooWithOverloads : Symbol(c2.fooWithOverloads, Decl(declFileMethods_1.ts, 12, 5), Decl(declFileMethods_1.ts, 14, 47), Decl(declFileMethods_1.ts, 15, 47)) >a : Symbol(a, Decl(declFileMethods_1.ts, 16, 28)) return a; @@ -266,11 +266,11 @@ class c2 { /** This comment should appear for privateFoo*/ private privateFoo() { ->privateFoo : Symbol(privateFoo, Decl(declFileMethods_1.ts, 18, 5)) +>privateFoo : Symbol(c2.privateFoo, Decl(declFileMethods_1.ts, 18, 5)) } /** This is comment for function signature*/ private privateFooWithParameters(/** this is comment about a*/a: string, ->privateFooWithParameters : Symbol(privateFooWithParameters, Decl(declFileMethods_1.ts, 23, 5)) +>privateFooWithParameters : Symbol(c2.privateFooWithParameters, Decl(declFileMethods_1.ts, 23, 5)) >a : Symbol(a, Decl(declFileMethods_1.ts, 25, 37)) /** this is comment for b*/ @@ -282,7 +282,7 @@ class c2 { >a : Symbol(a, Decl(declFileMethods_1.ts, 25, 37)) } private privateFooWithRestParameters(a: string, ...rests: string[]) { ->privateFooWithRestParameters : Symbol(privateFooWithRestParameters, Decl(declFileMethods_1.ts, 29, 5)) +>privateFooWithRestParameters : Symbol(c2.privateFooWithRestParameters, Decl(declFileMethods_1.ts, 29, 5)) >a : Symbol(a, Decl(declFileMethods_1.ts, 30, 41)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 30, 51)) @@ -293,15 +293,15 @@ class c2 { >join : Symbol(Array.join, Decl(lib.d.ts, --, --)) } private privateFooWithOverloads(a: string): string; ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) +>privateFooWithOverloads : Symbol(c2.privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) >a : Symbol(a, Decl(declFileMethods_1.ts, 33, 36)) private privateFooWithOverloads(a: number): number; ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) +>privateFooWithOverloads : Symbol(c2.privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) >a : Symbol(a, Decl(declFileMethods_1.ts, 34, 36)) private privateFooWithOverloads(a: any): any { ->privateFooWithOverloads : Symbol(privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) +>privateFooWithOverloads : Symbol(c2.privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) >a : Symbol(a, Decl(declFileMethods_1.ts, 35, 36)) return a; @@ -404,11 +404,11 @@ interface I2 { /** This comment should appear for foo*/ foo(): string; ->foo : Symbol(foo, Decl(declFileMethods_1.ts, 78, 14)) +>foo : Symbol(I2.foo, Decl(declFileMethods_1.ts, 78, 14)) /** This is comment for function signature*/ fooWithParameters(/** this is comment about a*/a: string, ->fooWithParameters : Symbol(fooWithParameters, Decl(declFileMethods_1.ts, 80, 18)) +>fooWithParameters : Symbol(I2.fooWithParameters, Decl(declFileMethods_1.ts, 80, 18)) >a : Symbol(a, Decl(declFileMethods_1.ts, 83, 22)) /** this is comment for b*/ @@ -416,16 +416,16 @@ interface I2 { >b : Symbol(b, Decl(declFileMethods_1.ts, 83, 61)) fooWithRestParameters(a: string, ...rests: string[]): string; ->fooWithRestParameters : Symbol(fooWithRestParameters, Decl(declFileMethods_1.ts, 85, 25)) +>fooWithRestParameters : Symbol(I2.fooWithRestParameters, Decl(declFileMethods_1.ts, 85, 25)) >a : Symbol(a, Decl(declFileMethods_1.ts, 87, 26)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 87, 36)) fooWithOverloads(a: string): string; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_1.ts, 87, 65), Decl(declFileMethods_1.ts, 89, 40)) +>fooWithOverloads : Symbol(I2.fooWithOverloads, Decl(declFileMethods_1.ts, 87, 65), Decl(declFileMethods_1.ts, 89, 40)) >a : Symbol(a, Decl(declFileMethods_1.ts, 89, 21)) fooWithOverloads(a: number): number; ->fooWithOverloads : Symbol(fooWithOverloads, Decl(declFileMethods_1.ts, 87, 65), Decl(declFileMethods_1.ts, 89, 40)) +>fooWithOverloads : Symbol(I2.fooWithOverloads, Decl(declFileMethods_1.ts, 87, 65), Decl(declFileMethods_1.ts, 89, 40)) >a : Symbol(a, Decl(declFileMethods_1.ts, 90, 21)) } diff --git a/tests/baselines/reference/declFileOptionalInterfaceMethod.symbols b/tests/baselines/reference/declFileOptionalInterfaceMethod.symbols index 2bf0c640fe5..ff6af2fd101 100644 --- a/tests/baselines/reference/declFileOptionalInterfaceMethod.symbols +++ b/tests/baselines/reference/declFileOptionalInterfaceMethod.symbols @@ -3,7 +3,7 @@ interface X { >X : Symbol(X, Decl(declFileOptionalInterfaceMethod.ts, 0, 0)) f? (); ->f : Symbol(f, Decl(declFileOptionalInterfaceMethod.ts, 0, 13)) +>f : Symbol(X.f, Decl(declFileOptionalInterfaceMethod.ts, 0, 13)) >T : Symbol(T, Decl(declFileOptionalInterfaceMethod.ts, 1, 8)) } diff --git a/tests/baselines/reference/declFilePrivateMethodOverloads.symbols b/tests/baselines/reference/declFilePrivateMethodOverloads.symbols index becc01438c2..6471ee7f5e7 100644 --- a/tests/baselines/reference/declFilePrivateMethodOverloads.symbols +++ b/tests/baselines/reference/declFilePrivateMethodOverloads.symbols @@ -4,13 +4,13 @@ interface IContext { >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) someMethod(); ->someMethod : Symbol(someMethod, Decl(declFilePrivateMethodOverloads.ts, 1, 20)) +>someMethod : Symbol(IContext.someMethod, Decl(declFilePrivateMethodOverloads.ts, 1, 20)) } class c1 { >c1 : Symbol(c1, Decl(declFilePrivateMethodOverloads.ts, 3, 1)) private _forEachBindingContext(bindingContext: IContext, fn: (bindingContext: IContext) => void); ->_forEachBindingContext : Symbol(_forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) +>_forEachBindingContext : Symbol(c1._forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) >bindingContext : Symbol(bindingContext, Decl(declFilePrivateMethodOverloads.ts, 5, 35)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 5, 60)) @@ -18,7 +18,7 @@ class c1 { >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) private _forEachBindingContext(bindingContextArray: Array, fn: (bindingContext: IContext) => void); ->_forEachBindingContext : Symbol(_forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) +>_forEachBindingContext : Symbol(c1._forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) >bindingContextArray : Symbol(bindingContextArray, Decl(declFilePrivateMethodOverloads.ts, 6, 35)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) @@ -27,7 +27,7 @@ class c1 { >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) private _forEachBindingContext(context, fn: (bindingContext: IContext) => void): void { ->_forEachBindingContext : Symbol(_forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) +>_forEachBindingContext : Symbol(c1._forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 4, 10), Decl(declFilePrivateMethodOverloads.ts, 5, 101), Decl(declFilePrivateMethodOverloads.ts, 6, 113)) >context : Symbol(context, Decl(declFilePrivateMethodOverloads.ts, 7, 35)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 7, 43)) >bindingContext : Symbol(bindingContext, Decl(declFilePrivateMethodOverloads.ts, 7, 49)) @@ -37,12 +37,12 @@ class c1 { } private overloadWithArityDifference(bindingContext: IContext); ->overloadWithArityDifference : Symbol(overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) +>overloadWithArityDifference : Symbol(c1.overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) >bindingContext : Symbol(bindingContext, Decl(declFilePrivateMethodOverloads.ts, 11, 40)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) private overloadWithArityDifference(bindingContextArray: Array, fn: (bindingContext: IContext) => void); ->overloadWithArityDifference : Symbol(overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) +>overloadWithArityDifference : Symbol(c1.overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) >bindingContextArray : Symbol(bindingContextArray, Decl(declFilePrivateMethodOverloads.ts, 12, 40)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) @@ -51,7 +51,7 @@ class c1 { >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) private overloadWithArityDifference(context): void { ->overloadWithArityDifference : Symbol(overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) +>overloadWithArityDifference : Symbol(c1.overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 9, 5), Decl(declFilePrivateMethodOverloads.ts, 11, 66), Decl(declFilePrivateMethodOverloads.ts, 12, 118)) >context : Symbol(context, Decl(declFilePrivateMethodOverloads.ts, 13, 40)) // Function here @@ -61,16 +61,16 @@ declare class c2 { >c2 : Symbol(c2, Decl(declFilePrivateMethodOverloads.ts, 16, 1)) private overload1(context, fn); ->overload1 : Symbol(overload1, Decl(declFilePrivateMethodOverloads.ts, 17, 18)) +>overload1 : Symbol(c2.overload1, Decl(declFilePrivateMethodOverloads.ts, 17, 18)) >context : Symbol(context, Decl(declFilePrivateMethodOverloads.ts, 18, 22)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 18, 30)) private overload2(context); ->overload2 : Symbol(overload2, Decl(declFilePrivateMethodOverloads.ts, 18, 35), Decl(declFilePrivateMethodOverloads.ts, 20, 31)) +>overload2 : Symbol(c2.overload2, Decl(declFilePrivateMethodOverloads.ts, 18, 35), Decl(declFilePrivateMethodOverloads.ts, 20, 31)) >context : Symbol(context, Decl(declFilePrivateMethodOverloads.ts, 20, 22)) private overload2(context, fn); ->overload2 : Symbol(overload2, Decl(declFilePrivateMethodOverloads.ts, 18, 35), Decl(declFilePrivateMethodOverloads.ts, 20, 31)) +>overload2 : Symbol(c2.overload2, Decl(declFilePrivateMethodOverloads.ts, 18, 35), Decl(declFilePrivateMethodOverloads.ts, 20, 31)) >context : Symbol(context, Decl(declFilePrivateMethodOverloads.ts, 21, 22)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 21, 30)) } diff --git a/tests/baselines/reference/declFileTypeAnnotationParenType.symbols b/tests/baselines/reference/declFileTypeAnnotationParenType.symbols index bc5668b70bd..7186da48fd7 100644 --- a/tests/baselines/reference/declFileTypeAnnotationParenType.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationParenType.symbols @@ -4,7 +4,7 @@ class c { >c : Symbol(c, Decl(declFileTypeAnnotationParenType.ts, 0, 0)) private p: string; ->p : Symbol(p, Decl(declFileTypeAnnotationParenType.ts, 1, 9)) +>p : Symbol(c.p, Decl(declFileTypeAnnotationParenType.ts, 1, 9)) } var x: (() => c)[] = [() => new c()]; diff --git a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols index 27507817a77..d12902b6f19 100644 --- a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols @@ -40,7 +40,7 @@ interface Window { >Window : Symbol(Window, Decl(declFileTypeAnnotationTypeAlias.ts, 18, 1)) someMethod(); ->someMethod : Symbol(someMethod, Decl(declFileTypeAnnotationTypeAlias.ts, 20, 18)) +>someMethod : Symbol(Window.someMethod, Decl(declFileTypeAnnotationTypeAlias.ts, 20, 18)) } module M { diff --git a/tests/baselines/reference/declFileTypeAnnotationUnionType.symbols b/tests/baselines/reference/declFileTypeAnnotationUnionType.symbols index f57df197579..ac4884326eb 100644 --- a/tests/baselines/reference/declFileTypeAnnotationUnionType.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationUnionType.symbols @@ -4,7 +4,7 @@ class c { >c : Symbol(c, Decl(declFileTypeAnnotationUnionType.ts, 0, 0)) private p: string; ->p : Symbol(p, Decl(declFileTypeAnnotationUnionType.ts, 1, 9)) +>p : Symbol(c.p, Decl(declFileTypeAnnotationUnionType.ts, 1, 9)) } module m { >m : Symbol(m, Decl(declFileTypeAnnotationUnionType.ts, 3, 1)) @@ -13,14 +13,14 @@ module m { >c : Symbol(c, Decl(declFileTypeAnnotationUnionType.ts, 4, 10)) private q: string; ->q : Symbol(q, Decl(declFileTypeAnnotationUnionType.ts, 5, 20)) +>q : Symbol(c.q, Decl(declFileTypeAnnotationUnionType.ts, 5, 20)) } export class g { >g : Symbol(g, Decl(declFileTypeAnnotationUnionType.ts, 7, 5)) >T : Symbol(T, Decl(declFileTypeAnnotationUnionType.ts, 8, 19)) private r: string; ->r : Symbol(r, Decl(declFileTypeAnnotationUnionType.ts, 8, 23)) +>r : Symbol(g.r, Decl(declFileTypeAnnotationUnionType.ts, 8, 23)) } } class g { @@ -28,7 +28,7 @@ class g { >T : Symbol(T, Decl(declFileTypeAnnotationUnionType.ts, 12, 8)) private s: string; ->s : Symbol(s, Decl(declFileTypeAnnotationUnionType.ts, 12, 12)) +>s : Symbol(g.s, Decl(declFileTypeAnnotationUnionType.ts, 12, 12)) } // Just the name diff --git a/tests/baselines/reference/declFileTypeofClass.symbols b/tests/baselines/reference/declFileTypeofClass.symbols index 26adfcc8ee4..0594edeef77 100644 --- a/tests/baselines/reference/declFileTypeofClass.symbols +++ b/tests/baselines/reference/declFileTypeofClass.symbols @@ -10,10 +10,10 @@ class c { >y : Symbol(c.y, Decl(declFileTypeofClass.ts, 2, 22)) private x3: string; ->x3 : Symbol(x3, Decl(declFileTypeofClass.ts, 3, 29)) +>x3 : Symbol(c.x3, Decl(declFileTypeofClass.ts, 3, 29)) public y3: number; ->y3 : Symbol(y3, Decl(declFileTypeofClass.ts, 4, 23)) +>y3 : Symbol(c.y3, Decl(declFileTypeofClass.ts, 4, 23)) } var x: c; diff --git a/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.symbols b/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.symbols index d2548af7c4f..dd591277cd3 100644 --- a/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.symbols +++ b/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.symbols @@ -9,7 +9,7 @@ declare module A.B.Base { >W : Symbol(W, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 1, 25)) id: number; ->id : Symbol(id, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 2, 20)) +>id : Symbol(W.id, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 2, 20)) } } module X.Y.base { @@ -28,7 +28,7 @@ module X.Y.base { >W : Symbol(A.B.Base.W, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 1, 25)) name: string; ->name : Symbol(name, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 8, 39)) +>name : Symbol(W.name, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 8, 39)) } } @@ -50,7 +50,7 @@ module X.Y.base.Z { >W : Symbol(W, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 6, 17)) value: boolean; ->value : Symbol(value, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 15, 47)) +>value : Symbol(W.value, Decl(declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts, 15, 47)) } } diff --git a/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.symbols b/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.symbols index e5016ec9baa..552a4a44b35 100644 --- a/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.symbols +++ b/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.symbols @@ -18,7 +18,7 @@ module A.B { >EventManager : Symbol(EventManager, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 6, 12)) id: number; ->id : Symbol(id, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 7, 31)) +>id : Symbol(EventManager.id, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 7, 31)) } } @@ -33,6 +33,6 @@ module A.B.C { >EventManager : Symbol(EventManager, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 6, 12)) name: string; ->name : Symbol(name, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 14, 51)) +>name : Symbol(ContextMenu.name, Decl(declFileWithExtendsClauseThatHasItsContainerNameConflict.ts, 14, 51)) } } diff --git a/tests/baselines/reference/declInput.symbols b/tests/baselines/reference/declInput.symbols index 90f075218c0..6faede31601 100644 --- a/tests/baselines/reference/declInput.symbols +++ b/tests/baselines/reference/declInput.symbols @@ -8,10 +8,10 @@ class bar { >bar : Symbol(bar, Decl(declInput.ts, 0, 0), Decl(declInput.ts, 2, 1)) public f() { return ''; } ->f : Symbol(f, Decl(declInput.ts, 4, 11)) +>f : Symbol(bar.f, Decl(declInput.ts, 4, 11)) public g() { return {a: null, b: undefined, c: void 4 }; } ->g : Symbol(g, Decl(declInput.ts, 5, 27)) +>g : Symbol(bar.g, Decl(declInput.ts, 5, 27)) >a : Symbol(a, Decl(declInput.ts, 6, 23)) >bar : Symbol(bar, Decl(declInput.ts, 0, 0), Decl(declInput.ts, 2, 1)) >b : Symbol(b, Decl(declInput.ts, 6, 36)) @@ -19,7 +19,7 @@ class bar { >c : Symbol(c, Decl(declInput.ts, 6, 50)) public h(x = 4, y = null, z = '') { x++; } ->h : Symbol(h, Decl(declInput.ts, 6, 65)) +>h : Symbol(bar.h, Decl(declInput.ts, 6, 65)) >x : Symbol(x, Decl(declInput.ts, 7, 11)) >y : Symbol(y, Decl(declInput.ts, 7, 17)) >z : Symbol(z, Decl(declInput.ts, 7, 27)) diff --git a/tests/baselines/reference/declInput3.symbols b/tests/baselines/reference/declInput3.symbols index 06f35db0164..c4097dd4b63 100644 --- a/tests/baselines/reference/declInput3.symbols +++ b/tests/baselines/reference/declInput3.symbols @@ -8,10 +8,10 @@ class bar { >bar : Symbol(bar, Decl(declInput3.ts, 2, 1)) public f() { return ''; } ->f : Symbol(f, Decl(declInput3.ts, 4, 11)) +>f : Symbol(bar.f, Decl(declInput3.ts, 4, 11)) public g() { return {a: null, b: undefined, c: void 4 }; } ->g : Symbol(g, Decl(declInput3.ts, 5, 27)) +>g : Symbol(bar.g, Decl(declInput3.ts, 5, 27)) >a : Symbol(a, Decl(declInput3.ts, 6, 23)) >bar : Symbol(bar, Decl(declInput3.ts, 2, 1)) >b : Symbol(b, Decl(declInput3.ts, 6, 36)) @@ -19,7 +19,7 @@ class bar { >c : Symbol(c, Decl(declInput3.ts, 6, 50)) public h(x = 4, y = null, z = '') { x++; } ->h : Symbol(h, Decl(declInput3.ts, 6, 65)) +>h : Symbol(bar.h, Decl(declInput3.ts, 6, 65)) >x : Symbol(x, Decl(declInput3.ts, 7, 11)) >y : Symbol(y, Decl(declInput3.ts, 7, 17)) >z : Symbol(z, Decl(declInput3.ts, 7, 27)) diff --git a/tests/baselines/reference/declInput4.symbols b/tests/baselines/reference/declInput4.symbols index 01af5987a7d..6420ad0916c 100644 --- a/tests/baselines/reference/declInput4.symbols +++ b/tests/baselines/reference/declInput4.symbols @@ -18,29 +18,29 @@ module M { >D : Symbol(D, Decl(declInput4.ts, 4, 19)) public m1: number; ->m1 : Symbol(m1, Decl(declInput4.ts, 5, 20)) +>m1 : Symbol(D.m1, Decl(declInput4.ts, 5, 20)) public m2: string; ->m2 : Symbol(m2, Decl(declInput4.ts, 6, 26)) +>m2 : Symbol(D.m2, Decl(declInput4.ts, 6, 26)) public m23: E; ->m23 : Symbol(m23, Decl(declInput4.ts, 7, 26)) +>m23 : Symbol(D.m23, Decl(declInput4.ts, 7, 26)) >E : Symbol(E, Decl(declInput4.ts, 1, 15)) public m24: I1; ->m24 : Symbol(m24, Decl(declInput4.ts, 8, 22)) +>m24 : Symbol(D.m24, Decl(declInput4.ts, 8, 22)) >I1 : Symbol(I1, Decl(declInput4.ts, 2, 21)) public m232(): E { return null;} ->m232 : Symbol(m232, Decl(declInput4.ts, 9, 23)) +>m232 : Symbol(D.m232, Decl(declInput4.ts, 9, 23)) >E : Symbol(E, Decl(declInput4.ts, 1, 15)) public m242(): I1 { return null; } ->m242 : Symbol(m242, Decl(declInput4.ts, 10, 40)) +>m242 : Symbol(D.m242, Decl(declInput4.ts, 10, 40)) >I1 : Symbol(I1, Decl(declInput4.ts, 2, 21)) public m26(i:I1) {} ->m26 : Symbol(m26, Decl(declInput4.ts, 11, 42)) +>m26 : Symbol(D.m26, Decl(declInput4.ts, 11, 42)) >i : Symbol(i, Decl(declInput4.ts, 12, 19)) >I1 : Symbol(I1, Decl(declInput4.ts, 2, 21)) } diff --git a/tests/baselines/reference/declarationEmitThisPredicates01.symbols b/tests/baselines/reference/declarationEmitThisPredicates01.symbols index d57f937d6c5..af5da751b8c 100644 --- a/tests/baselines/reference/declarationEmitThisPredicates01.symbols +++ b/tests/baselines/reference/declarationEmitThisPredicates01.symbols @@ -4,7 +4,7 @@ export class C { >C : Symbol(C, Decl(declarationEmitThisPredicates01.ts, 0, 0)) m(): this is D { ->m : Symbol(m, Decl(declarationEmitThisPredicates01.ts, 1, 16)) +>m : Symbol(C.m, Decl(declarationEmitThisPredicates01.ts, 1, 16)) >D : Symbol(D, Decl(declarationEmitThisPredicates01.ts, 5, 1)) return this instanceof D; diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends.symbols index 2120ad4ddde..319914702ac 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends.symbols +++ b/tests/baselines/reference/declarationEmit_expressionInExtends.symbols @@ -13,7 +13,7 @@ class Q { >Q : Symbol(Q, Decl(declarationEmit_expressionInExtends.ts, 3, 1)) s: string; ->s : Symbol(s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) +>s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) } class B extends x { diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols index 8cd166852ac..03a36a49b15 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols +++ b/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols @@ -6,11 +6,11 @@ class C { >U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) x: T; ->x : Symbol(x, Decl(declarationEmit_expressionInExtends2.ts, 1, 15)) +>x : Symbol(C.x, Decl(declarationEmit_expressionInExtends2.ts, 1, 15)) >T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 1, 8)) y: U; ->y : Symbol(y, Decl(declarationEmit_expressionInExtends2.ts, 2, 9)) +>y : Symbol(C.y, Decl(declarationEmit_expressionInExtends2.ts, 2, 9)) >U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) } diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.symbols b/tests/baselines/reference/declarationEmit_protectedMembers.symbols index cbf3db094ea..ee9f5ce199d 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.symbols +++ b/tests/baselines/reference/declarationEmit_protectedMembers.symbols @@ -5,23 +5,23 @@ class C1 { >C1 : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) protected x: number; ->x : Symbol(x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) +>x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) protected f() { ->f : Symbol(f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) +>f : Symbol(C1.f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) return this.x; ->this.x : Symbol(x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) +>this.x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) >this : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) ->x : Symbol(x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) +>x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) } protected set accessor(a: number) { } ->accessor : Symbol(accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) +>accessor : Symbol(C1.accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) >a : Symbol(a, Decl(declarationEmit_protectedMembers.ts, 9, 27)) protected get accessor() { return 0; } ->accessor : Symbol(accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) +>accessor : Symbol(C1.accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) protected static sx: number; >sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) @@ -49,7 +49,7 @@ class C2 extends C1 { >C1 : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) protected f() { ->f : Symbol(f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) +>f : Symbol(C2.f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) return super.f() + this.x; >super.f : Symbol(C1.f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) @@ -78,13 +78,13 @@ class C3 extends C2 { >C2 : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) x: number; ->x : Symbol(x, Decl(declarationEmit_protectedMembers.ts, 33, 21)) +>x : Symbol(C3.x, Decl(declarationEmit_protectedMembers.ts, 33, 21)) static sx: number; >sx : Symbol(C3.sx, Decl(declarationEmit_protectedMembers.ts, 34, 14)) f() { ->f : Symbol(f, Decl(declarationEmit_protectedMembers.ts, 35, 22)) +>f : Symbol(C3.f, Decl(declarationEmit_protectedMembers.ts, 35, 22)) return super.f(); >super.f : Symbol(C2.f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) @@ -109,6 +109,6 @@ class C4 { >C4 : Symbol(C4, Decl(declarationEmit_protectedMembers.ts, 44, 1)) constructor(protected a: number, protected b) { } ->a : Symbol(a, Decl(declarationEmit_protectedMembers.ts, 48, 16)) ->b : Symbol(b, Decl(declarationEmit_protectedMembers.ts, 48, 36)) +>a : Symbol(C4.a, Decl(declarationEmit_protectedMembers.ts, 48, 16)) +>b : Symbol(C4.b, Decl(declarationEmit_protectedMembers.ts, 48, 36)) } diff --git a/tests/baselines/reference/declarationMerging1.symbols b/tests/baselines/reference/declarationMerging1.symbols index 08fe0d4c1fd..7c15b18c5e2 100644 --- a/tests/baselines/reference/declarationMerging1.symbols +++ b/tests/baselines/reference/declarationMerging1.symbols @@ -3,13 +3,13 @@ class A { >A : Symbol(A, Decl(file1.ts, 0, 0), Decl(file2.ts, 0, 0)) protected _f: number; ->_f : Symbol(_f, Decl(file1.ts, 0, 9)) +>_f : Symbol(A._f, Decl(file1.ts, 0, 9)) getF() { return this._f; } ->getF : Symbol(getF, Decl(file1.ts, 1, 25)) ->this._f : Symbol(_f, Decl(file1.ts, 0, 9)) +>getF : Symbol(A.getF, Decl(file1.ts, 1, 25)) +>this._f : Symbol(A._f, Decl(file1.ts, 0, 9)) >this : Symbol(A, Decl(file1.ts, 0, 0), Decl(file2.ts, 0, 0)) ->_f : Symbol(_f, Decl(file1.ts, 0, 9)) +>_f : Symbol(A._f, Decl(file1.ts, 0, 9)) } === tests/cases/compiler/file2.ts === @@ -17,5 +17,5 @@ interface A { >A : Symbol(A, Decl(file1.ts, 0, 0), Decl(file2.ts, 0, 0)) run(); ->run : Symbol(run, Decl(file2.ts, 0, 13)) +>run : Symbol(A.run, Decl(file2.ts, 0, 13)) } diff --git a/tests/baselines/reference/declarationMerging2.symbols b/tests/baselines/reference/declarationMerging2.symbols index b3891374d32..050b5414da5 100644 --- a/tests/baselines/reference/declarationMerging2.symbols +++ b/tests/baselines/reference/declarationMerging2.symbols @@ -4,13 +4,13 @@ export class A { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 1, 22)) protected _f: number; ->_f : Symbol(_f, Decl(a.ts, 1, 16)) +>_f : Symbol(A._f, Decl(a.ts, 1, 16)) getF() { return this._f; } ->getF : Symbol(getF, Decl(a.ts, 2, 25)) ->this._f : Symbol(_f, Decl(a.ts, 1, 16)) +>getF : Symbol(A.getF, Decl(a.ts, 2, 25)) +>this._f : Symbol(A._f, Decl(a.ts, 1, 16)) >this : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 1, 22)) ->_f : Symbol(_f, Decl(a.ts, 1, 16)) +>_f : Symbol(A._f, Decl(a.ts, 1, 16)) } === tests/cases/compiler/b.ts === @@ -20,6 +20,6 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 1, 22)) run(); ->run : Symbol(run, Decl(b.ts, 2, 17)) +>run : Symbol(A.run, Decl(b.ts, 2, 17)) } } diff --git a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols index 0b1b06cc99e..af691ce828c 100644 --- a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols +++ b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols @@ -16,12 +16,12 @@ declare module "express" { >ExpressServer : Symbol(ExpressServer, Decl(declareExternalModuleWithExportAssignedFundule.ts, 6, 20)) enable(name: string): ExpressServer; ->enable : Symbol(enable, Decl(declareExternalModuleWithExportAssignedFundule.ts, 8, 40)) +>enable : Symbol(ExpressServer.enable, Decl(declareExternalModuleWithExportAssignedFundule.ts, 8, 40)) >name : Symbol(name, Decl(declareExternalModuleWithExportAssignedFundule.ts, 10, 19)) >ExpressServer : Symbol(ExpressServer, Decl(declareExternalModuleWithExportAssignedFundule.ts, 6, 20)) post(path: RegExp, handler: (req: Function) => void ): void; ->post : Symbol(post, Decl(declareExternalModuleWithExportAssignedFundule.ts, 10, 48)) +>post : Symbol(ExpressServer.post, Decl(declareExternalModuleWithExportAssignedFundule.ts, 10, 48)) >path : Symbol(path, Decl(declareExternalModuleWithExportAssignedFundule.ts, 12, 17)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >handler : Symbol(handler, Decl(declareExternalModuleWithExportAssignedFundule.ts, 12, 30)) diff --git a/tests/baselines/reference/declareFileExportAssignment.symbols b/tests/baselines/reference/declareFileExportAssignment.symbols index bb626e9eeab..012b5db24b1 100644 --- a/tests/baselines/reference/declareFileExportAssignment.symbols +++ b/tests/baselines/reference/declareFileExportAssignment.symbols @@ -14,13 +14,13 @@ module m2 { >connectExport : Symbol(connectExport, Decl(declareFileExportAssignment.ts, 3, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declareFileExportAssignment.ts, 4, 36)) +>use : Symbol(connectExport.use, Decl(declareFileExportAssignment.ts, 4, 36)) >mod : Symbol(mod, Decl(declareFileExportAssignment.ts, 5, 14)) >connectModule : Symbol(connectModule, Decl(declareFileExportAssignment.ts, 0, 11)) >connectExport : Symbol(connectExport, Decl(declareFileExportAssignment.ts, 3, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declareFileExportAssignment.ts, 5, 51)) +>listen : Symbol(connectExport.listen, Decl(declareFileExportAssignment.ts, 5, 51)) >port : Symbol(port, Decl(declareFileExportAssignment.ts, 6, 17)) } diff --git a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.symbols b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.symbols index e829c3d2f92..e757604a920 100644 --- a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.symbols +++ b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.symbols @@ -14,13 +14,13 @@ module m2 { >connectExport : Symbol(connectExport, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 3, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 4, 36)) +>use : Symbol(connectExport.use, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 4, 36)) >mod : Symbol(mod, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 5, 14)) >connectModule : Symbol(connectModule, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 0, 11)) >connectExport : Symbol(connectExport, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 3, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 5, 51)) +>listen : Symbol(connectExport.listen, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 5, 51)) >port : Symbol(port, Decl(declareFileExportAssignmentWithVarFromVariableStatement.ts, 6, 17)) } diff --git a/tests/baselines/reference/declaredExternalModule.symbols b/tests/baselines/reference/declaredExternalModule.symbols index e6fde33f2d0..fb331ecf011 100644 --- a/tests/baselines/reference/declaredExternalModule.symbols +++ b/tests/baselines/reference/declaredExternalModule.symbols @@ -15,13 +15,13 @@ declare module 'connect' { >connectExport : Symbol(connectExport, Decl(declaredExternalModule.ts, 6, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declaredExternalModule.ts, 8, 29)) +>use : Symbol(connectExport.use, Decl(declaredExternalModule.ts, 8, 29)) >mod : Symbol(mod, Decl(declaredExternalModule.ts, 10, 14)) >connectModule : Symbol(connectModule, Decl(declaredExternalModule.ts, 0, 26)) >connectExport : Symbol(connectExport, Decl(declaredExternalModule.ts, 6, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declaredExternalModule.ts, 10, 51)) +>listen : Symbol(connectExport.listen, Decl(declaredExternalModule.ts, 10, 51)) >port : Symbol(port, Decl(declaredExternalModule.ts, 12, 17)) } diff --git a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.symbols b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.symbols index 360f57d7a9a..efba0c20c41 100644 --- a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.symbols +++ b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.symbols @@ -13,13 +13,13 @@ declare module 'connect' { >connectExport : Symbol(connectExport, Decl(declaredExternalModuleWithExportAssignment.ts, 3, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(declaredExternalModuleWithExportAssignment.ts, 5, 29)) +>use : Symbol(connectExport.use, Decl(declaredExternalModuleWithExportAssignment.ts, 5, 29)) >mod : Symbol(mod, Decl(declaredExternalModuleWithExportAssignment.ts, 6, 14)) >connectModule : Symbol(connectModule, Decl(declaredExternalModuleWithExportAssignment.ts, 0, 26)) >connectExport : Symbol(connectExport, Decl(declaredExternalModuleWithExportAssignment.ts, 3, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(declaredExternalModuleWithExportAssignment.ts, 6, 51)) +>listen : Symbol(connectExport.listen, Decl(declaredExternalModuleWithExportAssignment.ts, 6, 51)) >port : Symbol(port, Decl(declaredExternalModuleWithExportAssignment.ts, 7, 17)) } diff --git a/tests/baselines/reference/decoratorMetadata.symbols b/tests/baselines/reference/decoratorMetadata.symbols index 842982286d4..ab0ae42dbb3 100644 --- a/tests/baselines/reference/decoratorMetadata.symbols +++ b/tests/baselines/reference/decoratorMetadata.symbols @@ -16,7 +16,7 @@ class MyComponent { >MyComponent : Symbol(MyComponent, Decl(component.ts, 2, 27)) constructor(public Service: Service) { ->Service : Symbol(Service, Decl(component.ts, 6, 16)) +>Service : Symbol(MyComponent.Service, Decl(component.ts, 6, 16)) >Service : Symbol(Service, Decl(component.ts, 0, 6)) } @@ -24,7 +24,7 @@ class MyComponent { >decorator : Symbol(decorator, Decl(component.ts, 2, 11)) method(x: this) { ->method : Symbol(method, Decl(component.ts, 7, 5)) +>method : Symbol(MyComponent.method, Decl(component.ts, 7, 5)) >x : Symbol(x, Decl(component.ts, 10, 11)) } } diff --git a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.symbols b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.symbols index 79c6fcbf24f..cf550fb26e1 100644 --- a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.symbols +++ b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.symbols @@ -16,7 +16,7 @@ class MyClass { >decorator : Symbol(decorator, Decl(decoratorMetadataForMethodWithNoReturnTypeAnnotation01.ts, 1, 11)) doSomething() { ->doSomething : Symbol(doSomething, Decl(decoratorMetadataForMethodWithNoReturnTypeAnnotation01.ts, 6, 5)) +>doSomething : Symbol(MyClass.doSomething, Decl(decoratorMetadataForMethodWithNoReturnTypeAnnotation01.ts, 6, 5)) } } diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.symbols b/tests/baselines/reference/decoratorMetadataOnInferredType.symbols index 09530f9cecf..5e0568a44a2 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.symbols +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.symbols @@ -32,7 +32,7 @@ export class B { >decorator : Symbol(decorator, Decl(decoratorMetadataOnInferredType.ts, 7, 1)) x = new A(); ->x : Symbol(x, Decl(decoratorMetadataOnInferredType.ts, 12, 16)) +>x : Symbol(B.x, Decl(decoratorMetadataOnInferredType.ts, 12, 16)) >A : Symbol(A, Decl(decoratorMetadataOnInferredType.ts, 3, 2)) } diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols b/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols index db1c388f206..5ee6edd1aee 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols @@ -32,7 +32,7 @@ export class B { >decorator : Symbol(decorator, Decl(decoratorMetadataWithConstructorType.ts, 7, 1)) x: A = new A(); ->x : Symbol(x, Decl(decoratorMetadataWithConstructorType.ts, 12, 16)) +>x : Symbol(B.x, Decl(decoratorMetadataWithConstructorType.ts, 12, 16)) >A : Symbol(A, Decl(decoratorMetadataWithConstructorType.ts, 3, 2)) >A : Symbol(A, Decl(decoratorMetadataWithConstructorType.ts, 3, 2)) } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.symbols index c967239df99..20b77b7550f 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.symbols @@ -3,7 +3,7 @@ export class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 17)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) } } @@ -25,7 +25,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: db; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 0, 8)) constructor(db: db) { @@ -33,16 +33,16 @@ class MyClass { >db : Symbol(db, Decl(service.ts, 0, 8)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) } } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.symbols index d79b05f68f6..b25eaf73fbd 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.symbols @@ -3,7 +3,7 @@ export class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 17)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) } } @@ -26,7 +26,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: Database; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >Database : Symbol(Database, Decl(service.ts, 0, 8)) constructor(db: Database) { // no collision @@ -34,16 +34,16 @@ class MyClass { >Database : Symbol(Database, Decl(service.ts, 0, 8)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(Database.doSomething, Decl(db.ts, 0, 17)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(Database.doSomething, Decl(db.ts, 0, 17)) } } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.symbols index b34468c7bd5..867b519a166 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.symbols @@ -16,7 +16,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: db.db; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 0, 0)) >db : Symbol(db.db, Decl(db.ts, 0, 0)) @@ -26,16 +26,16 @@ class MyClass { >db : Symbol(db.db, Decl(db.ts, 0, 0)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(db.db.doSomething, Decl(db.ts, 0, 17)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(db.db.doSomething, Decl(db.ts, 0, 17)) } } @@ -47,7 +47,7 @@ export class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 17)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) } } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.symbols index 6047d7f2882..dbf9d93654b 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.symbols @@ -3,7 +3,7 @@ export default class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 25)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 25)) } } @@ -25,7 +25,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: db; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 0, 6)) constructor(db: db) { // collision @@ -33,16 +33,16 @@ class MyClass { >db : Symbol(db, Decl(service.ts, 0, 6)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 25)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 25)) } } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.symbols index 27f807503bf..9225cdd1212 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.symbols @@ -3,7 +3,7 @@ export default class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 25)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 25)) } } @@ -25,7 +25,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: database; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >database : Symbol(database, Decl(service.ts, 0, 6)) constructor(db: database) { // no collision @@ -33,16 +33,16 @@ class MyClass { >database : Symbol(database, Decl(service.ts, 0, 6)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(database.doSomething, Decl(db.ts, 0, 25)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(database.doSomething, Decl(db.ts, 0, 25)) } } diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.symbols b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.symbols index 1b73ea2e9a3..079c9c8ee91 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.symbols +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.symbols @@ -16,7 +16,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(service.ts, 3, 1)) db: database.db; ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >database : Symbol(database, Decl(service.ts, 0, 0)) >db : Symbol(database.db, Decl(db.ts, 0, 0)) @@ -26,16 +26,16 @@ class MyClass { >db : Symbol(database.db, Decl(db.ts, 0, 0)) this.db = db; ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >db : Symbol(db, Decl(service.ts, 8, 16)) this.db.doSomething(); >this.db.doSomething : Symbol(database.db.doSomething, Decl(db.ts, 0, 17)) ->this.db : Symbol(db, Decl(service.ts, 5, 15)) +>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >this : Symbol(MyClass, Decl(service.ts, 3, 1)) ->db : Symbol(db, Decl(service.ts, 5, 15)) +>db : Symbol(MyClass.db, Decl(service.ts, 5, 15)) >doSomething : Symbol(database.db.doSomething, Decl(db.ts, 0, 17)) } } @@ -47,7 +47,7 @@ export class db { >db : Symbol(db, Decl(db.ts, 0, 0)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(db.ts, 0, 17)) +>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17)) } } diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.symbols b/tests/baselines/reference/decoratorOnClassAccessor1.symbols index 6b8e3a16c18..54fe1c7345d 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor1.symbols @@ -15,5 +15,5 @@ class C { @dec get accessor() { return 1; } >dec : Symbol(dec, Decl(decoratorOnClassAccessor1.ts, 0, 0)) ->accessor : Symbol(accessor, Decl(decoratorOnClassAccessor1.ts, 2, 9)) +>accessor : Symbol(C.accessor, Decl(decoratorOnClassAccessor1.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.symbols b/tests/baselines/reference/decoratorOnClassAccessor2.symbols index 936afa14de9..cb85e3b261c 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor2.symbols @@ -15,5 +15,5 @@ class C { @dec public get accessor() { return 1; } >dec : Symbol(dec, Decl(decoratorOnClassAccessor2.ts, 0, 0)) ->accessor : Symbol(accessor, Decl(decoratorOnClassAccessor2.ts, 2, 9)) +>accessor : Symbol(C.accessor, Decl(decoratorOnClassAccessor2.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.symbols b/tests/baselines/reference/decoratorOnClassAccessor4.symbols index 0acd491abed..47776e58aa5 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor4.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor4.symbols @@ -15,6 +15,6 @@ class C { @dec set accessor(value: number) { } >dec : Symbol(dec, Decl(decoratorOnClassAccessor4.ts, 0, 0)) ->accessor : Symbol(accessor, Decl(decoratorOnClassAccessor4.ts, 2, 9)) +>accessor : Symbol(C.accessor, Decl(decoratorOnClassAccessor4.ts, 2, 9)) >value : Symbol(value, Decl(decoratorOnClassAccessor4.ts, 3, 22)) } diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.symbols b/tests/baselines/reference/decoratorOnClassAccessor5.symbols index 0585cff96b6..d35e97ece50 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor5.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor5.symbols @@ -15,6 +15,6 @@ class C { @dec public set accessor(value: number) { } >dec : Symbol(dec, Decl(decoratorOnClassAccessor5.ts, 0, 0)) ->accessor : Symbol(accessor, Decl(decoratorOnClassAccessor5.ts, 2, 9)) +>accessor : Symbol(C.accessor, Decl(decoratorOnClassAccessor5.ts, 2, 9)) >value : Symbol(value, Decl(decoratorOnClassAccessor5.ts, 3, 29)) } diff --git a/tests/baselines/reference/decoratorOnClassMethod1.symbols b/tests/baselines/reference/decoratorOnClassMethod1.symbols index 8a92ad7b01b..bc2143f72a9 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod1.symbols @@ -15,5 +15,5 @@ class C { @dec method() {} >dec : Symbol(dec, Decl(decoratorOnClassMethod1.ts, 0, 0)) ->method : Symbol(method, Decl(decoratorOnClassMethod1.ts, 2, 9)) +>method : Symbol(C.method, Decl(decoratorOnClassMethod1.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassMethod2.symbols b/tests/baselines/reference/decoratorOnClassMethod2.symbols index ebab8905469..addfdb70d40 100644 --- a/tests/baselines/reference/decoratorOnClassMethod2.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod2.symbols @@ -15,5 +15,5 @@ class C { @dec public method() {} >dec : Symbol(dec, Decl(decoratorOnClassMethod2.ts, 0, 0)) ->method : Symbol(method, Decl(decoratorOnClassMethod2.ts, 2, 9)) +>method : Symbol(C.method, Decl(decoratorOnClassMethod2.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols b/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols index f05dd624345..71f5c5f8479 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols @@ -14,11 +14,11 @@ class C { >C : Symbol(C, Decl(decoratorOnClassMethodOverload2.ts, 0, 126)) method() ->method : Symbol(method, Decl(decoratorOnClassMethodOverload2.ts, 2, 9), Decl(decoratorOnClassMethodOverload2.ts, 3, 12)) +>method : Symbol(C.method, Decl(decoratorOnClassMethodOverload2.ts, 2, 9), Decl(decoratorOnClassMethodOverload2.ts, 3, 12)) @dec >dec : Symbol(dec, Decl(decoratorOnClassMethodOverload2.ts, 0, 0)) method() { } ->method : Symbol(method, Decl(decoratorOnClassMethodOverload2.ts, 2, 9), Decl(decoratorOnClassMethodOverload2.ts, 3, 12)) +>method : Symbol(C.method, Decl(decoratorOnClassMethodOverload2.ts, 2, 9), Decl(decoratorOnClassMethodOverload2.ts, 3, 12)) } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols b/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols index 1358343a9c5..8ce7338dde8 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols @@ -10,7 +10,7 @@ class C { >C : Symbol(C, Decl(decoratorOnClassMethodParameter1.ts, 0, 97)) method(@dec p: number) {} ->method : Symbol(method, Decl(decoratorOnClassMethodParameter1.ts, 2, 9)) +>method : Symbol(C.method, Decl(decoratorOnClassMethodParameter1.ts, 2, 9)) >dec : Symbol(dec, Decl(decoratorOnClassMethodParameter1.ts, 0, 0)) >p : Symbol(p, Decl(decoratorOnClassMethodParameter1.ts, 3, 11)) } diff --git a/tests/baselines/reference/decoratorOnClassProperty1.symbols b/tests/baselines/reference/decoratorOnClassProperty1.symbols index 1cf97d5ec3b..3cf25a6fbf1 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.symbols +++ b/tests/baselines/reference/decoratorOnClassProperty1.symbols @@ -9,5 +9,5 @@ class C { @dec prop; >dec : Symbol(dec, Decl(decoratorOnClassProperty1.ts, 0, 0)) ->prop : Symbol(prop, Decl(decoratorOnClassProperty1.ts, 2, 9)) +>prop : Symbol(C.prop, Decl(decoratorOnClassProperty1.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassProperty10.symbols b/tests/baselines/reference/decoratorOnClassProperty10.symbols index 22af0bd8b50..ef207c95b84 100644 --- a/tests/baselines/reference/decoratorOnClassProperty10.symbols +++ b/tests/baselines/reference/decoratorOnClassProperty10.symbols @@ -10,5 +10,5 @@ class C { @dec() prop; >dec : Symbol(dec, Decl(decoratorOnClassProperty10.ts, 0, 0)) ->prop : Symbol(prop, Decl(decoratorOnClassProperty10.ts, 2, 9)) +>prop : Symbol(C.prop, Decl(decoratorOnClassProperty10.ts, 2, 9)) } diff --git a/tests/baselines/reference/decoratorOnClassProperty2.symbols b/tests/baselines/reference/decoratorOnClassProperty2.symbols index 3383fb1418a..dc86a331166 100644 --- a/tests/baselines/reference/decoratorOnClassProperty2.symbols +++ b/tests/baselines/reference/decoratorOnClassProperty2.symbols @@ -9,5 +9,5 @@ class C { @dec public prop; >dec : Symbol(dec, Decl(decoratorOnClassProperty2.ts, 0, 0)) ->prop : Symbol(prop, Decl(decoratorOnClassProperty2.ts, 2, 9)) +>prop : Symbol(C.prop, Decl(decoratorOnClassProperty2.ts, 2, 9)) } diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherType.symbols b/tests/baselines/reference/decrementOperatorWithAnyOtherType.symbols index 594e6d50ac4..cbef7442578 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherType.symbols @@ -19,7 +19,7 @@ class A { >A : Symbol(A, Decl(decrementOperatorWithAnyOtherType.ts, 5, 23)) public a: any; ->a : Symbol(a, Decl(decrementOperatorWithAnyOtherType.ts, 6, 9)) +>a : Symbol(A.a, Decl(decrementOperatorWithAnyOtherType.ts, 6, 9)) } module M { >M : Symbol(M, Decl(decrementOperatorWithAnyOtherType.ts, 8, 1)) diff --git a/tests/baselines/reference/decrementOperatorWithNumberType.symbols b/tests/baselines/reference/decrementOperatorWithNumberType.symbols index 40d9a67735e..eeb1f8e8fb2 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberType.symbols +++ b/tests/baselines/reference/decrementOperatorWithNumberType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(decrementOperatorWithNumberType.ts, 2, 31)) public a: number; ->a : Symbol(a, Decl(decrementOperatorWithNumberType.ts, 4, 9)) +>a : Symbol(A.a, Decl(decrementOperatorWithNumberType.ts, 4, 9)) } module M { >M : Symbol(M, Decl(decrementOperatorWithNumberType.ts, 6, 1)) diff --git a/tests/baselines/reference/defaultIndexProps1.symbols b/tests/baselines/reference/defaultIndexProps1.symbols index e294b9e7dba..ac1220688a5 100644 --- a/tests/baselines/reference/defaultIndexProps1.symbols +++ b/tests/baselines/reference/defaultIndexProps1.symbols @@ -3,7 +3,7 @@ class Foo { >Foo : Symbol(Foo, Decl(defaultIndexProps1.ts, 0, 0)) public v = "Yo"; ->v : Symbol(v, Decl(defaultIndexProps1.ts, 0, 11)) +>v : Symbol(Foo.v, Decl(defaultIndexProps1.ts, 0, 11)) } var f = new Foo(); diff --git a/tests/baselines/reference/defaultIndexProps2.symbols b/tests/baselines/reference/defaultIndexProps2.symbols index 53d433351c3..5c9880c55f3 100644 --- a/tests/baselines/reference/defaultIndexProps2.symbols +++ b/tests/baselines/reference/defaultIndexProps2.symbols @@ -3,7 +3,7 @@ class Foo { >Foo : Symbol(Foo, Decl(defaultIndexProps2.ts, 0, 0)) public v = "Yo"; ->v : Symbol(v, Decl(defaultIndexProps2.ts, 0, 11)) +>v : Symbol(Foo.v, Decl(defaultIndexProps2.ts, 0, 11)) } var f = new Foo(); diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.symbols b/tests/baselines/reference/deleteOperatorWithBooleanType.symbols index 71cb78760f6..e3ecfc3f0b1 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(deleteOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(deleteOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(deleteOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(deleteOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.symbols b/tests/baselines/reference/deleteOperatorWithNumberType.symbols index 589b1f91db2..4d59a0ba7bf 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.symbols +++ b/tests/baselines/reference/deleteOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(deleteOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(deleteOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(deleteOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(deleteOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/deleteOperatorWithStringType.symbols b/tests/baselines/reference/deleteOperatorWithStringType.symbols index 204aac0123b..e3f7fd30d7c 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.symbols +++ b/tests/baselines/reference/deleteOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(deleteOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(deleteOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(deleteOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(deleteOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers.symbols b/tests/baselines/reference/derivedClassOverridesProtectedMembers.symbols index 3c826325b91..690916db87c 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers.symbols +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers.symbols @@ -13,25 +13,25 @@ class Base { >Base : Symbol(Base, Decl(derivedClassOverridesProtectedMembers.ts, 2, 36)) protected a: typeof x; ->a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 4, 12)) +>a : Symbol(Base.a, Decl(derivedClassOverridesProtectedMembers.ts, 4, 12)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers.ts, 1, 3)) protected b(a: typeof x) { } ->b : Symbol(b, Decl(derivedClassOverridesProtectedMembers.ts, 5, 26)) +>b : Symbol(Base.b, Decl(derivedClassOverridesProtectedMembers.ts, 5, 26)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 6, 16)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers.ts, 1, 3)) protected get c() { return x; } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers.ts, 6, 32), Decl(derivedClassOverridesProtectedMembers.ts, 7, 35)) +>c : Symbol(Base.c, Decl(derivedClassOverridesProtectedMembers.ts, 6, 32), Decl(derivedClassOverridesProtectedMembers.ts, 7, 35)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers.ts, 1, 3)) protected set c(v: typeof x) { } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers.ts, 6, 32), Decl(derivedClassOverridesProtectedMembers.ts, 7, 35)) +>c : Symbol(Base.c, Decl(derivedClassOverridesProtectedMembers.ts, 6, 32), Decl(derivedClassOverridesProtectedMembers.ts, 7, 35)) >v : Symbol(v, Decl(derivedClassOverridesProtectedMembers.ts, 8, 20)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers.ts, 1, 3)) protected d: (a: typeof x) => void; ->d : Symbol(d, Decl(derivedClassOverridesProtectedMembers.ts, 8, 36)) +>d : Symbol(Base.d, Decl(derivedClassOverridesProtectedMembers.ts, 8, 36)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 9, 18)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers.ts, 1, 3)) @@ -68,25 +68,25 @@ class Derived extends Base { >Base : Symbol(Base, Decl(derivedClassOverridesProtectedMembers.ts, 2, 36)) protected a: typeof y; ->a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 20, 28)) +>a : Symbol(Derived.a, Decl(derivedClassOverridesProtectedMembers.ts, 20, 28)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers.ts, 2, 3)) protected b(a: typeof y) { } ->b : Symbol(b, Decl(derivedClassOverridesProtectedMembers.ts, 21, 26)) +>b : Symbol(Derived.b, Decl(derivedClassOverridesProtectedMembers.ts, 21, 26)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 22, 16)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers.ts, 2, 3)) protected get c() { return y; } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers.ts, 22, 32), Decl(derivedClassOverridesProtectedMembers.ts, 23, 35)) +>c : Symbol(Derived.c, Decl(derivedClassOverridesProtectedMembers.ts, 22, 32), Decl(derivedClassOverridesProtectedMembers.ts, 23, 35)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers.ts, 2, 3)) protected set c(v: typeof y) { } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers.ts, 22, 32), Decl(derivedClassOverridesProtectedMembers.ts, 23, 35)) +>c : Symbol(Derived.c, Decl(derivedClassOverridesProtectedMembers.ts, 22, 32), Decl(derivedClassOverridesProtectedMembers.ts, 23, 35)) >v : Symbol(v, Decl(derivedClassOverridesProtectedMembers.ts, 24, 20)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers.ts, 2, 3)) protected d: (a: typeof y) => void; ->d : Symbol(d, Decl(derivedClassOverridesProtectedMembers.ts, 24, 36)) +>d : Symbol(Derived.d, Decl(derivedClassOverridesProtectedMembers.ts, 24, 36)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers.ts, 25, 18)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers.ts, 2, 3)) diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols index b1160328160..d6f70480844 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols @@ -12,25 +12,25 @@ class Base { >Base : Symbol(Base, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 36)) protected a: typeof x; ->a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 3, 12)) +>a : Symbol(Base.a, Decl(derivedClassOverridesProtectedMembers2.ts, 3, 12)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers2.ts, 0, 3)) protected b(a: typeof x) { } ->b : Symbol(b, Decl(derivedClassOverridesProtectedMembers2.ts, 4, 26)) +>b : Symbol(Base.b, Decl(derivedClassOverridesProtectedMembers2.ts, 4, 26)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 5, 16)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers2.ts, 0, 3)) protected get c() { return x; } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers2.ts, 5, 32), Decl(derivedClassOverridesProtectedMembers2.ts, 6, 35)) +>c : Symbol(Base.c, Decl(derivedClassOverridesProtectedMembers2.ts, 5, 32), Decl(derivedClassOverridesProtectedMembers2.ts, 6, 35)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers2.ts, 0, 3)) protected set c(v: typeof x) { } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers2.ts, 5, 32), Decl(derivedClassOverridesProtectedMembers2.ts, 6, 35)) +>c : Symbol(Base.c, Decl(derivedClassOverridesProtectedMembers2.ts, 5, 32), Decl(derivedClassOverridesProtectedMembers2.ts, 6, 35)) >v : Symbol(v, Decl(derivedClassOverridesProtectedMembers2.ts, 7, 20)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers2.ts, 0, 3)) protected d: (a: typeof x) => void ; ->d : Symbol(d, Decl(derivedClassOverridesProtectedMembers2.ts, 7, 36)) +>d : Symbol(Base.d, Decl(derivedClassOverridesProtectedMembers2.ts, 7, 36)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 8, 18)) >x : Symbol(x, Decl(derivedClassOverridesProtectedMembers2.ts, 0, 3)) @@ -68,25 +68,25 @@ class Derived extends Base { >Base : Symbol(Base, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 36)) a: typeof y; ->a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 20, 28)) +>a : Symbol(Derived.a, Decl(derivedClassOverridesProtectedMembers2.ts, 20, 28)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 3)) b(a: typeof y) { } ->b : Symbol(b, Decl(derivedClassOverridesProtectedMembers2.ts, 21, 16)) +>b : Symbol(Derived.b, Decl(derivedClassOverridesProtectedMembers2.ts, 21, 16)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 22, 6)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 3)) get c() { return y; } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers2.ts, 22, 22), Decl(derivedClassOverridesProtectedMembers2.ts, 23, 25)) +>c : Symbol(Derived.c, Decl(derivedClassOverridesProtectedMembers2.ts, 22, 22), Decl(derivedClassOverridesProtectedMembers2.ts, 23, 25)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 3)) set c(v: typeof y) { } ->c : Symbol(c, Decl(derivedClassOverridesProtectedMembers2.ts, 22, 22), Decl(derivedClassOverridesProtectedMembers2.ts, 23, 25)) +>c : Symbol(Derived.c, Decl(derivedClassOverridesProtectedMembers2.ts, 22, 22), Decl(derivedClassOverridesProtectedMembers2.ts, 23, 25)) >v : Symbol(v, Decl(derivedClassOverridesProtectedMembers2.ts, 24, 10)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 3)) d: (a: typeof y) => void; ->d : Symbol(d, Decl(derivedClassOverridesProtectedMembers2.ts, 24, 26)) +>d : Symbol(Derived.d, Decl(derivedClassOverridesProtectedMembers2.ts, 24, 26)) >a : Symbol(a, Decl(derivedClassOverridesProtectedMembers2.ts, 25, 8)) >y : Symbol(y, Decl(derivedClassOverridesProtectedMembers2.ts, 1, 3)) diff --git a/tests/baselines/reference/derivedClassOverridesWithoutSubtype.symbols b/tests/baselines/reference/derivedClassOverridesWithoutSubtype.symbols index 452da91f034..67d5354cd5f 100644 --- a/tests/baselines/reference/derivedClassOverridesWithoutSubtype.symbols +++ b/tests/baselines/reference/derivedClassOverridesWithoutSubtype.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(derivedClassOverridesWithoutSubtype.ts, 0, 0)) x: { ->x : Symbol(x, Decl(derivedClassOverridesWithoutSubtype.ts, 0, 12)) +>x : Symbol(Base.x, Decl(derivedClassOverridesWithoutSubtype.ts, 0, 12)) foo: string; >foo : Symbol(foo, Decl(derivedClassOverridesWithoutSubtype.ts, 1, 8)) @@ -15,7 +15,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(derivedClassOverridesWithoutSubtype.ts, 0, 0)) x: { ->x : Symbol(x, Decl(derivedClassOverridesWithoutSubtype.ts, 6, 28)) +>x : Symbol(Derived.x, Decl(derivedClassOverridesWithoutSubtype.ts, 6, 28)) foo: any; >foo : Symbol(foo, Decl(derivedClassOverridesWithoutSubtype.ts, 7, 8)) diff --git a/tests/baselines/reference/derivedClasses.symbols b/tests/baselines/reference/derivedClasses.symbols index f265c2dce53..61f4d7b81dc 100644 --- a/tests/baselines/reference/derivedClasses.symbols +++ b/tests/baselines/reference/derivedClasses.symbols @@ -4,7 +4,7 @@ class Red extends Color { >Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) public shade() { ->shade : Symbol(shade, Decl(derivedClasses.ts, 0, 25)) +>shade : Symbol(Red.shade, Decl(derivedClasses.ts, 0, 25)) var getHue = () => { return this.hue(); }; >getHue : Symbol(getHue, Decl(derivedClasses.ts, 2, 8)) @@ -21,10 +21,10 @@ class Color { >Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) public shade() { return "some shade"; } ->shade : Symbol(shade, Decl(derivedClasses.ts, 7, 13)) +>shade : Symbol(Color.shade, Decl(derivedClasses.ts, 7, 13)) public hue() { return "some hue"; } ->hue : Symbol(hue, Decl(derivedClasses.ts, 8, 43)) +>hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) } class Blue extends Color { @@ -32,7 +32,7 @@ class Blue extends Color { >Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) public shade() { ->shade : Symbol(shade, Decl(derivedClasses.ts, 12, 26)) +>shade : Symbol(Blue.shade, Decl(derivedClasses.ts, 12, 26)) var getHue = () => { return this.hue(); }; >getHue : Symbol(getHue, Decl(derivedClasses.ts, 15, 8)) diff --git a/tests/baselines/reference/derivedTypeDoesNotRequireExtendsClause.symbols b/tests/baselines/reference/derivedTypeDoesNotRequireExtendsClause.symbols index e0f41b72f76..ef62a0fe7c5 100644 --- a/tests/baselines/reference/derivedTypeDoesNotRequireExtendsClause.symbols +++ b/tests/baselines/reference/derivedTypeDoesNotRequireExtendsClause.symbols @@ -3,17 +3,17 @@ class Base { >Base : Symbol(Base, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 0, 12)) } class Derived { >Derived : Symbol(Derived, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 2, 1)) foo: string; ->foo : Symbol(foo, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 4, 15)) +>foo : Symbol(Derived.foo, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 4, 15)) bar: number; ->bar : Symbol(bar, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 5, 16)) +>bar : Symbol(Derived.bar, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 5, 16)) } class Derived2 extends Base { @@ -21,7 +21,7 @@ class Derived2 extends Base { >Base : Symbol(Base, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 9, 29)) +>bar : Symbol(Derived2.bar, Decl(derivedTypeDoesNotRequireExtendsClause.ts, 9, 29)) } var b: Base; diff --git a/tests/baselines/reference/destructuringInFunctionType.symbols b/tests/baselines/reference/destructuringInFunctionType.symbols index 8b573905b76..d73215a2ce6 100644 --- a/tests/baselines/reference/destructuringInFunctionType.symbols +++ b/tests/baselines/reference/destructuringInFunctionType.symbols @@ -2,15 +2,15 @@ interface a { a } >a : Symbol(a, Decl(destructuringInFunctionType.ts, 0, 0)) ->a : Symbol(a, Decl(destructuringInFunctionType.ts, 1, 13)) +>a : Symbol(a.a, Decl(destructuringInFunctionType.ts, 1, 13)) interface b { b } >b : Symbol(b, Decl(destructuringInFunctionType.ts, 1, 17)) ->b : Symbol(b, Decl(destructuringInFunctionType.ts, 2, 13)) +>b : Symbol(b.b, Decl(destructuringInFunctionType.ts, 2, 13)) interface c { c } >c : Symbol(c, Decl(destructuringInFunctionType.ts, 2, 17)) ->c : Symbol(c, Decl(destructuringInFunctionType.ts, 3, 13)) +>c : Symbol(c.c, Decl(destructuringInFunctionType.ts, 3, 13)) type T1 = ([a, b, c]); >T1 : Symbol(T1, Decl(destructuringInFunctionType.ts, 3, 17)) diff --git a/tests/baselines/reference/destructuringWithGenericParameter.symbols b/tests/baselines/reference/destructuringWithGenericParameter.symbols index 0c489cf1ef2..9a795cb5441 100644 --- a/tests/baselines/reference/destructuringWithGenericParameter.symbols +++ b/tests/baselines/reference/destructuringWithGenericParameter.symbols @@ -4,7 +4,7 @@ class GenericClass { >T : Symbol(T, Decl(destructuringWithGenericParameter.ts, 0, 19)) payload: T; ->payload : Symbol(payload, Decl(destructuringWithGenericParameter.ts, 0, 23)) +>payload : Symbol(GenericClass.payload, Decl(destructuringWithGenericParameter.ts, 0, 23)) >T : Symbol(T, Decl(destructuringWithGenericParameter.ts, 0, 19)) } diff --git a/tests/baselines/reference/destructuringWithNewExpression.symbols b/tests/baselines/reference/destructuringWithNewExpression.symbols index c7dce468485..1f2bb93530f 100644 --- a/tests/baselines/reference/destructuringWithNewExpression.symbols +++ b/tests/baselines/reference/destructuringWithNewExpression.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(destructuringWithNewExpression.ts, 0, 0)) x = 0; ->x : Symbol(x, Decl(destructuringWithNewExpression.ts, 0, 9)) +>x : Symbol(C.x, Decl(destructuringWithNewExpression.ts, 0, 9)) } var { x } = new C; diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.symbols b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.symbols index 9590abaa460..d8531e9ff02 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor1.symbols +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor1.symbols @@ -3,10 +3,10 @@ class TestFile { >TestFile : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 0)) public message: string; ->message : Symbol(message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) +>message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) public name; ->name : Symbol(name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) constructor(message: string) { >message : Symbol(message, Decl(detachedCommentAtStartOfConstructor1.ts, 3, 16)) @@ -16,14 +16,14 @@ class TestFile { var getMessage = () => message + this.name; >getMessage : Symbol(getMessage, Decl(detachedCommentAtStartOfConstructor1.ts, 6, 11)) >message : Symbol(message, Decl(detachedCommentAtStartOfConstructor1.ts, 3, 16)) ->this.name : Symbol(name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) +>this.name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 0)) ->name : Symbol(name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor1.ts, 1, 27)) this.message = getMessage(); ->this.message : Symbol(message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) +>this.message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 0)) ->message : Symbol(message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) +>message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor1.ts, 0, 16)) >getMessage : Symbol(getMessage, Decl(detachedCommentAtStartOfConstructor1.ts, 6, 11)) } } diff --git a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.symbols b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.symbols index 78af9430034..a8af5379524 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfConstructor2.symbols +++ b/tests/baselines/reference/detachedCommentAtStartOfConstructor2.symbols @@ -3,10 +3,10 @@ class TestFile { >TestFile : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 0)) public message: string; ->message : Symbol(message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) +>message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) public name: string; ->name : Symbol(name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) constructor(message: string) { >message : Symbol(message, Decl(detachedCommentAtStartOfConstructor2.ts, 3, 16)) @@ -17,14 +17,14 @@ class TestFile { var getMessage = () => message + this.name; >getMessage : Symbol(getMessage, Decl(detachedCommentAtStartOfConstructor2.ts, 7, 11)) >message : Symbol(message, Decl(detachedCommentAtStartOfConstructor2.ts, 3, 16)) ->this.name : Symbol(name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) +>this.name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 0)) ->name : Symbol(name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfConstructor2.ts, 1, 27)) this.message = getMessage(); ->this.message : Symbol(message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) +>this.message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 0)) ->message : Symbol(message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) +>message : Symbol(TestFile.message, Decl(detachedCommentAtStartOfConstructor2.ts, 0, 16)) >getMessage : Symbol(getMessage, Decl(detachedCommentAtStartOfConstructor2.ts, 7, 11)) } } diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.symbols b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.symbols index aa34885d79b..8eb7fc137b1 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.symbols +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.symbols @@ -3,10 +3,10 @@ class TestFile { >TestFile : Symbol(TestFile, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) foo(message: string): () => string { ->foo : Symbol(foo, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 1, 17)) +>foo : Symbol(TestFile.foo, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 1, 17)) >message : Symbol(message, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 2, 8)) return (...x: string[]) => @@ -17,8 +17,8 @@ class TestFile { /// message + this.name; >message : Symbol(message, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 2, 8)) ->this.name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) +>this.name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 0)) ->name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction1.ts, 0, 16)) } } diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.symbols b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.symbols index 29cef430c3a..72178fd3059 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.symbols +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.symbols @@ -3,10 +3,10 @@ class TestFile { >TestFile : Symbol(TestFile, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) foo(message: string): () => string { ->foo : Symbol(foo, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 1, 17)) +>foo : Symbol(TestFile.foo, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 1, 17)) >message : Symbol(message, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 2, 8)) return (...x: string[]) => @@ -18,8 +18,8 @@ class TestFile { message + this.name; >message : Symbol(message, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 2, 8)) ->this.name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) +>this.name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) >this : Symbol(TestFile, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 0)) ->name : Symbol(name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) +>name : Symbol(TestFile.name, Decl(detachedCommentAtStartOfLambdaFunction2.ts, 0, 16)) } } diff --git a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.symbols b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.symbols index c733d886ff3..bd6f35e406f 100644 --- a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.symbols +++ b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.symbols @@ -5,12 +5,12 @@ class C { /*! remove pinned comment anywhere else */ public foo(x: string, y: any) ->foo : Symbol(foo, Decl(file1.ts, 1, 9), Decl(file1.ts, 3, 33)) +>foo : Symbol(C.foo, Decl(file1.ts, 1, 9), Decl(file1.ts, 3, 33)) >x : Symbol(x, Decl(file1.ts, 3, 15)) >y : Symbol(y, Decl(file1.ts, 3, 25)) public foo(x: string, y: number) { } ->foo : Symbol(foo, Decl(file1.ts, 1, 9), Decl(file1.ts, 3, 33)) +>foo : Symbol(C.foo, Decl(file1.ts, 1, 9), Decl(file1.ts, 3, 33)) >x : Symbol(x, Decl(file1.ts, 4, 15)) >y : Symbol(y, Decl(file1.ts, 4, 25)) } diff --git a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNodets.symbols b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNodets.symbols index dcd27478115..7b96fc028b1 100644 --- a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNodets.symbols +++ b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNodets.symbols @@ -5,12 +5,12 @@ class C { /*! remove pinned comment anywhere else */ public foo(x: string, y: any) ->foo : Symbol(foo, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 1, 9), Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 33)) +>foo : Symbol(C.foo, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 1, 9), Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 33)) >x : Symbol(x, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 15)) >y : Symbol(y, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 25)) public foo(x: string, y: number) { } ->foo : Symbol(foo, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 1, 9), Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 33)) +>foo : Symbol(C.foo, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 1, 9), Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 3, 33)) >x : Symbol(x, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 4, 15)) >y : Symbol(y, Decl(doNotEmitPinnedCommentOnNotEmittedNodets.ts, 4, 25)) } diff --git a/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.symbols b/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.symbols index 7aaf3b98f4a..7a1073d6ebf 100644 --- a/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.symbols +++ b/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.symbols @@ -3,18 +3,18 @@ interface ITestEventInterval { >ITestEventInterval : Symbol(ITestEventInterval, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 0, 0)) begin: number; ->begin : Symbol(begin, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 0, 30)) +>begin : Symbol(ITestEventInterval.begin, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 0, 30)) } interface IIntervalTreeNode { >IIntervalTreeNode : Symbol(IIntervalTreeNode, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 2, 1)) interval: ITestEventInterval; ->interval : Symbol(interval, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 4, 29)) +>interval : Symbol(IIntervalTreeNode.interval, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 4, 29)) >ITestEventInterval : Symbol(ITestEventInterval, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 0, 0)) children?: IIntervalTreeNode[]; ->children : Symbol(children, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 5, 33)) +>children : Symbol(IIntervalTreeNode.children, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 5, 33)) >IIntervalTreeNode : Symbol(IIntervalTreeNode, Decl(doNotWidenAtObjectLiteralPropertyAssignment.ts, 2, 1)) } diff --git a/tests/baselines/reference/dottedSymbolResolution1.symbols b/tests/baselines/reference/dottedSymbolResolution1.symbols index 25ff8a6fe92..e5e866fe0c9 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.symbols +++ b/tests/baselines/reference/dottedSymbolResolution1.symbols @@ -3,7 +3,7 @@ interface JQuery { >JQuery : Symbol(JQuery, Decl(dottedSymbolResolution1.ts, 0, 0)) find(selector: string): JQuery; ->find : Symbol(find, Decl(dottedSymbolResolution1.ts, 0, 18)) +>find : Symbol(JQuery.find, Decl(dottedSymbolResolution1.ts, 0, 18)) >selector : Symbol(selector, Decl(dottedSymbolResolution1.ts, 1, 9)) >JQuery : Symbol(JQuery, Decl(dottedSymbolResolution1.ts, 0, 0)) } @@ -23,7 +23,7 @@ interface JQueryStatic { class Base { foo() { } } >Base : Symbol(Base, Decl(dottedSymbolResolution1.ts, 8, 1)) ->foo : Symbol(foo, Decl(dottedSymbolResolution1.ts, 10, 12)) +>foo : Symbol(Base.foo, Decl(dottedSymbolResolution1.ts, 10, 12)) function each(collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; >each : Symbol(each, Decl(dottedSymbolResolution1.ts, 10, 24), Decl(dottedSymbolResolution1.ts, 12, 98), Decl(dottedSymbolResolution1.ts, 13, 102)) diff --git a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols index a1c083fbc15..02589e011c4 100644 --- a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols +++ b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols @@ -4,7 +4,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, ->reduce : Symbol(reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >callbackfn : Symbol(callbackfn, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 11)) >previousValue : Symbol(previousValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 24)) >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) @@ -21,7 +21,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, ->reduce : Symbol(reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >U : Symbol(U, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 11)) >callbackfn : Symbol(callbackfn, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 14)) >previousValue : Symbol(previousValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 27)) diff --git a/tests/baselines/reference/duplicateVariablesByScope.symbols b/tests/baselines/reference/duplicateVariablesByScope.symbols index 9dd280d2756..88eb44d0181 100644 --- a/tests/baselines/reference/duplicateVariablesByScope.symbols +++ b/tests/baselines/reference/duplicateVariablesByScope.symbols @@ -41,7 +41,7 @@ class C { >C : Symbol(C, Decl(duplicateVariablesByScope.ts, 20, 1)) foo() { ->foo : Symbol(foo, Decl(duplicateVariablesByScope.ts, 22, 9)) +>foo : Symbol(C.foo, Decl(duplicateVariablesByScope.ts, 22, 9)) try { var x = 1; diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.symbols index 8186b029471..72de9b39dda 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.symbols @@ -3,30 +3,30 @@ class A { >A : Symbol(A, Decl(emitClassDeclarationWithConstructorInES6.ts, 0, 0)) y: number; ->y : Symbol(y, Decl(emitClassDeclarationWithConstructorInES6.ts, 0, 9)) +>y : Symbol(A.y, Decl(emitClassDeclarationWithConstructorInES6.ts, 0, 9)) constructor(x: number) { >x : Symbol(x, Decl(emitClassDeclarationWithConstructorInES6.ts, 2, 16)) } foo(a: any); ->foo : Symbol(foo, Decl(emitClassDeclarationWithConstructorInES6.ts, 3, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 4, 16)) +>foo : Symbol(A.foo, Decl(emitClassDeclarationWithConstructorInES6.ts, 3, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 4, 16)) >a : Symbol(a, Decl(emitClassDeclarationWithConstructorInES6.ts, 4, 8)) foo() { } ->foo : Symbol(foo, Decl(emitClassDeclarationWithConstructorInES6.ts, 3, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 4, 16)) +>foo : Symbol(A.foo, Decl(emitClassDeclarationWithConstructorInES6.ts, 3, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 4, 16)) } class B { >B : Symbol(B, Decl(emitClassDeclarationWithConstructorInES6.ts, 6, 1)) y: number; ->y : Symbol(y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) +>y : Symbol(B.y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) x: string = "hello"; ->x : Symbol(x, Decl(emitClassDeclarationWithConstructorInES6.ts, 9, 14)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithConstructorInES6.ts, 9, 14)) _bar: string; ->_bar : Symbol(_bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) +>_bar : Symbol(B._bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) constructor(x: number, z = "hello", ...args) { >x : Symbol(x, Decl(emitClassDeclarationWithConstructorInES6.ts, 13, 16)) @@ -34,23 +34,23 @@ class B { >args : Symbol(args, Decl(emitClassDeclarationWithConstructorInES6.ts, 13, 39)) this.y = 10; ->this.y : Symbol(y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) +>this.y : Symbol(B.y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithConstructorInES6.ts, 6, 1)) ->y : Symbol(y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) +>y : Symbol(B.y, Decl(emitClassDeclarationWithConstructorInES6.ts, 8, 9)) } baz(...args): string; ->baz : Symbol(baz, Decl(emitClassDeclarationWithConstructorInES6.ts, 15, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 16, 25)) +>baz : Symbol(B.baz, Decl(emitClassDeclarationWithConstructorInES6.ts, 15, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 16, 25)) >args : Symbol(args, Decl(emitClassDeclarationWithConstructorInES6.ts, 16, 8)) baz(z: string, v: number): string { ->baz : Symbol(baz, Decl(emitClassDeclarationWithConstructorInES6.ts, 15, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 16, 25)) +>baz : Symbol(B.baz, Decl(emitClassDeclarationWithConstructorInES6.ts, 15, 5), Decl(emitClassDeclarationWithConstructorInES6.ts, 16, 25)) >z : Symbol(z, Decl(emitClassDeclarationWithConstructorInES6.ts, 17, 8)) >v : Symbol(v, Decl(emitClassDeclarationWithConstructorInES6.ts, 17, 18)) return this._bar; ->this._bar : Symbol(_bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) +>this._bar : Symbol(B._bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) >this : Symbol(B, Decl(emitClassDeclarationWithConstructorInES6.ts, 6, 1)) ->_bar : Symbol(_bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) +>_bar : Symbol(B._bar, Decl(emitClassDeclarationWithConstructorInES6.ts, 10, 24)) } } diff --git a/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.symbols index 586a924a260..799c5a8b3bb 100644 --- a/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.symbols @@ -3,7 +3,7 @@ class B { >B : Symbol(B, Decl(emitClassDeclarationWithExtensionInES6.ts, 0, 0)) baz(a: string, y = 10) { } ->baz : Symbol(baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 0, 9)) +>baz : Symbol(B.baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 0, 9)) >a : Symbol(a, Decl(emitClassDeclarationWithExtensionInES6.ts, 1, 8)) >y : Symbol(y, Decl(emitClassDeclarationWithExtensionInES6.ts, 1, 18)) } @@ -12,10 +12,10 @@ class C extends B { >B : Symbol(B, Decl(emitClassDeclarationWithExtensionInES6.ts, 0, 0)) foo() { } ->foo : Symbol(foo, Decl(emitClassDeclarationWithExtensionInES6.ts, 3, 19)) +>foo : Symbol(C.foo, Decl(emitClassDeclarationWithExtensionInES6.ts, 3, 19)) baz(a: string, y:number) { ->baz : Symbol(baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 4, 13)) +>baz : Symbol(C.baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 4, 13)) >a : Symbol(a, Decl(emitClassDeclarationWithExtensionInES6.ts, 5, 8)) >y : Symbol(y, Decl(emitClassDeclarationWithExtensionInES6.ts, 5, 18)) @@ -37,7 +37,7 @@ class D extends C { } foo() { ->foo : Symbol(foo, Decl(emitClassDeclarationWithExtensionInES6.ts, 12, 5)) +>foo : Symbol(D.foo, Decl(emitClassDeclarationWithExtensionInES6.ts, 12, 5)) super.foo(); >super.foo : Symbol(C.foo, Decl(emitClassDeclarationWithExtensionInES6.ts, 3, 19)) @@ -46,7 +46,7 @@ class D extends C { } baz() { ->baz : Symbol(baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 16, 5)) +>baz : Symbol(D.baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 16, 5)) super.baz("hello", 10); >super.baz : Symbol(C.baz, Decl(emitClassDeclarationWithExtensionInES6.ts, 4, 13)) diff --git a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.symbols index b2b1a000dc9..c48cc1d6f85 100644 --- a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.symbols @@ -3,15 +3,15 @@ class C { >C : Symbol(C, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 0)) _name: string; ->_name : Symbol(_name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) +>_name : Symbol(C._name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) get name(): string { ->name : Symbol(name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 1, 18)) +>name : Symbol(C.name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 1, 18)) return this._name; ->this._name : Symbol(_name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) +>this._name : Symbol(C._name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) >this : Symbol(C, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 0)) ->_name : Symbol(_name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) +>_name : Symbol(C._name, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 0, 9)) } static get name2(): string { >name2 : Symbol(C.name2, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 4, 5)) @@ -36,7 +36,7 @@ class C { } set foo(a: string) { } ->foo : Symbol(foo, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 21, 5)) +>foo : Symbol(C.foo, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 21, 5)) >a : Symbol(a, Decl(emitClassDeclarationWithGetterSetterInES6.ts, 23, 12)) static set bar(b: number) { } diff --git a/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.symbols index fdceb9831c1..cb716163d6a 100644 --- a/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.symbols @@ -10,7 +10,7 @@ class B { 0b1110() {} 11() { } interface() { } ->interface : Symbol(interface, Decl(emitClassDeclarationWithLiteralPropertyNameInES6.ts, 7, 12)) +>interface : Symbol(B.interface, Decl(emitClassDeclarationWithLiteralPropertyNameInES6.ts, 7, 12)) static "hi" = 10000; static 22 = "twenty-two"; diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.symbols index 970076f6b78..45990c6e628 100644 --- a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.symbols @@ -3,10 +3,10 @@ class D { >D : Symbol(D, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 0)) _bar: string; ->_bar : Symbol(_bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) +>_bar : Symbol(D._bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) foo() { } ->foo : Symbol(foo, Decl(emitClassDeclarationWithMethodInES6.ts, 1, 17)) +>foo : Symbol(D.foo, Decl(emitClassDeclarationWithMethodInES6.ts, 1, 17)) ["computedName1"]() { } ["computedName2"](a: string) { } @@ -16,15 +16,15 @@ class D { >a : Symbol(a, Decl(emitClassDeclarationWithMethodInES6.ts, 5, 22)) bar(): string { ->bar : Symbol(bar, Decl(emitClassDeclarationWithMethodInES6.ts, 5, 54)) +>bar : Symbol(D.bar, Decl(emitClassDeclarationWithMethodInES6.ts, 5, 54)) return this._bar; ->this._bar : Symbol(_bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) +>this._bar : Symbol(D._bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) >this : Symbol(D, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 0)) ->_bar : Symbol(_bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) +>_bar : Symbol(D._bar, Decl(emitClassDeclarationWithMethodInES6.ts, 0, 9)) } baz(a: any, x: string): string { ->baz : Symbol(baz, Decl(emitClassDeclarationWithMethodInES6.ts, 8, 5)) +>baz : Symbol(D.baz, Decl(emitClassDeclarationWithMethodInES6.ts, 8, 5)) >a : Symbol(a, Decl(emitClassDeclarationWithMethodInES6.ts, 9, 8)) >x : Symbol(x, Decl(emitClassDeclarationWithMethodInES6.ts, 9, 15)) diff --git a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.symbols index 67878625bda..c7c17891f14 100644 --- a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.symbols @@ -3,23 +3,23 @@ class C { >C : Symbol(C, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 0, 0)) x: string = "Hello world"; ->x : Symbol(x, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 0, 9)) +>x : Symbol(C.x, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 0, 9)) } class D { >D : Symbol(D, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 2, 1)) x: string = "Hello world"; ->x : Symbol(x, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 4, 9)) +>x : Symbol(D.x, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 4, 9)) y: number; ->y : Symbol(y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) +>y : Symbol(D.y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) constructor() { this.y = 10; ->this.y : Symbol(y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) +>this.y : Symbol(D.y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) >this : Symbol(D, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 2, 1)) ->y : Symbol(y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) +>y : Symbol(D.y, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 5, 30)) } } @@ -28,7 +28,7 @@ class E extends D{ >D : Symbol(D, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 2, 1)) z: boolean = true; ->z : Symbol(z, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 12, 18)) +>z : Symbol(E.z, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 12, 18)) } class F extends D{ @@ -36,18 +36,18 @@ class F extends D{ >D : Symbol(D, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 2, 1)) z: boolean = true; ->z : Symbol(z, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 16, 18)) +>z : Symbol(F.z, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 16, 18)) j: string; ->j : Symbol(j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) +>j : Symbol(F.j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) constructor() { super(); >super : Symbol(D, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 2, 1)) this.j = "HI"; ->this.j : Symbol(j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) +>this.j : Symbol(F.j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) >this : Symbol(F, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 14, 1)) ->j : Symbol(j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) +>j : Symbol(F.j, Decl(emitClassDeclarationWithPropertyAssignmentInES6.ts, 17, 22)) } } diff --git a/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.symbols index 1b64646f788..268ab96f2ec 100644 --- a/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.symbols @@ -10,7 +10,7 @@ class D { >D : Symbol(D, Decl(emitClassDeclarationWithStaticPropertyAssignmentInES6.ts, 2, 1)) x = 20000; ->x : Symbol(x, Decl(emitClassDeclarationWithStaticPropertyAssignmentInES6.ts, 4, 9)) +>x : Symbol(D.x, Decl(emitClassDeclarationWithStaticPropertyAssignmentInES6.ts, 4, 9)) static b = true; >b : Symbol(D.b, Decl(emitClassDeclarationWithStaticPropertyAssignmentInES6.ts, 5, 14)) diff --git a/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.symbols b/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.symbols index 13ce54e0641..dc749161623 100644 --- a/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.symbols @@ -4,7 +4,7 @@ class Parent { >Parent : Symbol(Parent, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 1, 14)) +>foo : Symbol(Parent.foo, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 1, 14)) } } @@ -13,7 +13,7 @@ class Foo extends Parent { >Parent : Symbol(Parent, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 6, 26)) +>foo : Symbol(Foo.foo, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 6, 26)) var x = () => super.foo(); >x : Symbol(x, Decl(emitClassDeclarationWithSuperMethodCall01.ts, 8, 11)) diff --git a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.symbols index 32220451b9c..9690894a2eb 100644 --- a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.symbols @@ -3,47 +3,47 @@ class B { >B : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) x = 10; ->x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) constructor() { this.x = 10; ->this.x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) } static log(a: number) { } >log : Symbol(B.log, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 4, 5)) >a : Symbol(a, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 5, 15)) foo() { ->foo : Symbol(foo, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 5, 29)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 5, 29)) B.log(this.x); >B.log : Symbol(B.log, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 4, 5)) >B : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) >log : Symbol(B.log, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 4, 5)) ->this.x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) } get X() { ->X : Symbol(X, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 8, 5)) +>X : Symbol(B.X, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 8, 5)) return this.x; ->this.x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) } set bX(y: number) { ->bX : Symbol(bX, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 12, 5)) +>bX : Symbol(B.bX, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 12, 5)) >y : Symbol(y, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 14, 11)) this.x = y; ->this.x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 0, 9)) >y : Symbol(y, Decl(emitClassDeclarationWithThisKeywordInES6.ts, 14, 11)) } } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.symbols index 092dbf10c7b..d87213d5651 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.symbols @@ -4,11 +4,11 @@ class B { >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) x: T; ->x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) B: T; ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) constructor(a: any) @@ -22,52 +22,52 @@ class B { constructor(a: T) { this.B = a;} >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 16)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 16)) foo(a: T) ->foo : Symbol(foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 8)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) foo(a: any) ->foo : Symbol(foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 8)) foo(b: string) ->foo : Symbol(foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) >b : Symbol(b, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 8)) foo(): T { ->foo : Symbol(foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 6, 36), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 8, 13), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 9, 15), Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 10, 18)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) return this.x; ->this.x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 12)) } get BB(): T { ->BB : Symbol(BB, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 13, 5)) +>BB : Symbol(B.BB, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 13, 5)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) return this.B; ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) } set BBWith(c: T) { ->BBWith : Symbol(BBWith, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 17, 5)) +>BBWith : Symbol(B.BBWith, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 17, 5)) >c : Symbol(c, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 18, 15)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 8)) this.B = c; ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 1, 9)) >c : Symbol(c, Decl(emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts, 18, 15)) } } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.symbols b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.symbols index 58f44b69f01..5db5fb703ae 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.symbols +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.symbols @@ -4,48 +4,48 @@ class B { >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) x: T; ->x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) B: T; ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) constructor(a: T) { this.B = a;} >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 3, 16)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >a : Symbol(a, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 3, 16)) foo(): T { ->foo : Symbol(foo, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 3, 36)) +>foo : Symbol(B.foo, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 3, 36)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) return this.x; ->this.x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) +>this.x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 0)) ->x : Symbol(x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) +>x : Symbol(B.x, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 12)) } get BB(): T { ->BB : Symbol(BB, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 6, 5)) +>BB : Symbol(B.BB, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 6, 5)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) return this.B; ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) } set BBWith(c: T) { ->BBWith : Symbol(BBWith, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 9, 5)) +>BBWith : Symbol(B.BBWith, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 9, 5)) >c : Symbol(c, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 10, 15)) >T : Symbol(T, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 8)) this.B = c; ->this.B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>this.B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >this : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 0, 0)) ->B : Symbol(B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) +>B : Symbol(B.B, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 1, 9)) >c : Symbol(c, Decl(emitClassDeclarationWithTypeArgumentInES6.ts, 10, 15)) } } diff --git a/tests/baselines/reference/emitDefaultParametersMethod.symbols b/tests/baselines/reference/emitDefaultParametersMethod.symbols index 866380e2dd5..df316896d5c 100644 --- a/tests/baselines/reference/emitDefaultParametersMethod.symbols +++ b/tests/baselines/reference/emitDefaultParametersMethod.symbols @@ -9,22 +9,22 @@ class C { >y : Symbol(y, Decl(emitDefaultParametersMethod.ts, 1, 49)) public foo(x: string, t = false) { } ->foo : Symbol(foo, Decl(emitDefaultParametersMethod.ts, 1, 66)) +>foo : Symbol(C.foo, Decl(emitDefaultParametersMethod.ts, 1, 66)) >x : Symbol(x, Decl(emitDefaultParametersMethod.ts, 3, 15)) >t : Symbol(t, Decl(emitDefaultParametersMethod.ts, 3, 25)) public foo1(x: string, t = false, ...rest) { } ->foo1 : Symbol(foo1, Decl(emitDefaultParametersMethod.ts, 3, 40)) +>foo1 : Symbol(C.foo1, Decl(emitDefaultParametersMethod.ts, 3, 40)) >x : Symbol(x, Decl(emitDefaultParametersMethod.ts, 4, 16)) >t : Symbol(t, Decl(emitDefaultParametersMethod.ts, 4, 26)) >rest : Symbol(rest, Decl(emitDefaultParametersMethod.ts, 4, 37)) public bar(t = false) { } ->bar : Symbol(bar, Decl(emitDefaultParametersMethod.ts, 4, 50)) +>bar : Symbol(C.bar, Decl(emitDefaultParametersMethod.ts, 4, 50)) >t : Symbol(t, Decl(emitDefaultParametersMethod.ts, 5, 15)) public boo(t = false, ...rest) { } ->boo : Symbol(boo, Decl(emitDefaultParametersMethod.ts, 5, 29)) +>boo : Symbol(C.boo, Decl(emitDefaultParametersMethod.ts, 5, 29)) >t : Symbol(t, Decl(emitDefaultParametersMethod.ts, 6, 15)) >rest : Symbol(rest, Decl(emitDefaultParametersMethod.ts, 6, 25)) } diff --git a/tests/baselines/reference/emitDefaultParametersMethodES6.symbols b/tests/baselines/reference/emitDefaultParametersMethodES6.symbols index ce23b016bcf..e15937c1af6 100644 --- a/tests/baselines/reference/emitDefaultParametersMethodES6.symbols +++ b/tests/baselines/reference/emitDefaultParametersMethodES6.symbols @@ -9,22 +9,22 @@ class C { >y : Symbol(y, Decl(emitDefaultParametersMethodES6.ts, 1, 49)) public foo(x: string, t = false) { } ->foo : Symbol(foo, Decl(emitDefaultParametersMethodES6.ts, 1, 66)) +>foo : Symbol(C.foo, Decl(emitDefaultParametersMethodES6.ts, 1, 66)) >x : Symbol(x, Decl(emitDefaultParametersMethodES6.ts, 3, 15)) >t : Symbol(t, Decl(emitDefaultParametersMethodES6.ts, 3, 25)) public foo1(x: string, t = false, ...rest) { } ->foo1 : Symbol(foo1, Decl(emitDefaultParametersMethodES6.ts, 3, 40)) +>foo1 : Symbol(C.foo1, Decl(emitDefaultParametersMethodES6.ts, 3, 40)) >x : Symbol(x, Decl(emitDefaultParametersMethodES6.ts, 4, 16)) >t : Symbol(t, Decl(emitDefaultParametersMethodES6.ts, 4, 26)) >rest : Symbol(rest, Decl(emitDefaultParametersMethodES6.ts, 4, 37)) public bar(t = false) { } ->bar : Symbol(bar, Decl(emitDefaultParametersMethodES6.ts, 4, 50)) +>bar : Symbol(C.bar, Decl(emitDefaultParametersMethodES6.ts, 4, 50)) >t : Symbol(t, Decl(emitDefaultParametersMethodES6.ts, 5, 15)) public boo(t = false, ...rest) { } ->boo : Symbol(boo, Decl(emitDefaultParametersMethodES6.ts, 5, 29)) +>boo : Symbol(C.boo, Decl(emitDefaultParametersMethodES6.ts, 5, 29)) >t : Symbol(t, Decl(emitDefaultParametersMethodES6.ts, 6, 15)) >rest : Symbol(rest, Decl(emitDefaultParametersMethodES6.ts, 6, 25)) } diff --git a/tests/baselines/reference/emitMemberAccessExpression.symbols b/tests/baselines/reference/emitMemberAccessExpression.symbols index 64302521706..ac0f8852d2a 100644 --- a/tests/baselines/reference/emitMemberAccessExpression.symbols +++ b/tests/baselines/reference/emitMemberAccessExpression.symbols @@ -29,7 +29,7 @@ module Microsoft.PeopleAtWork.Model { >_Person : Symbol(_Person, Decl(emitMemberAccessExpression_file2.ts, 2, 37)) public populate(raw: any) { ->populate : Symbol(populate, Decl(emitMemberAccessExpression_file2.ts, 3, 26)) +>populate : Symbol(_Person.populate, Decl(emitMemberAccessExpression_file2.ts, 3, 26)) >raw : Symbol(raw, Decl(emitMemberAccessExpression_file2.ts, 4, 24)) var res = Model.KnockoutExtentions; diff --git a/tests/baselines/reference/emitRestParametersMethod.symbols b/tests/baselines/reference/emitRestParametersMethod.symbols index 2bfbda925bf..b07c410d02c 100644 --- a/tests/baselines/reference/emitRestParametersMethod.symbols +++ b/tests/baselines/reference/emitRestParametersMethod.symbols @@ -7,11 +7,11 @@ class C { >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 1, 29)) public bar(...rest) { } ->bar : Symbol(bar, Decl(emitRestParametersMethod.ts, 1, 42)) +>bar : Symbol(C.bar, Decl(emitRestParametersMethod.ts, 1, 42)) >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 3, 15)) public foo(x: number, ...rest) { } ->foo : Symbol(foo, Decl(emitRestParametersMethod.ts, 3, 27)) +>foo : Symbol(C.foo, Decl(emitRestParametersMethod.ts, 3, 27)) >x : Symbol(x, Decl(emitRestParametersMethod.ts, 4, 15)) >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 4, 25)) } @@ -23,11 +23,11 @@ class D { >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 8, 16)) public bar(...rest) { } ->bar : Symbol(bar, Decl(emitRestParametersMethod.ts, 8, 28)) +>bar : Symbol(D.bar, Decl(emitRestParametersMethod.ts, 8, 28)) >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 10, 15)) public foo(x: number, ...rest) { } ->foo : Symbol(foo, Decl(emitRestParametersMethod.ts, 10, 27)) +>foo : Symbol(D.foo, Decl(emitRestParametersMethod.ts, 10, 27)) >x : Symbol(x, Decl(emitRestParametersMethod.ts, 11, 15)) >rest : Symbol(rest, Decl(emitRestParametersMethod.ts, 11, 25)) } diff --git a/tests/baselines/reference/emitRestParametersMethodES6.symbols b/tests/baselines/reference/emitRestParametersMethodES6.symbols index e79ab9bb26e..0968d3e4585 100644 --- a/tests/baselines/reference/emitRestParametersMethodES6.symbols +++ b/tests/baselines/reference/emitRestParametersMethodES6.symbols @@ -7,11 +7,11 @@ class C { >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 1, 29)) public bar(...rest) { } ->bar : Symbol(bar, Decl(emitRestParametersMethodES6.ts, 1, 42)) +>bar : Symbol(C.bar, Decl(emitRestParametersMethodES6.ts, 1, 42)) >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 3, 15)) public foo(x: number, ...rest) { } ->foo : Symbol(foo, Decl(emitRestParametersMethodES6.ts, 3, 27)) +>foo : Symbol(C.foo, Decl(emitRestParametersMethodES6.ts, 3, 27)) >x : Symbol(x, Decl(emitRestParametersMethodES6.ts, 4, 15)) >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 4, 25)) } @@ -23,11 +23,11 @@ class D { >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 8, 16)) public bar(...rest) { } ->bar : Symbol(bar, Decl(emitRestParametersMethodES6.ts, 8, 28)) +>bar : Symbol(D.bar, Decl(emitRestParametersMethodES6.ts, 8, 28)) >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 10, 15)) public foo(x: number, ...rest) { } ->foo : Symbol(foo, Decl(emitRestParametersMethodES6.ts, 10, 27)) +>foo : Symbol(D.foo, Decl(emitRestParametersMethodES6.ts, 10, 27)) >x : Symbol(x, Decl(emitRestParametersMethodES6.ts, 11, 15)) >rest : Symbol(rest, Decl(emitRestParametersMethodES6.ts, 11, 25)) } diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.symbols index 3931a7115f6..95f21be3b2d 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 0, 9)) } @@ -12,7 +12,7 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 0, 0)) constructor(public x: number) { ->x : Symbol(x, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 6, 16)) +>x : Symbol(B.x, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts, 6, 16)) "use strict"; 'someStringForEgngInject'; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.symbols index 8b8c09f2611..0b11b7079e5 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 0, 9)) } @@ -12,7 +12,7 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 0, 0)) constructor(public x: number) { ->x : Symbol(x, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 6, 16)) +>x : Symbol(B.x, Decl(emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts, 6, 16)) "use strict"; 'someStringForEgngInject'; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.symbols index 0b118b7c991..d4101787c83 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 0, 9)) } @@ -12,7 +12,7 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 0, 0)) blub = 12; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 5, 19)) +>blub : Symbol(B.blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1.ts, 5, 19)) constructor() { "use strict"; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.symbols index 4d4b01a3666..4018bfa664c 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 0, 9)) } @@ -12,7 +12,7 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 0, 0)) blub = 12; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 5, 19)) +>blub : Symbol(B.blub, Decl(emitSuperCallBeforeEmitPropertyDeclaration1ES6.ts, 5, 19)) constructor() { 'someStringForEgngInject'; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.symbols index 1fb4ed01d85..0904aeaf477 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 0, 9)) } @@ -12,10 +12,10 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 0, 0)) blah = 2; ->blah : Symbol(blah, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 5, 19)) +>blah : Symbol(B.blah, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 5, 19)) constructor(public x: number) { ->x : Symbol(x, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 7, 16)) +>x : Symbol(B.x, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts, 7, 16)) "use strict"; 'someStringForEgngInject'; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.symbols b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.symbols index 41cb20f3841..ed0089cdbe2 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.symbols +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 0, 0)) blub = 6; ->blub : Symbol(blub, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 0, 9)) +>blub : Symbol(A.blub, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 0, 9)) } @@ -12,10 +12,10 @@ class B extends A { >A : Symbol(A, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 0, 0)) blah = 2; ->blah : Symbol(blah, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 5, 19)) +>blah : Symbol(B.blah, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 5, 19)) constructor(public x: number) { ->x : Symbol(x, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 7, 16)) +>x : Symbol(B.x, Decl(emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts, 7, 16)) "use strict"; 'someStringForEgngInject'; diff --git a/tests/baselines/reference/emptyIndexer.symbols b/tests/baselines/reference/emptyIndexer.symbols index 6c3bad02349..3fe3844eb81 100644 --- a/tests/baselines/reference/emptyIndexer.symbols +++ b/tests/baselines/reference/emptyIndexer.symbols @@ -3,7 +3,7 @@ interface I1 { >I1 : Symbol(I1, Decl(emptyIndexer.ts, 0, 0)) m(): number; ->m : Symbol(m, Decl(emptyIndexer.ts, 0, 14)) +>m : Symbol(I1.m, Decl(emptyIndexer.ts, 0, 14)) } interface I2 { diff --git a/tests/baselines/reference/es2015modulekind.symbols b/tests/baselines/reference/es2015modulekind.symbols index 227443ac06b..8a772e31895 100644 --- a/tests/baselines/reference/es2015modulekind.symbols +++ b/tests/baselines/reference/es2015modulekind.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es2015modulekind.ts, 6, 5)) +>B : Symbol(A.B, Decl(es2015modulekind.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es2015modulekindWithES6Target.symbols b/tests/baselines/reference/es2015modulekindWithES6Target.symbols index 2ff208ac704..4a7c6469ca5 100644 --- a/tests/baselines/reference/es2015modulekindWithES6Target.symbols +++ b/tests/baselines/reference/es2015modulekindWithES6Target.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es2015modulekindWithES6Target.ts, 6, 5)) +>B : Symbol(A.B, Decl(es2015modulekindWithES6Target.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es3-amd.symbols b/tests/baselines/reference/es3-amd.symbols index f6d1211ad4e..1f9efe3e590 100644 --- a/tests/baselines/reference/es3-amd.symbols +++ b/tests/baselines/reference/es3-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es3-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es3-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es3-declaration-amd.symbols b/tests/baselines/reference/es3-declaration-amd.symbols index aec4af2bb60..5930b908e2f 100644 --- a/tests/baselines/reference/es3-declaration-amd.symbols +++ b/tests/baselines/reference/es3-declaration-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es3-declaration-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es3-declaration-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es3-sourcemap-amd.symbols b/tests/baselines/reference/es3-sourcemap-amd.symbols index ca20348a0f5..919e2cfa46c 100644 --- a/tests/baselines/reference/es3-sourcemap-amd.symbols +++ b/tests/baselines/reference/es3-sourcemap-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es3-sourcemap-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es3-sourcemap-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-amd.symbols b/tests/baselines/reference/es5-amd.symbols index cf99349fc1d..33ed9bc6423 100644 --- a/tests/baselines/reference/es5-amd.symbols +++ b/tests/baselines/reference/es5-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es5-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-commonjs.symbols b/tests/baselines/reference/es5-commonjs.symbols index 41e4484afcd..a2319b14ce7 100644 --- a/tests/baselines/reference/es5-commonjs.symbols +++ b/tests/baselines/reference/es5-commonjs.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es5-commonjs.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-commonjs.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-commonjs4.symbols b/tests/baselines/reference/es5-commonjs4.symbols index 22d41128d74..83006bd9aa5 100644 --- a/tests/baselines/reference/es5-commonjs4.symbols +++ b/tests/baselines/reference/es5-commonjs4.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es5-commonjs4.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-commonjs4.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-declaration-amd.symbols b/tests/baselines/reference/es5-declaration-amd.symbols index a2504a0ea84..0df2ad428f0 100644 --- a/tests/baselines/reference/es5-declaration-amd.symbols +++ b/tests/baselines/reference/es5-declaration-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es5-declaration-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-declaration-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-souremap-amd.symbols b/tests/baselines/reference/es5-souremap-amd.symbols index 14b22cc74c6..c725434096d 100644 --- a/tests/baselines/reference/es5-souremap-amd.symbols +++ b/tests/baselines/reference/es5-souremap-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es5-souremap-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-souremap-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-system.symbols b/tests/baselines/reference/es5-system.symbols index 5211e3c4259..f2c4b38aba2 100644 --- a/tests/baselines/reference/es5-system.symbols +++ b/tests/baselines/reference/es5-system.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es5-system.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-system.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-umd.symbols b/tests/baselines/reference/es5-umd.symbols index f570afd9548..73dd7ebbe5b 100644 --- a/tests/baselines/reference/es5-umd.symbols +++ b/tests/baselines/reference/es5-umd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es5-umd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-umd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-umd2.symbols b/tests/baselines/reference/es5-umd2.symbols index 3b911d7e6f0..f017c6b72db 100644 --- a/tests/baselines/reference/es5-umd2.symbols +++ b/tests/baselines/reference/es5-umd2.symbols @@ -9,7 +9,7 @@ export class A } public B() ->B : Symbol(B, Decl(es5-umd2.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-umd2.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-umd3.symbols b/tests/baselines/reference/es5-umd3.symbols index 3f830ae3637..ca0203b029c 100644 --- a/tests/baselines/reference/es5-umd3.symbols +++ b/tests/baselines/reference/es5-umd3.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es5-umd3.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-umd3.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5-umd4.symbols b/tests/baselines/reference/es5-umd4.symbols index cdf1e135cf7..790c8cccb97 100644 --- a/tests/baselines/reference/es5-umd4.symbols +++ b/tests/baselines/reference/es5-umd4.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es5-umd4.ts, 6, 5)) +>B : Symbol(A.B, Decl(es5-umd4.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es5ExportDefaultClassDeclaration.symbols b/tests/baselines/reference/es5ExportDefaultClassDeclaration.symbols index 24196766dfa..8aaa8a4e532 100644 --- a/tests/baselines/reference/es5ExportDefaultClassDeclaration.symbols +++ b/tests/baselines/reference/es5ExportDefaultClassDeclaration.symbols @@ -4,6 +4,6 @@ export default class C { >C : Symbol(C, Decl(es5ExportDefaultClassDeclaration.ts, 0, 0)) method() { } ->method : Symbol(method, Decl(es5ExportDefaultClassDeclaration.ts, 1, 24)) +>method : Symbol(C.method, Decl(es5ExportDefaultClassDeclaration.ts, 1, 24)) } diff --git a/tests/baselines/reference/es5ExportDefaultClassDeclaration2.symbols b/tests/baselines/reference/es5ExportDefaultClassDeclaration2.symbols index 0780ff7a3c8..05947d5a557 100644 --- a/tests/baselines/reference/es5ExportDefaultClassDeclaration2.symbols +++ b/tests/baselines/reference/es5ExportDefaultClassDeclaration2.symbols @@ -2,6 +2,6 @@ export default class { method() { } ->method : Symbol(method, Decl(es5ExportDefaultClassDeclaration2.ts, 1, 22)) +>method : Symbol(default.method, Decl(es5ExportDefaultClassDeclaration2.ts, 1, 22)) } diff --git a/tests/baselines/reference/es5ExportDefaultClassDeclaration3.symbols b/tests/baselines/reference/es5ExportDefaultClassDeclaration3.symbols index b5262b94688..d5c8243161b 100644 --- a/tests/baselines/reference/es5ExportDefaultClassDeclaration3.symbols +++ b/tests/baselines/reference/es5ExportDefaultClassDeclaration3.symbols @@ -9,7 +9,7 @@ export default class C { >C : Symbol(C, Decl(es5ExportDefaultClassDeclaration3.ts, 1, 24)) method(): C { ->method : Symbol(method, Decl(es5ExportDefaultClassDeclaration3.ts, 3, 24)) +>method : Symbol(C.method, Decl(es5ExportDefaultClassDeclaration3.ts, 3, 24)) >C : Symbol(C, Decl(es5ExportDefaultClassDeclaration3.ts, 1, 24)) return new C(); diff --git a/tests/baselines/reference/es5ExportDefaultClassDeclaration4.symbols b/tests/baselines/reference/es5ExportDefaultClassDeclaration4.symbols index 6c30ffed858..15faf638ca1 100644 --- a/tests/baselines/reference/es5ExportDefaultClassDeclaration4.symbols +++ b/tests/baselines/reference/es5ExportDefaultClassDeclaration4.symbols @@ -9,7 +9,7 @@ declare module "foo" { >C : Symbol(C, Decl(es5ExportDefaultClassDeclaration4.ts, 2, 25)) method(): C; ->method : Symbol(method, Decl(es5ExportDefaultClassDeclaration4.ts, 4, 28)) +>method : Symbol(C.method, Decl(es5ExportDefaultClassDeclaration4.ts, 4, 28)) >C : Symbol(C, Decl(es5ExportDefaultClassDeclaration4.ts, 2, 25)) } diff --git a/tests/baselines/reference/es5ExportEqualsDts.symbols b/tests/baselines/reference/es5ExportEqualsDts.symbols index 52bf357d177..46bc29b58dd 100644 --- a/tests/baselines/reference/es5ExportEqualsDts.symbols +++ b/tests/baselines/reference/es5ExportEqualsDts.symbols @@ -4,7 +4,7 @@ class A { >A : Symbol(A, Decl(es5ExportEqualsDts.ts, 0, 0), Decl(es5ExportEqualsDts.ts, 6, 1)) foo() { ->foo : Symbol(foo, Decl(es5ExportEqualsDts.ts, 1, 9)) +>foo : Symbol(A.foo, Decl(es5ExportEqualsDts.ts, 1, 9)) var aVal: A.B; >aVal : Symbol(aVal, Decl(es5ExportEqualsDts.ts, 3, 11)) diff --git a/tests/baselines/reference/es5ModuleWithModuleGenAmd.symbols b/tests/baselines/reference/es5ModuleWithModuleGenAmd.symbols index 1a853eb37d0..b9df217a403 100644 --- a/tests/baselines/reference/es5ModuleWithModuleGenAmd.symbols +++ b/tests/baselines/reference/es5ModuleWithModuleGenAmd.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es5ModuleWithModuleGenAmd.ts, 4, 5)) +>B : Symbol(A.B, Decl(es5ModuleWithModuleGenAmd.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.symbols b/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.symbols index a69ce05f1ae..9917d5c3713 100644 --- a/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.symbols +++ b/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es5ModuleWithModuleGenCommonjs.ts, 4, 5)) +>B : Symbol(A.B, Decl(es5ModuleWithModuleGenCommonjs.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.symbols b/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.symbols index d39ced97524..436e4a5351a 100644 --- a/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.symbols +++ b/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es5ModuleWithoutModuleGenTarget.ts, 4, 5)) +>B : Symbol(A.B, Decl(es5ModuleWithoutModuleGenTarget.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es6-amd.symbols b/tests/baselines/reference/es6-amd.symbols index ad5cf38e7cd..fb9b1c57b27 100644 --- a/tests/baselines/reference/es6-amd.symbols +++ b/tests/baselines/reference/es6-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es6-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6-declaration-amd.symbols b/tests/baselines/reference/es6-declaration-amd.symbols index f1a728396cc..6811dfe793d 100644 --- a/tests/baselines/reference/es6-declaration-amd.symbols +++ b/tests/baselines/reference/es6-declaration-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es6-declaration-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6-declaration-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6-sourcemap-amd.symbols b/tests/baselines/reference/es6-sourcemap-amd.symbols index 13be6367ba0..e5f731234f3 100644 --- a/tests/baselines/reference/es6-sourcemap-amd.symbols +++ b/tests/baselines/reference/es6-sourcemap-amd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es6-sourcemap-amd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6-sourcemap-amd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6-umd.symbols b/tests/baselines/reference/es6-umd.symbols index f7c57215ea6..50584887fb3 100644 --- a/tests/baselines/reference/es6-umd.symbols +++ b/tests/baselines/reference/es6-umd.symbols @@ -9,7 +9,7 @@ class A } public B() ->B : Symbol(B, Decl(es6-umd.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6-umd.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6-umd2.symbols b/tests/baselines/reference/es6-umd2.symbols index 88acf127279..d998e4b68ee 100644 --- a/tests/baselines/reference/es6-umd2.symbols +++ b/tests/baselines/reference/es6-umd2.symbols @@ -9,7 +9,7 @@ export class A } public B() ->B : Symbol(B, Decl(es6-umd2.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6-umd2.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6ClassTest3.symbols b/tests/baselines/reference/es6ClassTest3.symbols index cf2284e95ee..94404b6777a 100644 --- a/tests/baselines/reference/es6ClassTest3.symbols +++ b/tests/baselines/reference/es6ClassTest3.symbols @@ -6,30 +6,30 @@ module M { >Visibility : Symbol(Visibility, Decl(es6ClassTest3.ts, 0, 10)) public foo() { }; ->foo : Symbol(foo, Decl(es6ClassTest3.ts, 1, 19)) +>foo : Symbol(Visibility.foo, Decl(es6ClassTest3.ts, 1, 19)) private bar() { }; ->bar : Symbol(bar, Decl(es6ClassTest3.ts, 2, 22)) +>bar : Symbol(Visibility.bar, Decl(es6ClassTest3.ts, 2, 22)) private x: number; ->x : Symbol(x, Decl(es6ClassTest3.ts, 3, 23)) +>x : Symbol(Visibility.x, Decl(es6ClassTest3.ts, 3, 23)) public y: number; ->y : Symbol(y, Decl(es6ClassTest3.ts, 4, 26)) +>y : Symbol(Visibility.y, Decl(es6ClassTest3.ts, 4, 26)) public z: number; ->z : Symbol(z, Decl(es6ClassTest3.ts, 5, 22)) +>z : Symbol(Visibility.z, Decl(es6ClassTest3.ts, 5, 22)) constructor() { this.x = 1; ->this.x : Symbol(x, Decl(es6ClassTest3.ts, 3, 23)) +>this.x : Symbol(Visibility.x, Decl(es6ClassTest3.ts, 3, 23)) >this : Symbol(Visibility, Decl(es6ClassTest3.ts, 0, 10)) ->x : Symbol(x, Decl(es6ClassTest3.ts, 3, 23)) +>x : Symbol(Visibility.x, Decl(es6ClassTest3.ts, 3, 23)) this.y = 2; ->this.y : Symbol(y, Decl(es6ClassTest3.ts, 4, 26)) +>this.y : Symbol(Visibility.y, Decl(es6ClassTest3.ts, 4, 26)) >this : Symbol(Visibility, Decl(es6ClassTest3.ts, 0, 10)) ->y : Symbol(y, Decl(es6ClassTest3.ts, 4, 26)) +>y : Symbol(Visibility.y, Decl(es6ClassTest3.ts, 4, 26)) } } } diff --git a/tests/baselines/reference/es6ClassTest4.symbols b/tests/baselines/reference/es6ClassTest4.symbols index 41a329a3d51..e9dd7513fed 100644 --- a/tests/baselines/reference/es6ClassTest4.symbols +++ b/tests/baselines/reference/es6ClassTest4.symbols @@ -3,19 +3,19 @@ declare class Point >Point : Symbol(Point, Decl(es6ClassTest4.ts, 0, 0)) { x: number; ->x : Symbol(x, Decl(es6ClassTest4.ts, 1, 1)) +>x : Symbol(Point.x, Decl(es6ClassTest4.ts, 1, 1)) y: number; ->y : Symbol(y, Decl(es6ClassTest4.ts, 2, 14)) +>y : Symbol(Point.y, Decl(es6ClassTest4.ts, 2, 14)) add(dx: number, dy: number): Point; ->add : Symbol(add, Decl(es6ClassTest4.ts, 3, 14)) +>add : Symbol(Point.add, Decl(es6ClassTest4.ts, 3, 14)) >dx : Symbol(dx, Decl(es6ClassTest4.ts, 4, 8)) >dy : Symbol(dy, Decl(es6ClassTest4.ts, 4, 19)) >Point : Symbol(Point, Decl(es6ClassTest4.ts, 0, 0)) mult(p: Point): Point; ->mult : Symbol(mult, Decl(es6ClassTest4.ts, 4, 39)) +>mult : Symbol(Point.mult, Decl(es6ClassTest4.ts, 4, 39)) >p : Symbol(p, Decl(es6ClassTest4.ts, 5, 9)) >Point : Symbol(Point, Decl(es6ClassTest4.ts, 0, 0)) >Point : Symbol(Point, Decl(es6ClassTest4.ts, 0, 0)) diff --git a/tests/baselines/reference/es6ClassTest5.symbols b/tests/baselines/reference/es6ClassTest5.symbols index 89c6921e163..063265e0dad 100644 --- a/tests/baselines/reference/es6ClassTest5.symbols +++ b/tests/baselines/reference/es6ClassTest5.symbols @@ -3,7 +3,7 @@ class C1T5 { >C1T5 : Symbol(C1T5, Decl(es6ClassTest5.ts, 0, 0)) foo: (i: number, s: string) => number = ->foo : Symbol(foo, Decl(es6ClassTest5.ts, 0, 12)) +>foo : Symbol(C1T5.foo, Decl(es6ClassTest5.ts, 0, 12)) >i : Symbol(i, Decl(es6ClassTest5.ts, 1, 10)) >s : Symbol(s, Decl(es6ClassTest5.ts, 1, 20)) @@ -21,6 +21,6 @@ class bigClass { >bigClass : Symbol(bigClass, Decl(es6ClassTest5.ts, 6, 14)) public break = 1; ->break : Symbol(break, Decl(es6ClassTest5.ts, 8, 17)) +>break : Symbol(bigClass.break, Decl(es6ClassTest5.ts, 8, 17)) } diff --git a/tests/baselines/reference/es6ClassTest8.symbols b/tests/baselines/reference/es6ClassTest8.symbols index b02b80e7017..3894b884a1f 100644 --- a/tests/baselines/reference/es6ClassTest8.symbols +++ b/tests/baselines/reference/es6ClassTest8.symbols @@ -58,13 +58,13 @@ class Vector { >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) constructor(public x: number, ->x : Symbol(x, Decl(es6ClassTest8.ts, 18, 16)) +>x : Symbol(Vector.x, Decl(es6ClassTest8.ts, 18, 16)) public y: number, ->y : Symbol(y, Decl(es6ClassTest8.ts, 18, 33)) +>y : Symbol(Vector.y, Decl(es6ClassTest8.ts, 18, 33)) public z: number) { ->z : Symbol(z, Decl(es6ClassTest8.ts, 19, 33)) +>z : Symbol(Vector.z, Decl(es6ClassTest8.ts, 19, 33)) } static dot(v1:Vector, v2:Vector):Vector {return null;} @@ -81,19 +81,19 @@ class Camera { >Camera : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) public forward: Vector; ->forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) public right: Vector; ->right : Symbol(right, Decl(es6ClassTest8.ts, 28, 27)) +>right : Symbol(Camera.right, Decl(es6ClassTest8.ts, 28, 27)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) public up: Vector; ->up : Symbol(up, Decl(es6ClassTest8.ts, 29, 25)) +>up : Symbol(Camera.up, Decl(es6ClassTest8.ts, 29, 25)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) constructor(public pos: Vector, lookAt: Vector) { ->pos : Symbol(pos, Decl(es6ClassTest8.ts, 31, 16)) +>pos : Symbol(Camera.pos, Decl(es6ClassTest8.ts, 31, 16)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >lookAt : Symbol(lookAt, Decl(es6ClassTest8.ts, 31, 35)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) @@ -103,9 +103,9 @@ class Camera { >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) this.forward = Vector.norm(Vector.minus(lookAt,this.pos)); ->this.forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>this.forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >Vector.norm : Symbol(Vector.norm, Decl(es6ClassTest8.ts, 12, 14)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >norm : Symbol(Vector.norm, Decl(es6ClassTest8.ts, 12, 14)) @@ -113,14 +113,14 @@ class Camera { >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >minus : Symbol(Vector.minus, Decl(es6ClassTest8.ts, 13, 47)) >lookAt : Symbol(lookAt, Decl(es6ClassTest8.ts, 31, 35)) ->this.pos : Symbol(pos, Decl(es6ClassTest8.ts, 31, 16)) +>this.pos : Symbol(Camera.pos, Decl(es6ClassTest8.ts, 31, 16)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->pos : Symbol(pos, Decl(es6ClassTest8.ts, 31, 16)) +>pos : Symbol(Camera.pos, Decl(es6ClassTest8.ts, 31, 16)) this.right = Vector.times(down, Vector.norm(Vector.cross(this.forward, down))); ->this.right : Symbol(right, Decl(es6ClassTest8.ts, 28, 27)) +>this.right : Symbol(Camera.right, Decl(es6ClassTest8.ts, 28, 27)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->right : Symbol(right, Decl(es6ClassTest8.ts, 28, 27)) +>right : Symbol(Camera.right, Decl(es6ClassTest8.ts, 28, 27)) >Vector.times : Symbol(Vector.times, Decl(es6ClassTest8.ts, 14, 60)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >times : Symbol(Vector.times, Decl(es6ClassTest8.ts, 14, 60)) @@ -131,15 +131,15 @@ class Camera { >Vector.cross : Symbol(Vector.cross, Decl(es6ClassTest8.ts, 15, 60)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >cross : Symbol(Vector.cross, Decl(es6ClassTest8.ts, 15, 60)) ->this.forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>this.forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >down : Symbol(down, Decl(es6ClassTest8.ts, 32, 11)) this.up = Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))); ->this.up : Symbol(up, Decl(es6ClassTest8.ts, 29, 25)) +>this.up : Symbol(Camera.up, Decl(es6ClassTest8.ts, 29, 25)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->up : Symbol(up, Decl(es6ClassTest8.ts, 29, 25)) +>up : Symbol(Camera.up, Decl(es6ClassTest8.ts, 29, 25)) >Vector.times : Symbol(Vector.times, Decl(es6ClassTest8.ts, 14, 60)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >times : Symbol(Vector.times, Decl(es6ClassTest8.ts, 14, 60)) @@ -150,12 +150,12 @@ class Camera { >Vector.cross : Symbol(Vector.cross, Decl(es6ClassTest8.ts, 15, 60)) >Vector : Symbol(Vector, Decl(es6ClassTest8.ts, 10, 1)) >cross : Symbol(Vector.cross, Decl(es6ClassTest8.ts, 15, 60)) ->this.forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) +>this.forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->forward : Symbol(forward, Decl(es6ClassTest8.ts, 27, 14)) ->this.right : Symbol(right, Decl(es6ClassTest8.ts, 28, 27)) +>forward : Symbol(Camera.forward, Decl(es6ClassTest8.ts, 27, 14)) +>this.right : Symbol(Camera.right, Decl(es6ClassTest8.ts, 28, 27)) >this : Symbol(Camera, Decl(es6ClassTest8.ts, 25, 1)) ->right : Symbol(right, Decl(es6ClassTest8.ts, 28, 27)) +>right : Symbol(Camera.right, Decl(es6ClassTest8.ts, 28, 27)) } } diff --git a/tests/baselines/reference/es6ExportDefaultClassDeclaration.symbols b/tests/baselines/reference/es6ExportDefaultClassDeclaration.symbols index 02aa5575190..3e5ce34c7d7 100644 --- a/tests/baselines/reference/es6ExportDefaultClassDeclaration.symbols +++ b/tests/baselines/reference/es6ExportDefaultClassDeclaration.symbols @@ -4,6 +4,6 @@ export default class C { >C : Symbol(C, Decl(es6ExportDefaultClassDeclaration.ts, 0, 0)) method() { } ->method : Symbol(method, Decl(es6ExportDefaultClassDeclaration.ts, 1, 24)) +>method : Symbol(C.method, Decl(es6ExportDefaultClassDeclaration.ts, 1, 24)) } diff --git a/tests/baselines/reference/es6ExportDefaultClassDeclaration2.symbols b/tests/baselines/reference/es6ExportDefaultClassDeclaration2.symbols index 168c402d3e4..a52c754c581 100644 --- a/tests/baselines/reference/es6ExportDefaultClassDeclaration2.symbols +++ b/tests/baselines/reference/es6ExportDefaultClassDeclaration2.symbols @@ -2,6 +2,6 @@ export default class { method() { } ->method : Symbol(method, Decl(es6ExportDefaultClassDeclaration2.ts, 1, 22)) +>method : Symbol(default.method, Decl(es6ExportDefaultClassDeclaration2.ts, 1, 22)) } diff --git a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols index cff0406b220..5abd8c88867 100644 --- a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols +++ b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols @@ -4,27 +4,27 @@ export interface I { >I : Symbol(I, Decl(server.ts, 0, 0)) prop: string; ->prop : Symbol(prop, Decl(server.ts, 1, 20)) +>prop : Symbol(I.prop, Decl(server.ts, 1, 20)) } export interface I2 { >I2 : Symbol(I2, Decl(server.ts, 3, 1)) prop2: string; ->prop2 : Symbol(prop2, Decl(server.ts, 4, 21)) +>prop2 : Symbol(I2.prop2, Decl(server.ts, 4, 21)) } export class C implements I { >C : Symbol(C, Decl(server.ts, 6, 1)) >I : Symbol(I, Decl(server.ts, 0, 0)) prop = "hello"; ->prop : Symbol(prop, Decl(server.ts, 7, 29)) +>prop : Symbol(C.prop, Decl(server.ts, 7, 29)) } export class C2 implements I2 { >C2 : Symbol(C2, Decl(server.ts, 9, 1)) >I2 : Symbol(I2, Decl(server.ts, 3, 1)) prop2 = "world"; ->prop2 : Symbol(prop2, Decl(server.ts, 10, 31)) +>prop2 : Symbol(C2.prop2, Decl(server.ts, 10, 31)) } === tests/cases/compiler/client.ts === diff --git a/tests/baselines/reference/es6Module.symbols b/tests/baselines/reference/es6Module.symbols index 8887adfff37..6849e2904da 100644 --- a/tests/baselines/reference/es6Module.symbols +++ b/tests/baselines/reference/es6Module.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es6Module.ts, 4, 5)) +>B : Symbol(A.B, Decl(es6Module.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es6ModuleClassDeclaration.symbols b/tests/baselines/reference/es6ModuleClassDeclaration.symbols index 5ad84b94f0a..424a7245587 100644 --- a/tests/baselines/reference/es6ModuleClassDeclaration.symbols +++ b/tests/baselines/reference/es6ModuleClassDeclaration.symbols @@ -5,10 +5,10 @@ export class c { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 2, 5)) +>x : Symbol(c.x, Decl(es6ModuleClassDeclaration.ts, 2, 5)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 3, 19)) +>y : Symbol(c.y, Decl(es6ModuleClassDeclaration.ts, 3, 19)) static k = 20; >k : Symbol(c.k, Decl(es6ModuleClassDeclaration.ts, 4, 18)) @@ -17,10 +17,10 @@ export class c { >l : Symbol(c.l, Decl(es6ModuleClassDeclaration.ts, 5, 18)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 6, 26)) +>method1 : Symbol(c.method1, Decl(es6ModuleClassDeclaration.ts, 6, 26)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 8, 5)) +>method2 : Symbol(c.method2, Decl(es6ModuleClassDeclaration.ts, 8, 5)) } static method3() { >method3 : Symbol(c.method3, Decl(es6ModuleClassDeclaration.ts, 10, 5)) @@ -35,10 +35,10 @@ class c2 { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 18, 5)) +>x : Symbol(c2.x, Decl(es6ModuleClassDeclaration.ts, 18, 5)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 19, 19)) +>y : Symbol(c2.y, Decl(es6ModuleClassDeclaration.ts, 19, 19)) static k = 20; >k : Symbol(c2.k, Decl(es6ModuleClassDeclaration.ts, 20, 18)) @@ -47,10 +47,10 @@ class c2 { >l : Symbol(c2.l, Decl(es6ModuleClassDeclaration.ts, 21, 18)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 22, 26)) +>method1 : Symbol(c2.method1, Decl(es6ModuleClassDeclaration.ts, 22, 26)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 24, 5)) +>method2 : Symbol(c2.method2, Decl(es6ModuleClassDeclaration.ts, 24, 5)) } static method3() { >method3 : Symbol(c2.method3, Decl(es6ModuleClassDeclaration.ts, 26, 5)) @@ -74,10 +74,10 @@ export module m1 { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 38, 9)) +>x : Symbol(c3.x, Decl(es6ModuleClassDeclaration.ts, 38, 9)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 39, 23)) +>y : Symbol(c3.y, Decl(es6ModuleClassDeclaration.ts, 39, 23)) static k = 20; >k : Symbol(c3.k, Decl(es6ModuleClassDeclaration.ts, 40, 22)) @@ -86,10 +86,10 @@ export module m1 { >l : Symbol(c3.l, Decl(es6ModuleClassDeclaration.ts, 41, 22)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 42, 30)) +>method1 : Symbol(c3.method1, Decl(es6ModuleClassDeclaration.ts, 42, 30)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 44, 9)) +>method2 : Symbol(c3.method2, Decl(es6ModuleClassDeclaration.ts, 44, 9)) } static method3() { >method3 : Symbol(c3.method3, Decl(es6ModuleClassDeclaration.ts, 46, 9)) @@ -104,10 +104,10 @@ export module m1 { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 54, 9)) +>x : Symbol(c4.x, Decl(es6ModuleClassDeclaration.ts, 54, 9)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 55, 23)) +>y : Symbol(c4.y, Decl(es6ModuleClassDeclaration.ts, 55, 23)) static k = 20; >k : Symbol(c4.k, Decl(es6ModuleClassDeclaration.ts, 56, 22)) @@ -116,10 +116,10 @@ export module m1 { >l : Symbol(c4.l, Decl(es6ModuleClassDeclaration.ts, 57, 22)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 58, 30)) +>method1 : Symbol(c4.method1, Decl(es6ModuleClassDeclaration.ts, 58, 30)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 60, 9)) +>method2 : Symbol(c4.method2, Decl(es6ModuleClassDeclaration.ts, 60, 9)) } static method3() { >method3 : Symbol(c4.method3, Decl(es6ModuleClassDeclaration.ts, 62, 9)) @@ -149,10 +149,10 @@ module m2 { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 76, 9)) +>x : Symbol(c3.x, Decl(es6ModuleClassDeclaration.ts, 76, 9)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 77, 23)) +>y : Symbol(c3.y, Decl(es6ModuleClassDeclaration.ts, 77, 23)) static k = 20; >k : Symbol(c3.k, Decl(es6ModuleClassDeclaration.ts, 78, 22)) @@ -161,10 +161,10 @@ module m2 { >l : Symbol(c3.l, Decl(es6ModuleClassDeclaration.ts, 79, 22)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 80, 30)) +>method1 : Symbol(c3.method1, Decl(es6ModuleClassDeclaration.ts, 80, 30)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 82, 9)) +>method2 : Symbol(c3.method2, Decl(es6ModuleClassDeclaration.ts, 82, 9)) } static method3() { >method3 : Symbol(c3.method3, Decl(es6ModuleClassDeclaration.ts, 84, 9)) @@ -179,10 +179,10 @@ module m2 { constructor() { } private x = 10; ->x : Symbol(x, Decl(es6ModuleClassDeclaration.ts, 92, 9)) +>x : Symbol(c4.x, Decl(es6ModuleClassDeclaration.ts, 92, 9)) public y = 30; ->y : Symbol(y, Decl(es6ModuleClassDeclaration.ts, 93, 23)) +>y : Symbol(c4.y, Decl(es6ModuleClassDeclaration.ts, 93, 23)) static k = 20; >k : Symbol(c4.k, Decl(es6ModuleClassDeclaration.ts, 94, 22)) @@ -191,10 +191,10 @@ module m2 { >l : Symbol(c4.l, Decl(es6ModuleClassDeclaration.ts, 95, 22)) private method1() { ->method1 : Symbol(method1, Decl(es6ModuleClassDeclaration.ts, 96, 30)) +>method1 : Symbol(c4.method1, Decl(es6ModuleClassDeclaration.ts, 96, 30)) } public method2() { ->method2 : Symbol(method2, Decl(es6ModuleClassDeclaration.ts, 98, 9)) +>method2 : Symbol(c4.method2, Decl(es6ModuleClassDeclaration.ts, 98, 9)) } static method3() { >method3 : Symbol(c4.method3, Decl(es6ModuleClassDeclaration.ts, 100, 9)) diff --git a/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.symbols b/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.symbols index 24367cc28ad..fd566b39990 100644 --- a/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.symbols +++ b/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es6ModuleWithModuleGenTargetAmd.ts, 4, 5)) +>B : Symbol(A.B, Decl(es6ModuleWithModuleGenTargetAmd.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.symbols b/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.symbols index 4a84c00c48f..a143a75f988 100644 --- a/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.symbols +++ b/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.symbols @@ -7,7 +7,7 @@ export class A } public B() ->B : Symbol(B, Decl(es6ModuleWithModuleGenTargetCommonjs.ts, 4, 5)) +>B : Symbol(A.B, Decl(es6ModuleWithModuleGenTargetCommonjs.ts, 4, 5)) { return 42; } diff --git a/tests/baselines/reference/es6modulekind.symbols b/tests/baselines/reference/es6modulekind.symbols index 0b5eeb2a6fb..877199729e6 100644 --- a/tests/baselines/reference/es6modulekind.symbols +++ b/tests/baselines/reference/es6modulekind.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es6modulekind.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6modulekind.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/es6modulekindWithES2015Target.symbols b/tests/baselines/reference/es6modulekindWithES2015Target.symbols index 98b91a0411b..2b6f8a03aa7 100644 --- a/tests/baselines/reference/es6modulekindWithES2015Target.symbols +++ b/tests/baselines/reference/es6modulekindWithES2015Target.symbols @@ -9,7 +9,7 @@ export default class A } public B() ->B : Symbol(B, Decl(es6modulekindWithES2015Target.ts, 6, 5)) +>B : Symbol(A.B, Decl(es6modulekindWithES2015Target.ts, 6, 5)) { return 42; } diff --git a/tests/baselines/reference/escapedIdentifiers.symbols b/tests/baselines/reference/escapedIdentifiers.symbols index a99e067b898..735dede00e2 100644 --- a/tests/baselines/reference/escapedIdentifiers.symbols +++ b/tests/baselines/reference/escapedIdentifiers.symbols @@ -70,13 +70,13 @@ class classType1 { >classType1 : Symbol(classType1, Decl(escapedIdentifiers.ts, 32, 26)) public foo1: number; ->foo1 : Symbol(foo1, Decl(escapedIdentifiers.ts, 36, 18)) +>foo1 : Symbol(classType1.foo1, Decl(escapedIdentifiers.ts, 36, 18)) } class classType\u0032 { >classType\u0032 : Symbol(classType\u0032, Decl(escapedIdentifiers.ts, 38, 1)) public foo2: number; ->foo2 : Symbol(foo2, Decl(escapedIdentifiers.ts, 39, 23)) +>foo2 : Symbol(classType\u0032.foo2, Decl(escapedIdentifiers.ts, 39, 23)) } var classType1Object1 = new classType1(); @@ -120,13 +120,13 @@ interface interfaceType1 { >interfaceType1 : Symbol(interfaceType1, Decl(escapedIdentifiers.ts, 50, 27)) bar1: number; ->bar1 : Symbol(bar1, Decl(escapedIdentifiers.ts, 53, 26)) +>bar1 : Symbol(interfaceType1.bar1, Decl(escapedIdentifiers.ts, 53, 26)) } interface interfaceType\u0032 { >interfaceType\u0032 : Symbol(interfaceType\u0032, Decl(escapedIdentifiers.ts, 55, 1)) bar2: number; ->bar2 : Symbol(bar2, Decl(escapedIdentifiers.ts, 56, 31)) +>bar2 : Symbol(interfaceType\u0032.bar2, Decl(escapedIdentifiers.ts, 56, 31)) } var interfaceType1Object1 = { bar1: 0 }; @@ -175,7 +175,7 @@ class testClass { >testClass : Symbol(testClass, Decl(escapedIdentifiers.ts, 67, 31)) public func(arg1: number, arg\u0032: string, arg\u0033: boolean, arg4: number) { ->func : Symbol(func, Decl(escapedIdentifiers.ts, 71, 17)) +>func : Symbol(testClass.func, Decl(escapedIdentifiers.ts, 71, 17)) >arg1 : Symbol(arg1, Decl(escapedIdentifiers.ts, 72, 16)) >arg\u0032 : Symbol(arg\u0032, Decl(escapedIdentifiers.ts, 72, 29)) >arg\u0033 : Symbol(arg\u0033, Decl(escapedIdentifiers.ts, 72, 48)) @@ -200,10 +200,10 @@ class constructorTestClass { >constructorTestClass : Symbol(constructorTestClass, Decl(escapedIdentifiers.ts, 78, 1)) constructor (public arg1: number,public arg\u0032: string,public arg\u0033: boolean,public arg4: number) { ->arg1 : Symbol(arg1, Decl(escapedIdentifiers.ts, 82, 17)) ->arg\u0032 : Symbol(arg\u0032, Decl(escapedIdentifiers.ts, 82, 37)) ->arg\u0033 : Symbol(arg\u0033, Decl(escapedIdentifiers.ts, 82, 62)) ->arg4 : Symbol(arg4, Decl(escapedIdentifiers.ts, 82, 88)) +>arg1 : Symbol(constructorTestClass.arg1, Decl(escapedIdentifiers.ts, 82, 17)) +>arg\u0032 : Symbol(constructorTestClass.arg\u0032, Decl(escapedIdentifiers.ts, 82, 37)) +>arg\u0033 : Symbol(constructorTestClass.arg\u0033, Decl(escapedIdentifiers.ts, 82, 62)) +>arg4 : Symbol(constructorTestClass.arg4, Decl(escapedIdentifiers.ts, 82, 88)) } } var constructorTestObject = new constructorTestClass(1, 'string', true, 2); diff --git a/tests/baselines/reference/everyTypeAssignableToAny.symbols b/tests/baselines/reference/everyTypeAssignableToAny.symbols index be88c481ece..de62f8d3734 100644 --- a/tests/baselines/reference/everyTypeAssignableToAny.symbols +++ b/tests/baselines/reference/everyTypeAssignableToAny.symbols @@ -6,7 +6,7 @@ class C { >C : Symbol(C, Decl(everyTypeAssignableToAny.ts, 0, 11)) foo: string; ->foo : Symbol(foo, Decl(everyTypeAssignableToAny.ts, 2, 9)) +>foo : Symbol(C.foo, Decl(everyTypeAssignableToAny.ts, 2, 9)) } var ac: C; >ac : Symbol(ac, Decl(everyTypeAssignableToAny.ts, 5, 3)) @@ -16,7 +16,7 @@ interface I { >I : Symbol(I, Decl(everyTypeAssignableToAny.ts, 5, 10)) foo: string; ->foo : Symbol(foo, Decl(everyTypeAssignableToAny.ts, 6, 13)) +>foo : Symbol(I.foo, Decl(everyTypeAssignableToAny.ts, 6, 13)) } var ai: I; >ai : Symbol(ai, Decl(everyTypeAssignableToAny.ts, 9, 3)) diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols index e76b3784e8a..b97f34bfcc8 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(everyTypeWithAnnotationAndInitializer.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(everyTypeWithAnnotationAndInitializer.ts, 0, 13)) +>id : Symbol(I.id, Decl(everyTypeWithAnnotationAndInitializer.ts, 0, 13)) } class C implements I { @@ -11,7 +11,7 @@ class C implements I { >I : Symbol(I, Decl(everyTypeWithAnnotationAndInitializer.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(everyTypeWithAnnotationAndInitializer.ts, 4, 22)) +>id : Symbol(C.id, Decl(everyTypeWithAnnotationAndInitializer.ts, 4, 22)) } class D{ @@ -19,16 +19,16 @@ class D{ >T : Symbol(T, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 8)) source: T; ->source : Symbol(source, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 11)) +>source : Symbol(D.source, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 11)) >T : Symbol(T, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 8)) recurse: D; ->recurse : Symbol(recurse, Decl(everyTypeWithAnnotationAndInitializer.ts, 9, 14)) +>recurse : Symbol(D.recurse, Decl(everyTypeWithAnnotationAndInitializer.ts, 9, 14)) >D : Symbol(D, Decl(everyTypeWithAnnotationAndInitializer.ts, 6, 1)) >T : Symbol(T, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 8)) wrapped: D> ->wrapped : Symbol(wrapped, Decl(everyTypeWithAnnotationAndInitializer.ts, 10, 18)) +>wrapped : Symbol(D.wrapped, Decl(everyTypeWithAnnotationAndInitializer.ts, 10, 18)) >D : Symbol(D, Decl(everyTypeWithAnnotationAndInitializer.ts, 6, 1)) >D : Symbol(D, Decl(everyTypeWithAnnotationAndInitializer.ts, 6, 1)) >T : Symbol(T, Decl(everyTypeWithAnnotationAndInitializer.ts, 8, 8)) @@ -45,7 +45,7 @@ module M { >A : Symbol(A, Decl(everyTypeWithAnnotationAndInitializer.ts, 16, 10)) name: string; ->name : Symbol(name, Decl(everyTypeWithAnnotationAndInitializer.ts, 17, 20)) +>name : Symbol(A.name, Decl(everyTypeWithAnnotationAndInitializer.ts, 17, 20)) } export function F2(x: number): string { return x.toString(); } diff --git a/tests/baselines/reference/everyTypeWithInitializer.symbols b/tests/baselines/reference/everyTypeWithInitializer.symbols index 078f2e305d1..25a342ed18e 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.symbols +++ b/tests/baselines/reference/everyTypeWithInitializer.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(everyTypeWithInitializer.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(everyTypeWithInitializer.ts, 0, 13)) +>id : Symbol(I.id, Decl(everyTypeWithInitializer.ts, 0, 13)) } class C implements I { @@ -11,7 +11,7 @@ class C implements I { >I : Symbol(I, Decl(everyTypeWithInitializer.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(everyTypeWithInitializer.ts, 4, 22)) +>id : Symbol(C.id, Decl(everyTypeWithInitializer.ts, 4, 22)) } class D{ @@ -19,16 +19,16 @@ class D{ >T : Symbol(T, Decl(everyTypeWithInitializer.ts, 8, 8)) source: T; ->source : Symbol(source, Decl(everyTypeWithInitializer.ts, 8, 11)) +>source : Symbol(D.source, Decl(everyTypeWithInitializer.ts, 8, 11)) >T : Symbol(T, Decl(everyTypeWithInitializer.ts, 8, 8)) recurse: D; ->recurse : Symbol(recurse, Decl(everyTypeWithInitializer.ts, 9, 14)) +>recurse : Symbol(D.recurse, Decl(everyTypeWithInitializer.ts, 9, 14)) >D : Symbol(D, Decl(everyTypeWithInitializer.ts, 6, 1)) >T : Symbol(T, Decl(everyTypeWithInitializer.ts, 8, 8)) wrapped: D> ->wrapped : Symbol(wrapped, Decl(everyTypeWithInitializer.ts, 10, 18)) +>wrapped : Symbol(D.wrapped, Decl(everyTypeWithInitializer.ts, 10, 18)) >D : Symbol(D, Decl(everyTypeWithInitializer.ts, 6, 1)) >D : Symbol(D, Decl(everyTypeWithInitializer.ts, 6, 1)) >T : Symbol(T, Decl(everyTypeWithInitializer.ts, 8, 8)) @@ -45,7 +45,7 @@ module M { >A : Symbol(A, Decl(everyTypeWithInitializer.ts, 16, 10)) name: string; ->name : Symbol(name, Decl(everyTypeWithInitializer.ts, 17, 20)) +>name : Symbol(A.name, Decl(everyTypeWithInitializer.ts, 17, 20)) } export function F2(x: number): string { return x.toString(); } diff --git a/tests/baselines/reference/exportAssignClassAndModule.symbols b/tests/baselines/reference/exportAssignClassAndModule.symbols index 016e91f79a2..6f0141a82ff 100644 --- a/tests/baselines/reference/exportAssignClassAndModule.symbols +++ b/tests/baselines/reference/exportAssignClassAndModule.symbols @@ -22,7 +22,7 @@ class Foo { >Foo : Symbol(Foo, Decl(exportAssignClassAndModule_0.ts, 0, 0), Decl(exportAssignClassAndModule_0.ts, 2, 1)) x: Foo.Bar; ->x : Symbol(x, Decl(exportAssignClassAndModule_0.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(exportAssignClassAndModule_0.ts, 0, 11)) >Foo : Symbol(Foo, Decl(exportAssignClassAndModule_0.ts, 0, 0), Decl(exportAssignClassAndModule_0.ts, 2, 1)) >Bar : Symbol(Foo.Bar, Decl(exportAssignClassAndModule_0.ts, 3, 12)) } diff --git a/tests/baselines/reference/exportAssignValueAndType.symbols b/tests/baselines/reference/exportAssignValueAndType.symbols index faca2c6ffd0..e7049557619 100644 --- a/tests/baselines/reference/exportAssignValueAndType.symbols +++ b/tests/baselines/reference/exportAssignValueAndType.symbols @@ -4,7 +4,7 @@ declare module http { export interface Server { openPort: number; } >Server : Symbol(Server, Decl(exportAssignValueAndType.ts, 0, 21)) ->openPort : Symbol(openPort, Decl(exportAssignValueAndType.ts, 1, 26)) +>openPort : Symbol(Server.openPort, Decl(exportAssignValueAndType.ts, 1, 26)) } interface server { @@ -15,7 +15,7 @@ interface server { >Server : Symbol(http.Server, Decl(exportAssignValueAndType.ts, 0, 21)) startTime: Date; ->startTime : Symbol(startTime, Decl(exportAssignValueAndType.ts, 5, 20)) +>startTime : Symbol(server.startTime, Decl(exportAssignValueAndType.ts, 5, 20)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } diff --git a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols index e79faf36f35..d06bac73e4f 100644 --- a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols +++ b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols @@ -16,7 +16,7 @@ interface x { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: string; ->foo : Symbol(foo, Decl(exportAssignedTypeAsTypeAnnotation_0.ts, 2, 13)) +>foo : Symbol(x.foo, Decl(exportAssignedTypeAsTypeAnnotation_0.ts, 2, 13)) } export = x; >x : Symbol(x, Decl(exportAssignedTypeAsTypeAnnotation_0.ts, 0, 0)) diff --git a/tests/baselines/reference/exportAssignmentClass.symbols b/tests/baselines/reference/exportAssignmentClass.symbols index d0935ca8f8c..73a16572d65 100644 --- a/tests/baselines/reference/exportAssignmentClass.symbols +++ b/tests/baselines/reference/exportAssignmentClass.symbols @@ -15,7 +15,7 @@ var x = d.p; === tests/cases/compiler/exportAssignmentClass_A.ts === class C { public p = 0; } >C : Symbol(C, Decl(exportAssignmentClass_A.ts, 0, 0)) ->p : Symbol(p, Decl(exportAssignmentClass_A.ts, 0, 9)) +>p : Symbol(C.p, Decl(exportAssignmentClass_A.ts, 0, 9)) export = C; >C : Symbol(C, Decl(exportAssignmentClass_A.ts, 0, 0)) diff --git a/tests/baselines/reference/exportAssignmentGenericType.symbols b/tests/baselines/reference/exportAssignmentGenericType.symbols index ca228e7092e..7bf0ac178b5 100644 --- a/tests/baselines/reference/exportAssignmentGenericType.symbols +++ b/tests/baselines/reference/exportAssignmentGenericType.symbols @@ -18,7 +18,7 @@ class Foo{ >T : Symbol(T, Decl(foo_0.ts, 0, 10)) test: T; ->test : Symbol(test, Decl(foo_0.ts, 0, 13)) +>test : Symbol(Foo.test, Decl(foo_0.ts, 0, 13)) >T : Symbol(T, Decl(foo_0.ts, 0, 10)) } export = Foo; diff --git a/tests/baselines/reference/exportAssignmentInterface.symbols b/tests/baselines/reference/exportAssignmentInterface.symbols index 22f344a2cb9..d76c78303e8 100644 --- a/tests/baselines/reference/exportAssignmentInterface.symbols +++ b/tests/baselines/reference/exportAssignmentInterface.symbols @@ -17,7 +17,7 @@ interface A { >A : Symbol(A, Decl(exportAssignmentInterface_A.ts, 0, 0)) p1: number; ->p1 : Symbol(p1, Decl(exportAssignmentInterface_A.ts, 0, 13)) +>p1 : Symbol(A.p1, Decl(exportAssignmentInterface_A.ts, 0, 13)) } export = A; diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.symbols b/tests/baselines/reference/exportAssignmentMergedInterface.symbols index a199ed4e6c5..2eb5593aa44 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.symbols +++ b/tests/baselines/reference/exportAssignmentMergedInterface.symbols @@ -42,7 +42,7 @@ interface Foo { >a : Symbol(a, Decl(foo_0.ts, 1, 2)) b: string; ->b : Symbol(b, Decl(foo_0.ts, 1, 19)) +>b : Symbol(Foo.b, Decl(foo_0.ts, 1, 19)) } interface Foo { >Foo : Symbol(Foo, Decl(foo_0.ts, 0, 0), Decl(foo_0.ts, 3, 1)) @@ -51,10 +51,10 @@ interface Foo { >a : Symbol(a, Decl(foo_0.ts, 5, 2)) c: boolean; ->c : Symbol(c, Decl(foo_0.ts, 5, 21)) +>c : Symbol(Foo.c, Decl(foo_0.ts, 5, 21)) d: {x: number; y: number}; ->d : Symbol(d, Decl(foo_0.ts, 6, 12)) +>d : Symbol(Foo.d, Decl(foo_0.ts, 6, 12)) >x : Symbol(x, Decl(foo_0.ts, 7, 5)) >y : Symbol(y, Decl(foo_0.ts, 7, 15)) } diff --git a/tests/baselines/reference/exportAssignmentOfGenericType1.symbols b/tests/baselines/reference/exportAssignmentOfGenericType1.symbols index 8ae7dbc73a9..263d7e5f6af 100644 --- a/tests/baselines/reference/exportAssignmentOfGenericType1.symbols +++ b/tests/baselines/reference/exportAssignmentOfGenericType1.symbols @@ -24,6 +24,6 @@ export = T; class T { foo: X; } >T : Symbol(T, Decl(exportAssignmentOfGenericType1_0.ts, 0, 11)) >X : Symbol(X, Decl(exportAssignmentOfGenericType1_0.ts, 1, 8)) ->foo : Symbol(foo, Decl(exportAssignmentOfGenericType1_0.ts, 1, 12)) +>foo : Symbol(T.foo, Decl(exportAssignmentOfGenericType1_0.ts, 1, 12)) >X : Symbol(X, Decl(exportAssignmentOfGenericType1_0.ts, 1, 8)) diff --git a/tests/baselines/reference/exportAssignmentTopLevelClodule.symbols b/tests/baselines/reference/exportAssignmentTopLevelClodule.symbols index d672457f451..c024b8d51e2 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelClodule.symbols +++ b/tests/baselines/reference/exportAssignmentTopLevelClodule.symbols @@ -17,7 +17,7 @@ class Foo { >Foo : Symbol(Foo, Decl(foo_0.ts, 0, 0), Decl(foo_0.ts, 2, 1)) test = "test"; ->test : Symbol(test, Decl(foo_0.ts, 0, 11)) +>test : Symbol(Foo.test, Decl(foo_0.ts, 0, 11)) } module Foo { >Foo : Symbol(Foo, Decl(foo_0.ts, 0, 0), Decl(foo_0.ts, 2, 1)) diff --git a/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.symbols b/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.symbols index 80a48dff3ad..30ef72d18bf 100644 --- a/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.symbols +++ b/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.symbols @@ -14,13 +14,13 @@ module m2 { >connectExport : Symbol(connectExport, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 3, 5)) use: (mod: connectModule) => connectExport; ->use : Symbol(use, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 4, 36)) +>use : Symbol(connectExport.use, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 4, 36)) >mod : Symbol(mod, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 5, 14)) >connectModule : Symbol(connectModule, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 0, 11)) >connectExport : Symbol(connectExport, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 3, 5)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 5, 51)) +>listen : Symbol(connectExport.listen, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 5, 51)) >port : Symbol(port, Decl(exportAssignmentWithImportStatementPrivacyError.ts, 6, 17)) } diff --git a/tests/baselines/reference/exportAssignmentWithPrivacyError.symbols b/tests/baselines/reference/exportAssignmentWithPrivacyError.symbols index f69a4e00823..35807a4edea 100644 --- a/tests/baselines/reference/exportAssignmentWithPrivacyError.symbols +++ b/tests/baselines/reference/exportAssignmentWithPrivacyError.symbols @@ -11,13 +11,13 @@ interface connectexport { >connectexport : Symbol(connectexport, Decl(exportAssignmentWithPrivacyError.ts, 2, 1)) use: (mod: connectmodule) => connectexport; ->use : Symbol(use, Decl(exportAssignmentWithPrivacyError.ts, 3, 25)) +>use : Symbol(connectexport.use, Decl(exportAssignmentWithPrivacyError.ts, 3, 25)) >mod : Symbol(mod, Decl(exportAssignmentWithPrivacyError.ts, 4, 10)) >connectmodule : Symbol(connectmodule, Decl(exportAssignmentWithPrivacyError.ts, 0, 0)) >connectexport : Symbol(connectexport, Decl(exportAssignmentWithPrivacyError.ts, 2, 1)) listen: (port: number) => void; ->listen : Symbol(listen, Decl(exportAssignmentWithPrivacyError.ts, 4, 47)) +>listen : Symbol(connectexport.listen, Decl(exportAssignmentWithPrivacyError.ts, 4, 47)) >port : Symbol(port, Decl(exportAssignmentWithPrivacyError.ts, 5, 13)) } diff --git a/tests/baselines/reference/exportCodeGen.symbols b/tests/baselines/reference/exportCodeGen.symbols index fbc70cf8324..b664704d049 100644 --- a/tests/baselines/reference/exportCodeGen.symbols +++ b/tests/baselines/reference/exportCodeGen.symbols @@ -66,11 +66,11 @@ module E { export interface I { id: number } >I : Symbol(I, Decl(exportCodeGen.ts, 35, 28)) ->id : Symbol(id, Decl(exportCodeGen.ts, 36, 24)) +>id : Symbol(I.id, Decl(exportCodeGen.ts, 36, 24)) export class C { name: string } >C : Symbol(C, Decl(exportCodeGen.ts, 36, 37)) ->name : Symbol(name, Decl(exportCodeGen.ts, 37, 20)) +>name : Symbol(C.name, Decl(exportCodeGen.ts, 37, 20)) export module M { >M : Symbol(M, Decl(exportCodeGen.ts, 37, 35)) @@ -94,11 +94,11 @@ module F { interface I { id: number } >I : Symbol(I, Decl(exportCodeGen.ts, 47, 21)) ->id : Symbol(id, Decl(exportCodeGen.ts, 48, 17)) +>id : Symbol(I.id, Decl(exportCodeGen.ts, 48, 17)) class C { name: string } >C : Symbol(C, Decl(exportCodeGen.ts, 48, 30)) ->name : Symbol(name, Decl(exportCodeGen.ts, 49, 13)) +>name : Symbol(C.name, Decl(exportCodeGen.ts, 49, 13)) module M { >M : Symbol(M, Decl(exportCodeGen.ts, 49, 28)) diff --git a/tests/baselines/reference/exportEqualNamespaces.symbols b/tests/baselines/reference/exportEqualNamespaces.symbols index 1773883c68b..c8e6565c929 100644 --- a/tests/baselines/reference/exportEqualNamespaces.symbols +++ b/tests/baselines/reference/exportEqualNamespaces.symbols @@ -15,7 +15,7 @@ interface server { >Server : Symbol(server.Server, Decl(exportEqualNamespaces.ts, 0, 23)) startTime: Date; ->startTime : Symbol(startTime, Decl(exportEqualNamespaces.ts, 5, 22)) +>startTime : Symbol(server.startTime, Decl(exportEqualNamespaces.ts, 5, 22)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } diff --git a/tests/baselines/reference/exportImport.symbols b/tests/baselines/reference/exportImport.symbols index 02132338834..9f76955b9e6 100644 --- a/tests/baselines/reference/exportImport.symbols +++ b/tests/baselines/reference/exportImport.symbols @@ -19,7 +19,7 @@ export = Widget1 class Widget1 { name = 'one'; } >Widget1 : Symbol(Widget1, Decl(w1.ts, 1, 16)) ->name : Symbol(name, Decl(w1.ts, 2, 15)) +>name : Symbol(Widget1.name, Decl(w1.ts, 2, 15)) === tests/cases/compiler/exporter.ts === export import w = require('./w1'); diff --git a/tests/baselines/reference/exportImportAlias.symbols b/tests/baselines/reference/exportImportAlias.symbols index 131f53919ab..0f74969e591 100644 --- a/tests/baselines/reference/exportImportAlias.symbols +++ b/tests/baselines/reference/exportImportAlias.symbols @@ -11,8 +11,8 @@ module A { >Point : Symbol(Point, Decl(exportImportAlias.ts, 4, 32)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(exportImportAlias.ts, 6, 20)) ->y : Symbol(y, Decl(exportImportAlias.ts, 6, 37)) +>x : Symbol(Point.x, Decl(exportImportAlias.ts, 6, 20)) +>y : Symbol(Point.y, Decl(exportImportAlias.ts, 6, 37)) } export module B { >B : Symbol(B, Decl(exportImportAlias.ts, 7, 5)) @@ -21,7 +21,7 @@ module A { >Id : Symbol(Id, Decl(exportImportAlias.ts, 8, 21)) name: string; ->name : Symbol(name, Decl(exportImportAlias.ts, 9, 29)) +>name : Symbol(Id.name, Decl(exportImportAlias.ts, 9, 29)) } } } @@ -79,8 +79,8 @@ module X { >Point : Symbol(Point, Decl(exportImportAlias.ts, 29, 21)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(exportImportAlias.ts, 31, 24)) ->y : Symbol(y, Decl(exportImportAlias.ts, 31, 41)) +>x : Symbol(Point.x, Decl(exportImportAlias.ts, 31, 24)) +>y : Symbol(Point.y, Decl(exportImportAlias.ts, 31, 41)) } } } @@ -118,7 +118,7 @@ module K { >L : Symbol(L, Decl(exportImportAlias.ts, 45, 10), Decl(exportImportAlias.ts, 48, 5)) constructor(public name: string) { } ->name : Symbol(name, Decl(exportImportAlias.ts, 47, 20)) +>name : Symbol(L.name, Decl(exportImportAlias.ts, 47, 20)) } export module L { @@ -131,10 +131,10 @@ module K { >Point : Symbol(Point, Decl(exportImportAlias.ts, 51, 26)) x: number; ->x : Symbol(x, Decl(exportImportAlias.ts, 52, 32)) +>x : Symbol(Point.x, Decl(exportImportAlias.ts, 52, 32)) y: number; ->y : Symbol(y, Decl(exportImportAlias.ts, 53, 22)) +>y : Symbol(Point.y, Decl(exportImportAlias.ts, 53, 22)) } } } diff --git a/tests/baselines/reference/exportImportAndClodule.symbols b/tests/baselines/reference/exportImportAndClodule.symbols index 23995243bf9..1c6cbc6b784 100644 --- a/tests/baselines/reference/exportImportAndClodule.symbols +++ b/tests/baselines/reference/exportImportAndClodule.symbols @@ -6,7 +6,7 @@ module K { >L : Symbol(L, Decl(exportImportAndClodule.ts, 0, 10), Decl(exportImportAndClodule.ts, 3, 5)) constructor(public name: string) { } ->name : Symbol(name, Decl(exportImportAndClodule.ts, 2, 20)) +>name : Symbol(L.name, Decl(exportImportAndClodule.ts, 2, 20)) } export module L { >L : Symbol(L, Decl(exportImportAndClodule.ts, 0, 10), Decl(exportImportAndClodule.ts, 3, 5)) @@ -18,10 +18,10 @@ module K { >Point : Symbol(Point, Decl(exportImportAndClodule.ts, 5, 26)) x: number; ->x : Symbol(x, Decl(exportImportAndClodule.ts, 6, 32)) +>x : Symbol(Point.x, Decl(exportImportAndClodule.ts, 6, 32)) y: number; ->y : Symbol(y, Decl(exportImportAndClodule.ts, 7, 22)) +>y : Symbol(Point.y, Decl(exportImportAndClodule.ts, 7, 22)) } } } diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule.symbols b/tests/baselines/reference/exportImportNonInstantiatedModule.symbols index 6e044368bfb..1556427e09e 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule.symbols +++ b/tests/baselines/reference/exportImportNonInstantiatedModule.symbols @@ -4,7 +4,7 @@ module A { export interface I { x: number } >I : Symbol(I, Decl(exportImportNonInstantiatedModule.ts, 0, 10)) ->x : Symbol(x, Decl(exportImportNonInstantiatedModule.ts, 1, 24)) +>x : Symbol(I.x, Decl(exportImportNonInstantiatedModule.ts, 1, 24)) } module B { diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule2.symbols b/tests/baselines/reference/exportImportNonInstantiatedModule2.symbols index 02ccf97b161..148fd03b828 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule2.symbols +++ b/tests/baselines/reference/exportImportNonInstantiatedModule2.symbols @@ -17,7 +17,7 @@ export = Widget1 interface Widget1 { name: string; } >Widget1 : Symbol(Widget1, Decl(w1.ts, 1, 16)) ->name : Symbol(name, Decl(w1.ts, 2, 19)) +>name : Symbol(Widget1.name, Decl(w1.ts, 2, 19)) === tests/cases/compiler/exporter.ts === export import w = require('./w1'); diff --git a/tests/baselines/reference/exportNonVisibleType.symbols b/tests/baselines/reference/exportNonVisibleType.symbols index 35526a8db8c..6d08b3cf447 100644 --- a/tests/baselines/reference/exportNonVisibleType.symbols +++ b/tests/baselines/reference/exportNonVisibleType.symbols @@ -3,10 +3,10 @@ interface I1 { >I1 : Symbol(I1, Decl(foo1.ts, 0, 0)) a: string; ->a : Symbol(a, Decl(foo1.ts, 0, 14)) +>a : Symbol(I1.a, Decl(foo1.ts, 0, 14)) b: number; ->b : Symbol(b, Decl(foo1.ts, 1, 11)) +>b : Symbol(I1.b, Decl(foo1.ts, 1, 11)) } var x: I1 = {a: "test", b: 42}; @@ -24,17 +24,17 @@ interface I1 { >I1 : Symbol(I1, Decl(foo2.ts, 0, 0)) a: string; ->a : Symbol(a, Decl(foo2.ts, 0, 14)) +>a : Symbol(I1.a, Decl(foo2.ts, 0, 14)) b: number; ->b : Symbol(b, Decl(foo2.ts, 1, 11)) +>b : Symbol(I1.b, Decl(foo2.ts, 1, 11)) } class C1 { >C1 : Symbol(C1, Decl(foo2.ts, 3, 1)) m1: I1; ->m1 : Symbol(m1, Decl(foo2.ts, 5, 10)) +>m1 : Symbol(C1.m1, Decl(foo2.ts, 5, 10)) >I1 : Symbol(I1, Decl(foo2.ts, 0, 0)) } @@ -46,17 +46,17 @@ interface I1 { >I1 : Symbol(I1, Decl(foo3.ts, 0, 0)) a: string; ->a : Symbol(a, Decl(foo3.ts, 0, 14)) +>a : Symbol(I1.a, Decl(foo3.ts, 0, 14)) b: number; ->b : Symbol(b, Decl(foo3.ts, 1, 11)) +>b : Symbol(I1.b, Decl(foo3.ts, 1, 11)) } class C1 { >C1 : Symbol(C1, Decl(foo3.ts, 3, 1)) private m1: I1; ->m1 : Symbol(m1, Decl(foo3.ts, 5, 10)) +>m1 : Symbol(C1.m1, Decl(foo3.ts, 5, 10)) >I1 : Symbol(I1, Decl(foo3.ts, 0, 0)) } diff --git a/tests/baselines/reference/exportPrivateType.symbols b/tests/baselines/reference/exportPrivateType.symbols index ecb71869b39..a955870e99d 100644 --- a/tests/baselines/reference/exportPrivateType.symbols +++ b/tests/baselines/reference/exportPrivateType.symbols @@ -6,10 +6,10 @@ module foo { >C1 : Symbol(C1, Decl(exportPrivateType.ts, 0, 12)) x: string; ->x : Symbol(x, Decl(exportPrivateType.ts, 1, 14)) +>x : Symbol(C1.x, Decl(exportPrivateType.ts, 1, 14)) y: C1; ->y : Symbol(y, Decl(exportPrivateType.ts, 2, 18)) +>y : Symbol(C1.y, Decl(exportPrivateType.ts, 2, 18)) >C1 : Symbol(C1, Decl(exportPrivateType.ts, 0, 12)) } @@ -17,7 +17,7 @@ module foo { >C2 : Symbol(C2, Decl(exportPrivateType.ts, 4, 5)) test() { return true; } ->test : Symbol(test, Decl(exportPrivateType.ts, 6, 14)) +>test : Symbol(C2.test, Decl(exportPrivateType.ts, 6, 14)) } interface I1 { @@ -37,10 +37,10 @@ module foo { >I2 : Symbol(I2, Decl(exportPrivateType.ts, 13, 5)) x: string; ->x : Symbol(x, Decl(exportPrivateType.ts, 15, 18)) +>x : Symbol(I2.x, Decl(exportPrivateType.ts, 15, 18)) y: number; ->y : Symbol(y, Decl(exportPrivateType.ts, 16, 18)) +>y : Symbol(I2.y, Decl(exportPrivateType.ts, 16, 18)) } // None of the types are exported, so per section 10.3, should all be errors diff --git a/tests/baselines/reference/exportStarForValues.symbols b/tests/baselines/reference/exportStarForValues.symbols index 6694afecdc6..343c7b23a14 100644 --- a/tests/baselines/reference/exportStarForValues.symbols +++ b/tests/baselines/reference/exportStarForValues.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportStarForValues10.symbols b/tests/baselines/reference/exportStarForValues10.symbols index 2de35864d27..d1dc20f9140 100644 --- a/tests/baselines/reference/exportStarForValues10.symbols +++ b/tests/baselines/reference/exportStarForValues10.symbols @@ -6,7 +6,7 @@ export var v = 1; === tests/cases/compiler/file1.ts === export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 0, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 0, 22)) === tests/cases/compiler/file2.ts === export * from "file0"; diff --git a/tests/baselines/reference/exportStarForValues2.symbols b/tests/baselines/reference/exportStarForValues2.symbols index 0fa739f5431..fe5529b0f6d 100644 --- a/tests/baselines/reference/exportStarForValues2.symbols +++ b/tests/baselines/reference/exportStarForValues2.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportStarForValues3.symbols b/tests/baselines/reference/exportStarForValues3.symbols index a79aeb36588..5a9cc5f8d52 100644 --- a/tests/baselines/reference/exportStarForValues3.symbols +++ b/tests/baselines/reference/exportStarForValues3.symbols @@ -2,12 +2,12 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export interface A { x } >A : Symbol(A, Decl(file2.ts, 0, 0)) ->x : Symbol(x, Decl(file2.ts, 0, 20)) +>x : Symbol(A.x, Decl(file2.ts, 0, 20)) export * from "file1" var x = 1; @@ -16,7 +16,7 @@ var x = 1; === tests/cases/compiler/file3.ts === export interface B { x } >B : Symbol(B, Decl(file3.ts, 0, 0)) ->x : Symbol(x, Decl(file3.ts, 0, 20)) +>x : Symbol(B.x, Decl(file3.ts, 0, 20)) export * from "file1" var x = 1; @@ -25,7 +25,7 @@ var x = 1; === tests/cases/compiler/file4.ts === export interface C { x } >C : Symbol(C, Decl(file4.ts, 0, 0)) ->x : Symbol(x, Decl(file4.ts, 0, 20)) +>x : Symbol(C.x, Decl(file4.ts, 0, 20)) export * from "file2" export * from "file3" diff --git a/tests/baselines/reference/exportStarForValues4.symbols b/tests/baselines/reference/exportStarForValues4.symbols index 465d6ed3237..a6812b72952 100644 --- a/tests/baselines/reference/exportStarForValues4.symbols +++ b/tests/baselines/reference/exportStarForValues4.symbols @@ -2,12 +2,12 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export interface A { x } >A : Symbol(A, Decl(file2.ts, 0, 0)) ->x : Symbol(x, Decl(file2.ts, 0, 20)) +>x : Symbol(A.x, Decl(file2.ts, 0, 20)) export * from "file1" export * from "file3" @@ -17,7 +17,7 @@ var x = 1; === tests/cases/compiler/file3.ts === export interface B { x } >B : Symbol(B, Decl(file3.ts, 0, 0)) ->x : Symbol(x, Decl(file3.ts, 0, 20)) +>x : Symbol(B.x, Decl(file3.ts, 0, 20)) export * from "file2" var x = 1; diff --git a/tests/baselines/reference/exportStarForValues5.symbols b/tests/baselines/reference/exportStarForValues5.symbols index a2950afa73f..06e6a859e23 100644 --- a/tests/baselines/reference/exportStarForValues5.symbols +++ b/tests/baselines/reference/exportStarForValues5.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportStarForValues6.symbols b/tests/baselines/reference/exportStarForValues6.symbols index c57baf301dd..1eba5698be5 100644 --- a/tests/baselines/reference/exportStarForValues6.symbols +++ b/tests/baselines/reference/exportStarForValues6.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportStarForValues7.symbols b/tests/baselines/reference/exportStarForValues7.symbols index b59f2890047..952b7e3eff5 100644 --- a/tests/baselines/reference/exportStarForValues7.symbols +++ b/tests/baselines/reference/exportStarForValues7.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportStarForValues8.symbols b/tests/baselines/reference/exportStarForValues8.symbols index be958ecabe8..3b893dfa42b 100644 --- a/tests/baselines/reference/exportStarForValues8.symbols +++ b/tests/baselines/reference/exportStarForValues8.symbols @@ -2,12 +2,12 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export interface A { x } >A : Symbol(A, Decl(file2.ts, 0, 0)) ->x : Symbol(x, Decl(file2.ts, 0, 20)) +>x : Symbol(A.x, Decl(file2.ts, 0, 20)) export * from "file1" export var x = 1; @@ -16,7 +16,7 @@ export var x = 1; === tests/cases/compiler/file3.ts === export interface B { x } >B : Symbol(B, Decl(file3.ts, 0, 0)) ->x : Symbol(x, Decl(file3.ts, 0, 20)) +>x : Symbol(B.x, Decl(file3.ts, 0, 20)) export * from "file1" export var x = 1; @@ -25,7 +25,7 @@ export var x = 1; === tests/cases/compiler/file4.ts === export interface C { x } >C : Symbol(C, Decl(file4.ts, 0, 0)) ->x : Symbol(x, Decl(file4.ts, 0, 20)) +>x : Symbol(C.x, Decl(file4.ts, 0, 20)) export * from "file2" export * from "file3" diff --git a/tests/baselines/reference/exportStarForValues9.symbols b/tests/baselines/reference/exportStarForValues9.symbols index 0684c9e7b7c..e311f661a00 100644 --- a/tests/baselines/reference/exportStarForValues9.symbols +++ b/tests/baselines/reference/exportStarForValues9.symbols @@ -2,12 +2,12 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export interface A { x } >A : Symbol(A, Decl(file2.ts, 0, 0)) ->x : Symbol(x, Decl(file2.ts, 0, 20)) +>x : Symbol(A.x, Decl(file2.ts, 0, 20)) export * from "file1" export * from "file3" @@ -17,7 +17,7 @@ export var x = 1; === tests/cases/compiler/file3.ts === export interface B { x } >B : Symbol(B, Decl(file3.ts, 0, 0)) ->x : Symbol(x, Decl(file3.ts, 0, 20)) +>x : Symbol(B.x, Decl(file3.ts, 0, 20)) export * from "file2" export var x = 1; diff --git a/tests/baselines/reference/exportStarForValuesInSystem.symbols b/tests/baselines/reference/exportStarForValuesInSystem.symbols index c9ef9830c60..d4ffe0eeaa2 100644 --- a/tests/baselines/reference/exportStarForValuesInSystem.symbols +++ b/tests/baselines/reference/exportStarForValuesInSystem.symbols @@ -2,7 +2,7 @@ export interface Foo { x } >Foo : Symbol(Foo, Decl(file1.ts, 0, 0)) ->x : Symbol(x, Decl(file1.ts, 1, 22)) +>x : Symbol(Foo.x, Decl(file1.ts, 1, 22)) === tests/cases/compiler/file2.ts === export * from "file1" diff --git a/tests/baselines/reference/exportedInterfaceInaccessibleInCallbackInModule.symbols b/tests/baselines/reference/exportedInterfaceInaccessibleInCallbackInModule.symbols index 3127de7b6a2..2df8685b830 100644 --- a/tests/baselines/reference/exportedInterfaceInaccessibleInCallbackInModule.symbols +++ b/tests/baselines/reference/exportedInterfaceInaccessibleInCallbackInModule.symbols @@ -24,7 +24,7 @@ export declare class TPromise { // removing this method fixes the error squiggle..... public then(success?: (value:V)=>TPromise, error?: (err:any)=>TPromise, progress?:ProgressCallback): TPromise; ->then : Symbol(then, Decl(exportedInterfaceInaccessibleInCallbackInModule.ts, 7, 119)) +>then : Symbol(TPromise.then, Decl(exportedInterfaceInaccessibleInCallbackInModule.ts, 7, 119)) >U : Symbol(U, Decl(exportedInterfaceInaccessibleInCallbackInModule.ts, 10, 13)) >success : Symbol(success, Decl(exportedInterfaceInaccessibleInCallbackInModule.ts, 10, 16)) >value : Symbol(value, Decl(exportedInterfaceInaccessibleInCallbackInModule.ts, 10, 27)) diff --git a/tests/baselines/reference/extBaseClass1.symbols b/tests/baselines/reference/extBaseClass1.symbols index 416fa910f31..cf7781df07d 100644 --- a/tests/baselines/reference/extBaseClass1.symbols +++ b/tests/baselines/reference/extBaseClass1.symbols @@ -6,7 +6,7 @@ module M { >B : Symbol(B, Decl(extBaseClass1.ts, 0, 10)) public x=10; ->x : Symbol(x, Decl(extBaseClass1.ts, 1, 20)) +>x : Symbol(B.x, Decl(extBaseClass1.ts, 1, 20)) } export class C extends B { diff --git a/tests/baselines/reference/extendAndImplementTheSameBaseType.symbols b/tests/baselines/reference/extendAndImplementTheSameBaseType.symbols index c211fa4955b..45f25090af8 100644 --- a/tests/baselines/reference/extendAndImplementTheSameBaseType.symbols +++ b/tests/baselines/reference/extendAndImplementTheSameBaseType.symbols @@ -3,10 +3,10 @@ class C { >C : Symbol(C, Decl(extendAndImplementTheSameBaseType.ts, 0, 0)) foo: number ->foo : Symbol(foo, Decl(extendAndImplementTheSameBaseType.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(extendAndImplementTheSameBaseType.ts, 0, 9)) bar() {} ->bar : Symbol(bar, Decl(extendAndImplementTheSameBaseType.ts, 1, 15)) +>bar : Symbol(C.bar, Decl(extendAndImplementTheSameBaseType.ts, 1, 15)) } class D extends C implements C { >D : Symbol(D, Decl(extendAndImplementTheSameBaseType.ts, 3, 1)) @@ -14,7 +14,7 @@ class D extends C implements C { >C : Symbol(C, Decl(extendAndImplementTheSameBaseType.ts, 0, 0)) baz() { } ->baz : Symbol(baz, Decl(extendAndImplementTheSameBaseType.ts, 4, 32)) +>baz : Symbol(D.baz, Decl(extendAndImplementTheSameBaseType.ts, 4, 32)) } var c: C; diff --git a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols index 88aca935113..ab122b43c90 100644 --- a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols +++ b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols @@ -5,5 +5,5 @@ class derived extends base { } class base { constructor (public n: number) { } } >base : Symbol(base, Decl(extendBaseClassBeforeItsDeclared.ts, 0, 30)) ->n : Symbol(n, Decl(extendBaseClassBeforeItsDeclared.ts, 2, 26)) +>n : Symbol(base.n, Decl(extendBaseClassBeforeItsDeclared.ts, 2, 26)) diff --git a/tests/baselines/reference/extendBooleanInterface.symbols b/tests/baselines/reference/extendBooleanInterface.symbols index be2fb30226d..9ae4c46e3c7 100644 --- a/tests/baselines/reference/extendBooleanInterface.symbols +++ b/tests/baselines/reference/extendBooleanInterface.symbols @@ -3,10 +3,10 @@ interface Boolean { >Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendBooleanInterface.ts, 0, 0)) doStuff(): string; ->doStuff : Symbol(doStuff, Decl(extendBooleanInterface.ts, 0, 19)) +>doStuff : Symbol(Boolean.doStuff, Decl(extendBooleanInterface.ts, 0, 19)) doOtherStuff(x: T): T; ->doOtherStuff : Symbol(doOtherStuff, Decl(extendBooleanInterface.ts, 1, 22)) +>doOtherStuff : Symbol(Boolean.doOtherStuff, Decl(extendBooleanInterface.ts, 1, 22)) >T : Symbol(T, Decl(extendBooleanInterface.ts, 2, 17)) >x : Symbol(x, Decl(extendBooleanInterface.ts, 2, 20)) >T : Symbol(T, Decl(extendBooleanInterface.ts, 2, 17)) diff --git a/tests/baselines/reference/extendNonClassSymbol1.symbols b/tests/baselines/reference/extendNonClassSymbol1.symbols index 7c03ef3a97f..2b171308823 100644 --- a/tests/baselines/reference/extendNonClassSymbol1.symbols +++ b/tests/baselines/reference/extendNonClassSymbol1.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/extendNonClassSymbol1.ts === class A { foo() { } } >A : Symbol(A, Decl(extendNonClassSymbol1.ts, 0, 0)) ->foo : Symbol(foo, Decl(extendNonClassSymbol1.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(extendNonClassSymbol1.ts, 0, 9)) var x = A; >x : Symbol(x, Decl(extendNonClassSymbol1.ts, 1, 3)) diff --git a/tests/baselines/reference/extendNumberInterface.symbols b/tests/baselines/reference/extendNumberInterface.symbols index 218f0f41cb2..2eb64c13c88 100644 --- a/tests/baselines/reference/extendNumberInterface.symbols +++ b/tests/baselines/reference/extendNumberInterface.symbols @@ -3,10 +3,10 @@ interface Number { >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendNumberInterface.ts, 0, 0)) doStuff(): string; ->doStuff : Symbol(doStuff, Decl(extendNumberInterface.ts, 0, 18)) +>doStuff : Symbol(Number.doStuff, Decl(extendNumberInterface.ts, 0, 18)) doOtherStuff(x:T): T; ->doOtherStuff : Symbol(doOtherStuff, Decl(extendNumberInterface.ts, 1, 22)) +>doOtherStuff : Symbol(Number.doOtherStuff, Decl(extendNumberInterface.ts, 1, 22)) >T : Symbol(T, Decl(extendNumberInterface.ts, 2, 17)) >x : Symbol(x, Decl(extendNumberInterface.ts, 2, 20)) >T : Symbol(T, Decl(extendNumberInterface.ts, 2, 17)) diff --git a/tests/baselines/reference/extendStringInterface.symbols b/tests/baselines/reference/extendStringInterface.symbols index aa20b2e2c15..a4d3c31d97c 100644 --- a/tests/baselines/reference/extendStringInterface.symbols +++ b/tests/baselines/reference/extendStringInterface.symbols @@ -3,10 +3,10 @@ interface String { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendStringInterface.ts, 0, 0)) doStuff(): string; ->doStuff : Symbol(doStuff, Decl(extendStringInterface.ts, 0, 18)) +>doStuff : Symbol(String.doStuff, Decl(extendStringInterface.ts, 0, 18)) doOtherStuff(x:T): T; ->doOtherStuff : Symbol(doOtherStuff, Decl(extendStringInterface.ts, 1, 22)) +>doOtherStuff : Symbol(String.doOtherStuff, Decl(extendStringInterface.ts, 1, 22)) >T : Symbol(T, Decl(extendStringInterface.ts, 2, 17)) >x : Symbol(x, Decl(extendStringInterface.ts, 2, 20)) >T : Symbol(T, Decl(extendStringInterface.ts, 2, 17)) diff --git a/tests/baselines/reference/extendedInterfaceGenericType.symbols b/tests/baselines/reference/extendedInterfaceGenericType.symbols index 47e17b1e6a1..334981bc56d 100644 --- a/tests/baselines/reference/extendedInterfaceGenericType.symbols +++ b/tests/baselines/reference/extendedInterfaceGenericType.symbols @@ -4,14 +4,14 @@ interface Alpha { >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) takesArgOfT(arg: T): Alpha; ->takesArgOfT : Symbol(takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20)) +>takesArgOfT : Symbol(Alpha.takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20)) >arg : Symbol(arg, Decl(extendedInterfaceGenericType.ts, 1, 16)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) >Alpha : Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) makeBetaOfNumber(): Beta; ->makeBetaOfNumber : Symbol(makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34)) +>makeBetaOfNumber : Symbol(Alpha.makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34)) >Beta : Symbol(Beta, Decl(extendedInterfaceGenericType.ts, 3, 1)) } interface Beta extends Alpha { diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols index 33e0c226e67..fcf5a71330a 100644 --- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols +++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols @@ -12,7 +12,7 @@ interface IHasVisualizationModel { >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 79)) VisualizationModel: typeof Backbone.Model; ->VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 3, 34)) +>VisualizationModel : Symbol(IHasVisualizationModel.VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 3, 34)) >Backbone.Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0)) >Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0)) @@ -49,7 +49,7 @@ export class Model { >Model : Symbol(Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0)) public someData: string; ->someData : Symbol(someData, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 20)) +>someData : Symbol(Model.someData, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 20)) } === tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA.ts === diff --git a/tests/baselines/reference/externModuleClobber.symbols b/tests/baselines/reference/externModuleClobber.symbols index af4b19ad7c9..ad965a15879 100644 --- a/tests/baselines/reference/externModuleClobber.symbols +++ b/tests/baselines/reference/externModuleClobber.symbols @@ -9,7 +9,7 @@ declare module EM { >EC : Symbol(EC, Decl(externModuleClobber.ts, 1, 26)) public getPosition() : EM.Position; ->getPosition : Symbol(getPosition, Decl(externModuleClobber.ts, 3, 18)) +>getPosition : Symbol(EC.getPosition, Decl(externModuleClobber.ts, 3, 18)) >EM : Symbol(EM, Decl(externModuleClobber.ts, 0, 0)) >Position : Symbol(Position, Decl(externModuleClobber.ts, 0, 19)) } diff --git a/tests/baselines/reference/externalModuleAssignToVar.symbols b/tests/baselines/reference/externalModuleAssignToVar.symbols index 373dd3f793e..9e049b0bda6 100644 --- a/tests/baselines/reference/externalModuleAssignToVar.symbols +++ b/tests/baselines/reference/externalModuleAssignToVar.symbols @@ -41,7 +41,7 @@ y3 = ext3; // ok === tests/cases/compiler/externalModuleAssignToVar_ext.ts === class D { foo: string; } >D : Symbol(D, Decl(externalModuleAssignToVar_ext.ts, 0, 0)) ->foo : Symbol(foo, Decl(externalModuleAssignToVar_ext.ts, 0, 9)) +>foo : Symbol(D.foo, Decl(externalModuleAssignToVar_ext.ts, 0, 9)) export = D; >D : Symbol(D, Decl(externalModuleAssignToVar_ext.ts, 0, 0)) @@ -49,12 +49,12 @@ export = D; === tests/cases/compiler/externalModuleAssignToVar_core_require.ts === export class C { bar: string; } >C : Symbol(C, Decl(externalModuleAssignToVar_core_require.ts, 0, 0)) ->bar : Symbol(bar, Decl(externalModuleAssignToVar_core_require.ts, 0, 16)) +>bar : Symbol(C.bar, Decl(externalModuleAssignToVar_core_require.ts, 0, 16)) === tests/cases/compiler/externalModuleAssignToVar_core_require2.ts === class C { baz: string; } >C : Symbol(C, Decl(externalModuleAssignToVar_core_require2.ts, 0, 0)) ->baz : Symbol(baz, Decl(externalModuleAssignToVar_core_require2.ts, 0, 9)) +>baz : Symbol(C.baz, Decl(externalModuleAssignToVar_core_require2.ts, 0, 9)) export = C; >C : Symbol(C, Decl(externalModuleAssignToVar_core_require2.ts, 0, 0)) diff --git a/tests/baselines/reference/externalModuleQualification.symbols b/tests/baselines/reference/externalModuleQualification.symbols index dc056802c76..002a680a610 100644 --- a/tests/baselines/reference/externalModuleQualification.symbols +++ b/tests/baselines/reference/externalModuleQualification.symbols @@ -9,7 +9,7 @@ export class DiffEditor { >C : Symbol(C, Decl(externalModuleQualification.ts, 1, 29)) private previousDiffAction: NavigateAction; ->previousDiffAction : Symbol(previousDiffAction, Decl(externalModuleQualification.ts, 1, 34)) +>previousDiffAction : Symbol(DiffEditor.previousDiffAction, Decl(externalModuleQualification.ts, 1, 34)) >NavigateAction : Symbol(NavigateAction, Decl(externalModuleQualification.ts, 5, 1)) constructor(id: string = ID) { @@ -21,7 +21,7 @@ class NavigateAction { >NavigateAction : Symbol(NavigateAction, Decl(externalModuleQualification.ts, 5, 1)) f(editor: DiffEditor) { ->f : Symbol(f, Decl(externalModuleQualification.ts, 6, 22)) +>f : Symbol(NavigateAction.f, Decl(externalModuleQualification.ts, 6, 22)) >editor : Symbol(editor, Decl(externalModuleQualification.ts, 7, 6)) >DiffEditor : Symbol(DiffEditor, Decl(externalModuleQualification.ts, 0, 23)) } diff --git a/tests/baselines/reference/fatArrowSelf.symbols b/tests/baselines/reference/fatArrowSelf.symbols index 4008b648ae6..df9c912e292 100644 --- a/tests/baselines/reference/fatArrowSelf.symbols +++ b/tests/baselines/reference/fatArrowSelf.symbols @@ -12,7 +12,7 @@ module Events { >EventEmitter : Symbol(EventEmitter, Decl(fatArrowSelf.ts, 3, 5)) public addListener(type:string, listener:ListenerCallback) { ->addListener : Symbol(addListener, Decl(fatArrowSelf.ts, 4, 31)) +>addListener : Symbol(EventEmitter.addListener, Decl(fatArrowSelf.ts, 4, 31)) >type : Symbol(type, Decl(fatArrowSelf.ts, 5, 28)) >listener : Symbol(listener, Decl(fatArrowSelf.ts, 5, 40)) >ListenerCallback : Symbol(ListenerCallback, Decl(fatArrowSelf.ts, 0, 15)) @@ -27,31 +27,31 @@ module Consumer { >EventEmitterConsummer : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) constructor (private emitter: Events.EventEmitter) { } ->emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) +>emitter : Symbol(EventEmitterConsummer.emitter, Decl(fatArrowSelf.ts, 12, 21)) >Events : Symbol(Events, Decl(fatArrowSelf.ts, 0, 0)) >EventEmitter : Symbol(Events.EventEmitter, Decl(fatArrowSelf.ts, 3, 5)) private register() { ->register : Symbol(register, Decl(fatArrowSelf.ts, 12, 62)) +>register : Symbol(EventEmitterConsummer.register, Decl(fatArrowSelf.ts, 12, 62)) this.emitter.addListener('change', (e) => { >this.emitter.addListener : Symbol(Events.EventEmitter.addListener, Decl(fatArrowSelf.ts, 4, 31)) ->this.emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) +>this.emitter : Symbol(EventEmitterConsummer.emitter, Decl(fatArrowSelf.ts, 12, 21)) >this : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) ->emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) +>emitter : Symbol(EventEmitterConsummer.emitter, Decl(fatArrowSelf.ts, 12, 21)) >addListener : Symbol(Events.EventEmitter.addListener, Decl(fatArrowSelf.ts, 4, 31)) >e : Symbol(e, Decl(fatArrowSelf.ts, 15, 48)) this.changed(); ->this.changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) +>this.changed : Symbol(EventEmitterConsummer.changed, Decl(fatArrowSelf.ts, 18, 9)) >this : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) ->changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) +>changed : Symbol(EventEmitterConsummer.changed, Decl(fatArrowSelf.ts, 18, 9)) }); } private changed() { ->changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) +>changed : Symbol(EventEmitterConsummer.changed, Decl(fatArrowSelf.ts, 18, 9)) } } } diff --git a/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols b/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols index 97d485c4b56..e3ad22f6a05 100644 --- a/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols +++ b/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols @@ -5,7 +5,7 @@ class A{ >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) list: T ; ->list : Symbol(list, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 26)) +>list : Symbol(A.list, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 26)) >T : Symbol(T, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 8)) } var a = new A(); diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly3.symbols b/tests/baselines/reference/fixingTypeParametersRepeatedly3.symbols index a849adb6235..c08fa6d9694 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly3.symbols +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly3.symbols @@ -3,14 +3,14 @@ interface Base { >Base : Symbol(Base, Decl(fixingTypeParametersRepeatedly3.ts, 0, 0)) baseProp; ->baseProp : Symbol(baseProp, Decl(fixingTypeParametersRepeatedly3.ts, 0, 16)) +>baseProp : Symbol(Base.baseProp, Decl(fixingTypeParametersRepeatedly3.ts, 0, 16)) } interface Derived extends Base { >Derived : Symbol(Derived, Decl(fixingTypeParametersRepeatedly3.ts, 2, 1)) >Base : Symbol(Base, Decl(fixingTypeParametersRepeatedly3.ts, 0, 0)) toBase?(): Base; ->toBase : Symbol(toBase, Decl(fixingTypeParametersRepeatedly3.ts, 3, 32)) +>toBase : Symbol(Derived.toBase, Decl(fixingTypeParametersRepeatedly3.ts, 3, 32)) >Base : Symbol(Base, Decl(fixingTypeParametersRepeatedly3.ts, 0, 0)) } diff --git a/tests/baselines/reference/fluentClasses.symbols b/tests/baselines/reference/fluentClasses.symbols index 3125235b6b1..d33bd8697ce 100644 --- a/tests/baselines/reference/fluentClasses.symbols +++ b/tests/baselines/reference/fluentClasses.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(fluentClasses.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(fluentClasses.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(fluentClasses.ts, 0, 9)) return this; >this : Symbol(A, Decl(fluentClasses.ts, 0, 0)) @@ -14,7 +14,7 @@ class B extends A { >A : Symbol(A, Decl(fluentClasses.ts, 0, 0)) bar() { ->bar : Symbol(bar, Decl(fluentClasses.ts, 5, 19)) +>bar : Symbol(B.bar, Decl(fluentClasses.ts, 5, 19)) return this; >this : Symbol(B, Decl(fluentClasses.ts, 4, 1)) @@ -25,7 +25,7 @@ class C extends B { >B : Symbol(B, Decl(fluentClasses.ts, 4, 1)) baz() { ->baz : Symbol(baz, Decl(fluentClasses.ts, 10, 19)) +>baz : Symbol(C.baz, Decl(fluentClasses.ts, 10, 19)) return this; >this : Symbol(C, Decl(fluentClasses.ts, 9, 1)) diff --git a/tests/baselines/reference/fluentInterfaces.symbols b/tests/baselines/reference/fluentInterfaces.symbols index e059cdc127e..d3bc1020f52 100644 --- a/tests/baselines/reference/fluentInterfaces.symbols +++ b/tests/baselines/reference/fluentInterfaces.symbols @@ -3,21 +3,21 @@ interface A { >A : Symbol(A, Decl(fluentInterfaces.ts, 0, 0)) foo(): this; ->foo : Symbol(foo, Decl(fluentInterfaces.ts, 0, 13)) +>foo : Symbol(A.foo, Decl(fluentInterfaces.ts, 0, 13)) } interface B extends A { >B : Symbol(B, Decl(fluentInterfaces.ts, 2, 1)) >A : Symbol(A, Decl(fluentInterfaces.ts, 0, 0)) bar(): this; ->bar : Symbol(bar, Decl(fluentInterfaces.ts, 3, 23)) +>bar : Symbol(B.bar, Decl(fluentInterfaces.ts, 3, 23)) } interface C extends B { >C : Symbol(C, Decl(fluentInterfaces.ts, 5, 1)) >B : Symbol(B, Decl(fluentInterfaces.ts, 2, 1)) baz(): this; ->baz : Symbol(baz, Decl(fluentInterfaces.ts, 6, 23)) +>baz : Symbol(C.baz, Decl(fluentInterfaces.ts, 6, 23)) } var c: C; >c : Symbol(c, Decl(fluentInterfaces.ts, 9, 3)) diff --git a/tests/baselines/reference/for-of18.symbols b/tests/baselines/reference/for-of18.symbols index 34e11d3d388..24bbd8f7119 100644 --- a/tests/baselines/reference/for-of18.symbols +++ b/tests/baselines/reference/for-of18.symbols @@ -10,7 +10,7 @@ class StringIterator { >StringIterator : Symbol(StringIterator, Decl(for-of18.ts, 1, 33)) next() { ->next : Symbol(next, Decl(for-of18.ts, 3, 22)) +>next : Symbol(StringIterator.next, Decl(for-of18.ts, 3, 22)) return { value: "", diff --git a/tests/baselines/reference/for-of19.symbols b/tests/baselines/reference/for-of19.symbols index 81aafd32d13..202ac2b0725 100644 --- a/tests/baselines/reference/for-of19.symbols +++ b/tests/baselines/reference/for-of19.symbols @@ -14,7 +14,7 @@ class FooIterator { >FooIterator : Symbol(FooIterator, Decl(for-of19.ts, 4, 13)) next() { ->next : Symbol(next, Decl(for-of19.ts, 5, 19)) +>next : Symbol(FooIterator.next, Decl(for-of19.ts, 5, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/for-of20.symbols b/tests/baselines/reference/for-of20.symbols index 727b69e3c9d..75d5b54e221 100644 --- a/tests/baselines/reference/for-of20.symbols +++ b/tests/baselines/reference/for-of20.symbols @@ -14,7 +14,7 @@ class FooIterator { >FooIterator : Symbol(FooIterator, Decl(for-of20.ts, 4, 13)) next() { ->next : Symbol(next, Decl(for-of20.ts, 5, 19)) +>next : Symbol(FooIterator.next, Decl(for-of20.ts, 5, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/for-of21.symbols b/tests/baselines/reference/for-of21.symbols index 1464a42aab2..7bfaf450bef 100644 --- a/tests/baselines/reference/for-of21.symbols +++ b/tests/baselines/reference/for-of21.symbols @@ -14,7 +14,7 @@ class FooIterator { >FooIterator : Symbol(FooIterator, Decl(for-of21.ts, 4, 13)) next() { ->next : Symbol(next, Decl(for-of21.ts, 5, 19)) +>next : Symbol(FooIterator.next, Decl(for-of21.ts, 5, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/for-of22.symbols b/tests/baselines/reference/for-of22.symbols index 1aac39dae6e..9ab9bf378f5 100644 --- a/tests/baselines/reference/for-of22.symbols +++ b/tests/baselines/reference/for-of22.symbols @@ -15,7 +15,7 @@ class FooIterator { >FooIterator : Symbol(FooIterator, Decl(for-of22.ts, 5, 13)) next() { ->next : Symbol(next, Decl(for-of22.ts, 6, 19)) +>next : Symbol(FooIterator.next, Decl(for-of22.ts, 6, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/for-of23.symbols b/tests/baselines/reference/for-of23.symbols index f4f34fcef93..6223c93de37 100644 --- a/tests/baselines/reference/for-of23.symbols +++ b/tests/baselines/reference/for-of23.symbols @@ -14,7 +14,7 @@ class FooIterator { >FooIterator : Symbol(FooIterator, Decl(for-of23.ts, 4, 13)) next() { ->next : Symbol(next, Decl(for-of23.ts, 5, 19)) +>next : Symbol(FooIterator.next, Decl(for-of23.ts, 5, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/for-of26.symbols b/tests/baselines/reference/for-of26.symbols index 9f4d1455c3f..60555a08044 100644 --- a/tests/baselines/reference/for-of26.symbols +++ b/tests/baselines/reference/for-of26.symbols @@ -10,7 +10,7 @@ class StringIterator { >StringIterator : Symbol(StringIterator, Decl(for-of26.ts, 1, 37)) next() { ->next : Symbol(next, Decl(for-of26.ts, 3, 22)) +>next : Symbol(StringIterator.next, Decl(for-of26.ts, 3, 22)) return x; >x : Symbol(x, Decl(for-of26.ts, 0, 3)) diff --git a/tests/baselines/reference/for-of28.symbols b/tests/baselines/reference/for-of28.symbols index 91081d3abdf..c019a4285cd 100644 --- a/tests/baselines/reference/for-of28.symbols +++ b/tests/baselines/reference/for-of28.symbols @@ -7,7 +7,7 @@ class StringIterator { >StringIterator : Symbol(StringIterator, Decl(for-of28.ts, 0, 37)) next: any; ->next : Symbol(next, Decl(for-of28.ts, 2, 22)) +>next : Symbol(StringIterator.next, Decl(for-of28.ts, 2, 22)) [Symbol.iterator]() { >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/forStatements.symbols b/tests/baselines/reference/forStatements.symbols index 2d5250217f9..4a256ff51dc 100644 --- a/tests/baselines/reference/forStatements.symbols +++ b/tests/baselines/reference/forStatements.symbols @@ -4,7 +4,7 @@ interface I { >I : Symbol(I, Decl(forStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(forStatements.ts, 1, 13)) +>id : Symbol(I.id, Decl(forStatements.ts, 1, 13)) } class C implements I { @@ -12,7 +12,7 @@ class C implements I { >I : Symbol(I, Decl(forStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(forStatements.ts, 5, 22)) +>id : Symbol(C.id, Decl(forStatements.ts, 5, 22)) } class D{ @@ -20,16 +20,16 @@ class D{ >T : Symbol(T, Decl(forStatements.ts, 9, 8)) source: T; ->source : Symbol(source, Decl(forStatements.ts, 9, 11)) +>source : Symbol(D.source, Decl(forStatements.ts, 9, 11)) >T : Symbol(T, Decl(forStatements.ts, 9, 8)) recurse: D; ->recurse : Symbol(recurse, Decl(forStatements.ts, 10, 14)) +>recurse : Symbol(D.recurse, Decl(forStatements.ts, 10, 14)) >D : Symbol(D, Decl(forStatements.ts, 7, 1)) >T : Symbol(T, Decl(forStatements.ts, 9, 8)) wrapped: D> ->wrapped : Symbol(wrapped, Decl(forStatements.ts, 11, 18)) +>wrapped : Symbol(D.wrapped, Decl(forStatements.ts, 11, 18)) >D : Symbol(D, Decl(forStatements.ts, 7, 1)) >D : Symbol(D, Decl(forStatements.ts, 7, 1)) >T : Symbol(T, Decl(forStatements.ts, 9, 8)) @@ -46,7 +46,7 @@ module M { >A : Symbol(A, Decl(forStatements.ts, 17, 10)) name: string; ->name : Symbol(name, Decl(forStatements.ts, 18, 20)) +>name : Symbol(A.name, Decl(forStatements.ts, 18, 20)) } export function F2(x: number): string { return x.toString(); } diff --git a/tests/baselines/reference/forStatementsMultipleValidDecl.symbols b/tests/baselines/reference/forStatementsMultipleValidDecl.symbols index d2d8ac01003..89e36c4a8f5 100644 --- a/tests/baselines/reference/forStatementsMultipleValidDecl.symbols +++ b/tests/baselines/reference/forStatementsMultipleValidDecl.symbols @@ -21,8 +21,8 @@ function declSpace() { } interface Point { x: number; y: number; } >Point : Symbol(Point, Decl(forStatementsMultipleValidDecl.ts, 10, 1)) ->x : Symbol(x, Decl(forStatementsMultipleValidDecl.ts, 11, 17)) ->y : Symbol(y, Decl(forStatementsMultipleValidDecl.ts, 11, 28)) +>x : Symbol(Point.x, Decl(forStatementsMultipleValidDecl.ts, 11, 17)) +>y : Symbol(Point.y, Decl(forStatementsMultipleValidDecl.ts, 11, 28)) for (var p: Point; ;) { } >p : Symbol(p, Decl(forStatementsMultipleValidDecl.ts, 13, 8), Decl(forStatementsMultipleValidDecl.ts, 14, 8), Decl(forStatementsMultipleValidDecl.ts, 15, 8), Decl(forStatementsMultipleValidDecl.ts, 16, 8), Decl(forStatementsMultipleValidDecl.ts, 17, 8), Decl(forStatementsMultipleValidDecl.ts, 18, 8), Decl(forStatementsMultipleValidDecl.ts, 19, 8)) diff --git a/tests/baselines/reference/functionCall5.symbols b/tests/baselines/reference/functionCall5.symbols index de166231204..e06c801eba8 100644 --- a/tests/baselines/reference/functionCall5.symbols +++ b/tests/baselines/reference/functionCall5.symbols @@ -2,7 +2,7 @@ module m1 { export class c1 { public a; }} >m1 : Symbol(m1, Decl(functionCall5.ts, 0, 0)) >c1 : Symbol(c1, Decl(functionCall5.ts, 0, 11)) ->a : Symbol(a, Decl(functionCall5.ts, 0, 29)) +>a : Symbol(c1.a, Decl(functionCall5.ts, 0, 29)) function foo():m1.c1{return new m1.c1();}; >foo : Symbol(foo, Decl(functionCall5.ts, 0, 42)) diff --git a/tests/baselines/reference/functionConstraintSatisfaction.symbols b/tests/baselines/reference/functionConstraintSatisfaction.symbols index 969ac928374..5955f0059a9 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction.symbols +++ b/tests/baselines/reference/functionConstraintSatisfaction.symbols @@ -23,7 +23,7 @@ class C { >C : Symbol(C, Decl(functionConstraintSatisfaction.ts, 7, 9)) foo: string; ->foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 9, 9)) +>foo : Symbol(C.foo, Decl(functionConstraintSatisfaction.ts, 9, 9)) } var a: { (): string }; @@ -103,7 +103,7 @@ class C2 { >T : Symbol(T, Decl(functionConstraintSatisfaction.ts, 32, 9)) foo: T; ->foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 32, 13)) +>foo : Symbol(C2.foo, Decl(functionConstraintSatisfaction.ts, 32, 13)) >T : Symbol(T, Decl(functionConstraintSatisfaction.ts, 32, 9)) } @@ -193,7 +193,7 @@ var r16 = foo(c2); interface F2 extends Function { foo: string; } >F2 : Symbol(F2, Decl(functionConstraintSatisfaction.ts, 47, 18)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 49, 31)) +>foo : Symbol(F2.foo, Decl(functionConstraintSatisfaction.ts, 49, 31)) var f2: F2; >f2 : Symbol(f2, Decl(functionConstraintSatisfaction.ts, 50, 3)) diff --git a/tests/baselines/reference/functionConstraintSatisfaction3.symbols b/tests/baselines/reference/functionConstraintSatisfaction3.symbols index 74f3a65aa8e..70f71602c06 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction3.symbols +++ b/tests/baselines/reference/functionConstraintSatisfaction3.symbols @@ -23,7 +23,7 @@ class C { >C : Symbol(C, Decl(functionConstraintSatisfaction3.ts, 7, 9)) foo: string; ->foo : Symbol(foo, Decl(functionConstraintSatisfaction3.ts, 9, 9)) +>foo : Symbol(C.foo, Decl(functionConstraintSatisfaction3.ts, 9, 9)) } var a: { (): string }; @@ -88,7 +88,7 @@ class C2 { >T : Symbol(T, Decl(functionConstraintSatisfaction3.ts, 29, 9)) foo: T; ->foo : Symbol(foo, Decl(functionConstraintSatisfaction3.ts, 29, 13)) +>foo : Symbol(C2.foo, Decl(functionConstraintSatisfaction3.ts, 29, 13)) >T : Symbol(T, Decl(functionConstraintSatisfaction3.ts, 29, 9)) } diff --git a/tests/baselines/reference/functionExpressionContextualTyping1.symbols b/tests/baselines/reference/functionExpressionContextualTyping1.symbols index 736fa86b9ca..a34c9bed4c1 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.symbols +++ b/tests/baselines/reference/functionExpressionContextualTyping1.symbols @@ -30,7 +30,7 @@ class Class { >T : Symbol(T, Decl(functionExpressionContextualTyping1.ts, 13, 12)) foo() { } ->foo : Symbol(foo, Decl(functionExpressionContextualTyping1.ts, 13, 16)) +>foo : Symbol(Class.foo, Decl(functionExpressionContextualTyping1.ts, 13, 16)) } var a1: (c: Class) => number = (a1) => { diff --git a/tests/baselines/reference/functionImplementations.symbols b/tests/baselines/reference/functionImplementations.symbols index 07945b5f765..1d8c5b2618b 100644 --- a/tests/baselines/reference/functionImplementations.symbols +++ b/tests/baselines/reference/functionImplementations.symbols @@ -150,12 +150,12 @@ var n = function () { // FunctionExpression with no return type annotation with multiple return statements with subtype relation between returns class Base { private m; } >Base : Symbol(Base, Decl(functionImplementations.ts, 70, 4)) ->m : Symbol(m, Decl(functionImplementations.ts, 77, 12)) +>m : Symbol(Base.m, Decl(functionImplementations.ts, 77, 12)) class Derived extends Base { private q; } >Derived : Symbol(Derived, Decl(functionImplementations.ts, 77, 25)) >Base : Symbol(Base, Decl(functionImplementations.ts, 70, 4)) ->q : Symbol(q, Decl(functionImplementations.ts, 78, 28)) +>q : Symbol(Derived.q, Decl(functionImplementations.ts, 78, 28)) var b: Base; >b : Symbol(b, Decl(functionImplementations.ts, 79, 3), Decl(functionImplementations.ts, 80, 3)) @@ -261,11 +261,11 @@ function f6(): number { class Derived2 extends Base { private r: string; } >Derived2 : Symbol(Derived2, Decl(functionImplementations.ts, 124, 1)) >Base : Symbol(Base, Decl(functionImplementations.ts, 70, 4)) ->r : Symbol(r, Decl(functionImplementations.ts, 126, 29)) +>r : Symbol(Derived2.r, Decl(functionImplementations.ts, 126, 29)) class AnotherClass { private x } >AnotherClass : Symbol(AnotherClass, Decl(functionImplementations.ts, 126, 50)) ->x : Symbol(x, Decl(functionImplementations.ts, 127, 20)) +>x : Symbol(AnotherClass.x, Decl(functionImplementations.ts, 127, 20)) // if f is a contextually typed function expression, the inferred return type is the union type // of the types of the return statement expressions in the function body, diff --git a/tests/baselines/reference/functionOverloads44.symbols b/tests/baselines/reference/functionOverloads44.symbols index 3520777a835..9b1ef6c93a8 100644 --- a/tests/baselines/reference/functionOverloads44.symbols +++ b/tests/baselines/reference/functionOverloads44.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/functionOverloads44.ts === interface Animal { animal } >Animal : Symbol(Animal, Decl(functionOverloads44.ts, 0, 0)) ->animal : Symbol(animal, Decl(functionOverloads44.ts, 0, 18)) +>animal : Symbol(Animal.animal, Decl(functionOverloads44.ts, 0, 18)) interface Dog extends Animal { dog } >Dog : Symbol(Dog, Decl(functionOverloads44.ts, 0, 27)) >Animal : Symbol(Animal, Decl(functionOverloads44.ts, 0, 0)) ->dog : Symbol(dog, Decl(functionOverloads44.ts, 1, 30)) +>dog : Symbol(Dog.dog, Decl(functionOverloads44.ts, 1, 30)) interface Cat extends Animal { cat } >Cat : Symbol(Cat, Decl(functionOverloads44.ts, 1, 36)) >Animal : Symbol(Animal, Decl(functionOverloads44.ts, 0, 0)) ->cat : Symbol(cat, Decl(functionOverloads44.ts, 2, 30)) +>cat : Symbol(Cat.cat, Decl(functionOverloads44.ts, 2, 30)) function foo1(bar: { a:number }[]): Dog; >foo1 : Symbol(foo1, Decl(functionOverloads44.ts, 2, 36), Decl(functionOverloads44.ts, 4, 40), Decl(functionOverloads44.ts, 5, 43)) diff --git a/tests/baselines/reference/functionOverloads45.symbols b/tests/baselines/reference/functionOverloads45.symbols index 28599339099..628ab14e3d1 100644 --- a/tests/baselines/reference/functionOverloads45.symbols +++ b/tests/baselines/reference/functionOverloads45.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/functionOverloads45.ts === interface Animal { animal } >Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0)) ->animal : Symbol(animal, Decl(functionOverloads45.ts, 0, 18)) +>animal : Symbol(Animal.animal, Decl(functionOverloads45.ts, 0, 18)) interface Dog extends Animal { dog } >Dog : Symbol(Dog, Decl(functionOverloads45.ts, 0, 27)) >Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0)) ->dog : Symbol(dog, Decl(functionOverloads45.ts, 1, 30)) +>dog : Symbol(Dog.dog, Decl(functionOverloads45.ts, 1, 30)) interface Cat extends Animal { cat } >Cat : Symbol(Cat, Decl(functionOverloads45.ts, 1, 36)) >Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0)) ->cat : Symbol(cat, Decl(functionOverloads45.ts, 2, 30)) +>cat : Symbol(Cat.cat, Decl(functionOverloads45.ts, 2, 30)) function foo1(bar: { a:number }[]): Cat; >foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40)) diff --git a/tests/baselines/reference/functionOverloads7.symbols b/tests/baselines/reference/functionOverloads7.symbols index 1d2fe3ea6a2..f1b29f951e7 100644 --- a/tests/baselines/reference/functionOverloads7.symbols +++ b/tests/baselines/reference/functionOverloads7.symbols @@ -3,30 +3,30 @@ class foo { >foo : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) private bar(); ->bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) private bar(foo: string); ->bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >foo : Symbol(foo, Decl(functionOverloads7.ts, 2, 15)) private bar(foo?: any){ return "foo" } ->bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >foo : Symbol(foo, Decl(functionOverloads7.ts, 3, 15)) public n() { ->n : Symbol(n, Decl(functionOverloads7.ts, 3, 41)) +>n : Symbol(foo.n, Decl(functionOverloads7.ts, 3, 41)) var foo = this.bar(); >foo : Symbol(foo, Decl(functionOverloads7.ts, 5, 8)) ->this.bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>this.bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >this : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) ->bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) foo = this.bar("test"); >foo : Symbol(foo, Decl(functionOverloads7.ts, 5, 8)) ->this.bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>this.bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >this : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) ->bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) +>bar : Symbol(foo.bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) } } diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity1.symbols b/tests/baselines/reference/functionOverloadsOnGenericArity1.symbols index d4721e5ec08..57c1edcd8f0 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity1.symbols +++ b/tests/baselines/reference/functionOverloadsOnGenericArity1.symbols @@ -4,11 +4,11 @@ interface C { >C : Symbol(C, Decl(functionOverloadsOnGenericArity1.ts, 0, 0)) f(): string; ->f : Symbol(f, Decl(functionOverloadsOnGenericArity1.ts, 1, 13), Decl(functionOverloadsOnGenericArity1.ts, 2, 18)) +>f : Symbol(C.f, Decl(functionOverloadsOnGenericArity1.ts, 1, 13), Decl(functionOverloadsOnGenericArity1.ts, 2, 18)) >T : Symbol(T, Decl(functionOverloadsOnGenericArity1.ts, 2, 5)) f(): string; ->f : Symbol(f, Decl(functionOverloadsOnGenericArity1.ts, 1, 13), Decl(functionOverloadsOnGenericArity1.ts, 2, 18)) +>f : Symbol(C.f, Decl(functionOverloadsOnGenericArity1.ts, 1, 13), Decl(functionOverloadsOnGenericArity1.ts, 2, 18)) >T : Symbol(T, Decl(functionOverloadsOnGenericArity1.ts, 3, 5)) >U : Symbol(U, Decl(functionOverloadsOnGenericArity1.ts, 3, 7)) diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols b/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols index 0dda3ba81a8..9fbe362e33f 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols +++ b/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols @@ -3,16 +3,16 @@ interface I { >I : Symbol(I, Decl(functionOverloadsOnGenericArity2.ts, 0, 0)) then(p: string): string; ->then : Symbol(then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) +>then : Symbol(I.then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) >p : Symbol(p, Decl(functionOverloadsOnGenericArity2.ts, 1, 9)) then(p: string): string; ->then : Symbol(then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) +>then : Symbol(I.then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) >U : Symbol(U, Decl(functionOverloadsOnGenericArity2.ts, 2, 9)) >p : Symbol(p, Decl(functionOverloadsOnGenericArity2.ts, 2, 12)) then(p: string): Date; ->then : Symbol(then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) +>then : Symbol(I.then, Decl(functionOverloadsOnGenericArity2.ts, 0, 13), Decl(functionOverloadsOnGenericArity2.ts, 1, 28), Decl(functionOverloadsOnGenericArity2.ts, 2, 31)) >U : Symbol(U, Decl(functionOverloadsOnGenericArity2.ts, 3, 9)) >T : Symbol(T, Decl(functionOverloadsOnGenericArity2.ts, 3, 11)) >p : Symbol(p, Decl(functionOverloadsOnGenericArity2.ts, 3, 15)) diff --git a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.symbols b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.symbols index 42ed87e64d1..67f6545d387 100644 --- a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.symbols +++ b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.symbols @@ -4,7 +4,7 @@ class B{ >V : Symbol(V, Decl(functionOverloadsRecursiveGenericReturnType.ts, 0, 8)) private id: V; ->id : Symbol(id, Decl(functionOverloadsRecursiveGenericReturnType.ts, 0, 11)) +>id : Symbol(B.id, Decl(functionOverloadsRecursiveGenericReturnType.ts, 0, 11)) >V : Symbol(V, Decl(functionOverloadsRecursiveGenericReturnType.ts, 0, 8)) } @@ -13,7 +13,7 @@ class A{ >U : Symbol(U, Decl(functionOverloadsRecursiveGenericReturnType.ts, 4, 8)) GetEnumerator: () => B; ->GetEnumerator : Symbol(GetEnumerator, Decl(functionOverloadsRecursiveGenericReturnType.ts, 4, 11)) +>GetEnumerator : Symbol(A.GetEnumerator, Decl(functionOverloadsRecursiveGenericReturnType.ts, 4, 11)) >B : Symbol(B, Decl(functionOverloadsRecursiveGenericReturnType.ts, 0, 0)) >U : Symbol(U, Decl(functionOverloadsRecursiveGenericReturnType.ts, 4, 8)) } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.symbols b/tests/baselines/reference/functionSubtypingOfVarArgs.symbols index 3aa266ec030..b77b48590e8 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.symbols +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.symbols @@ -3,18 +3,18 @@ class EventBase { >EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0)) private _listeners = []; ->_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) +>_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) add(listener: (...args: any[]) => void): void { ->add : Symbol(add, Decl(functionSubtypingOfVarArgs.ts, 1, 28)) +>add : Symbol(EventBase.add, Decl(functionSubtypingOfVarArgs.ts, 1, 28)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 3, 8)) >args : Symbol(args, Decl(functionSubtypingOfVarArgs.ts, 3, 19)) this._listeners.push(listener); >this._listeners.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) ->this._listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) +>this._listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) >this : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0)) ->_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) +>_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) >push : Symbol(Array.push, Decl(lib.d.ts, --, --)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 3, 8)) } @@ -25,7 +25,7 @@ class StringEvent extends EventBase { // should work >EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0)) add(listener: (items: string) => void ) { // valid, items is subtype of args ->add : Symbol(add, Decl(functionSubtypingOfVarArgs.ts, 8, 37)) +>add : Symbol(StringEvent.add, Decl(functionSubtypingOfVarArgs.ts, 8, 37)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 9, 8)) >items : Symbol(items, Decl(functionSubtypingOfVarArgs.ts, 9, 19)) diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols b/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols index c2f77199e28..f624730fd0c 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols @@ -3,19 +3,19 @@ class EventBase { >EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs2.ts, 0, 0)) private _listeners: { (...args: any[]): void; }[] = []; ->_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) +>_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) >args : Symbol(args, Decl(functionSubtypingOfVarArgs2.ts, 1, 27)) add(listener: (...args: any[]) => void): void { ->add : Symbol(add, Decl(functionSubtypingOfVarArgs2.ts, 1, 59)) +>add : Symbol(EventBase.add, Decl(functionSubtypingOfVarArgs2.ts, 1, 59)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs2.ts, 3, 8)) >args : Symbol(args, Decl(functionSubtypingOfVarArgs2.ts, 3, 19)) this._listeners.push(listener); >this._listeners.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) ->this._listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) +>this._listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) >this : Symbol(EventBase, Decl(functionSubtypingOfVarArgs2.ts, 0, 0)) ->_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) +>_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) >push : Symbol(Array.push, Decl(lib.d.ts, --, --)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs2.ts, 3, 8)) } @@ -26,7 +26,7 @@ class StringEvent extends EventBase { >EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs2.ts, 0, 0)) add(listener: (items: string, moreitems: number) => void ) { ->add : Symbol(add, Decl(functionSubtypingOfVarArgs2.ts, 8, 37)) +>add : Symbol(StringEvent.add, Decl(functionSubtypingOfVarArgs2.ts, 8, 37)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs2.ts, 9, 8)) >items : Symbol(items, Decl(functionSubtypingOfVarArgs2.ts, 9, 19)) >moreitems : Symbol(moreitems, Decl(functionSubtypingOfVarArgs2.ts, 9, 33)) diff --git a/tests/baselines/reference/functionTypeArgumentArrayAssignment.symbols b/tests/baselines/reference/functionTypeArgumentArrayAssignment.symbols index 4b597bea9ae..33bf258606e 100644 --- a/tests/baselines/reference/functionTypeArgumentArrayAssignment.symbols +++ b/tests/baselines/reference/functionTypeArgumentArrayAssignment.symbols @@ -7,11 +7,11 @@ module test { >T : Symbol(T, Decl(functionTypeArgumentArrayAssignment.ts, 1, 20)) foo: T; ->foo : Symbol(foo, Decl(functionTypeArgumentArrayAssignment.ts, 1, 24)) +>foo : Symbol(Array.foo, Decl(functionTypeArgumentArrayAssignment.ts, 1, 24)) >T : Symbol(T, Decl(functionTypeArgumentArrayAssignment.ts, 1, 20)) length: number; ->length : Symbol(length, Decl(functionTypeArgumentArrayAssignment.ts, 2, 15)) +>length : Symbol(Array.length, Decl(functionTypeArgumentArrayAssignment.ts, 2, 15)) } function map() { diff --git a/tests/baselines/reference/funduleUsedAcrossFileBoundary.symbols b/tests/baselines/reference/funduleUsedAcrossFileBoundary.symbols index e0ca752d307..b094ebbfe8c 100644 --- a/tests/baselines/reference/funduleUsedAcrossFileBoundary.symbols +++ b/tests/baselines/reference/funduleUsedAcrossFileBoundary.symbols @@ -13,7 +13,7 @@ declare module Q { >T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file1.ts, 2, 22)) foo: string; ->foo : Symbol(foo, Decl(funduleUsedAcrossFileBoundary_file1.ts, 2, 26)) +>foo : Symbol(Promise.foo, Decl(funduleUsedAcrossFileBoundary_file1.ts, 2, 26)) } export function defer(): string; >defer : Symbol(defer, Decl(funduleUsedAcrossFileBoundary_file1.ts, 4, 5)) diff --git a/tests/baselines/reference/generatedContextualTyping.symbols b/tests/baselines/reference/generatedContextualTyping.symbols index bc50fcc25c6..a31e38e8648 100644 --- a/tests/baselines/reference/generatedContextualTyping.symbols +++ b/tests/baselines/reference/generatedContextualTyping.symbols @@ -2,22 +2,22 @@ class Base { private p; } >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) ->p : Symbol(p, Decl(generatedContextualTyping.ts, 1, 12)) +>p : Symbol(Base.p, Decl(generatedContextualTyping.ts, 1, 12)) class Derived1 extends Base { private m; } >Derived1 : Symbol(Derived1, Decl(generatedContextualTyping.ts, 1, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) ->m : Symbol(m, Decl(generatedContextualTyping.ts, 2, 29)) +>m : Symbol(Derived1.m, Decl(generatedContextualTyping.ts, 2, 29)) class Derived2 extends Base { private n; } >Derived2 : Symbol(Derived2, Decl(generatedContextualTyping.ts, 2, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) ->n : Symbol(n, Decl(generatedContextualTyping.ts, 3, 29)) +>n : Symbol(Derived2.n, Decl(generatedContextualTyping.ts, 3, 29)) interface Genric { func(n: T[]); } >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >T : Symbol(T, Decl(generatedContextualTyping.ts, 4, 17)) ->func : Symbol(func, Decl(generatedContextualTyping.ts, 4, 21)) +>func : Symbol(Genric.func, Decl(generatedContextualTyping.ts, 4, 21)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 4, 27)) >T : Symbol(T, Decl(generatedContextualTyping.ts, 4, 17)) @@ -114,21 +114,21 @@ var x12: Genric = { func: n => { return [d1, d2]; } }; class x13 { member: () => Base[] = () => [d1, d2] } >x13 : Symbol(x13, Decl(generatedContextualTyping.ts, 17, 60)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 18, 11)) +>member : Symbol(x13.member, Decl(generatedContextualTyping.ts, 18, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x14 { member: () => Base[] = function() { return [d1, d2] } } >x14 : Symbol(x14, Decl(generatedContextualTyping.ts, 18, 51)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 19, 11)) +>member : Symbol(x14.member, Decl(generatedContextualTyping.ts, 19, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x15 { member: () => Base[] = function named() { return [d1, d2] } } >x15 : Symbol(x15, Decl(generatedContextualTyping.ts, 19, 67)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 20, 11)) +>member : Symbol(x15.member, Decl(generatedContextualTyping.ts, 20, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 20, 34)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -136,21 +136,21 @@ class x15 { member: () => Base[] = function named() { return [d1, d2] } } class x16 { member: { (): Base[]; } = () => [d1, d2] } >x16 : Symbol(x16, Decl(generatedContextualTyping.ts, 20, 73)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 21, 11)) +>member : Symbol(x16.member, Decl(generatedContextualTyping.ts, 21, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x17 { member: { (): Base[]; } = function() { return [d1, d2] } } >x17 : Symbol(x17, Decl(generatedContextualTyping.ts, 21, 54)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 22, 11)) +>member : Symbol(x17.member, Decl(generatedContextualTyping.ts, 22, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } } >x18 : Symbol(x18, Decl(generatedContextualTyping.ts, 22, 70)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 23, 11)) +>member : Symbol(x18.member, Decl(generatedContextualTyping.ts, 23, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 23, 37)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -158,14 +158,14 @@ class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } } class x19 { member: Base[] = [d1, d2] } >x19 : Symbol(x19, Decl(generatedContextualTyping.ts, 23, 76)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 24, 11)) +>member : Symbol(x19.member, Decl(generatedContextualTyping.ts, 24, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x20 { member: Array = [d1, d2] } >x20 : Symbol(x20, Decl(generatedContextualTyping.ts, 24, 39)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 25, 11)) +>member : Symbol(x20.member, Decl(generatedContextualTyping.ts, 25, 11)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -173,7 +173,7 @@ class x20 { member: Array = [d1, d2] } class x21 { member: { [n: number]: Base; } = [d1, d2] } >x21 : Symbol(x21, Decl(generatedContextualTyping.ts, 25, 44)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 26, 11)) +>member : Symbol(x21.member, Decl(generatedContextualTyping.ts, 26, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 26, 23)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -181,7 +181,7 @@ class x21 { member: { [n: number]: Base; } = [d1, d2] } class x22 { member: {n: Base[]; } = { n: [d1, d2] } } >x22 : Symbol(x22, Decl(generatedContextualTyping.ts, 26, 55)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 27, 11)) +>member : Symbol(x22.member, Decl(generatedContextualTyping.ts, 27, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 27, 21)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 27, 38)) @@ -190,7 +190,7 @@ class x22 { member: {n: Base[]; } = { n: [d1, d2] } } class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x23 : Symbol(x23, Decl(generatedContextualTyping.ts, 27, 54)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 28, 11)) +>member : Symbol(x23.member, Decl(generatedContextualTyping.ts, 28, 11)) >s : Symbol(s, Decl(generatedContextualTyping.ts, 28, 21)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 28, 40), Decl(generatedContextualTyping.ts, 28, 51)) @@ -199,7 +199,7 @@ class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } } class x24 { member: Genric = { func: n => { return [d1, d2]; } } } >x24 : Symbol(x24, Decl(generatedContextualTyping.ts, 28, 79)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 29, 11)) +>member : Symbol(x24.member, Decl(generatedContextualTyping.ts, 29, 11)) >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >func : Symbol(func, Decl(generatedContextualTyping.ts, 29, 36)) @@ -209,21 +209,21 @@ class x24 { member: Genric = { func: n => { return [d1, d2]; } } } class x25 { private member: () => Base[] = () => [d1, d2] } >x25 : Symbol(x25, Decl(generatedContextualTyping.ts, 29, 72)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 30, 11)) +>member : Symbol(x25.member, Decl(generatedContextualTyping.ts, 30, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x26 { private member: () => Base[] = function() { return [d1, d2] } } >x26 : Symbol(x26, Decl(generatedContextualTyping.ts, 30, 59)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 31, 11)) +>member : Symbol(x26.member, Decl(generatedContextualTyping.ts, 31, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x27 { private member: () => Base[] = function named() { return [d1, d2] } } >x27 : Symbol(x27, Decl(generatedContextualTyping.ts, 31, 75)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 32, 11)) +>member : Symbol(x27.member, Decl(generatedContextualTyping.ts, 32, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 32, 42)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -231,21 +231,21 @@ class x27 { private member: () => Base[] = function named() { return [d1, d2] } class x28 { private member: { (): Base[]; } = () => [d1, d2] } >x28 : Symbol(x28, Decl(generatedContextualTyping.ts, 32, 81)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 33, 11)) +>member : Symbol(x28.member, Decl(generatedContextualTyping.ts, 33, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x29 { private member: { (): Base[]; } = function() { return [d1, d2] } } >x29 : Symbol(x29, Decl(generatedContextualTyping.ts, 33, 62)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 34, 11)) +>member : Symbol(x29.member, Decl(generatedContextualTyping.ts, 34, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] } } >x30 : Symbol(x30, Decl(generatedContextualTyping.ts, 34, 78)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 35, 11)) +>member : Symbol(x30.member, Decl(generatedContextualTyping.ts, 35, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 35, 45)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -253,14 +253,14 @@ class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] class x31 { private member: Base[] = [d1, d2] } >x31 : Symbol(x31, Decl(generatedContextualTyping.ts, 35, 84)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 36, 11)) +>member : Symbol(x31.member, Decl(generatedContextualTyping.ts, 36, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x32 { private member: Array = [d1, d2] } >x32 : Symbol(x32, Decl(generatedContextualTyping.ts, 36, 47)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 37, 11)) +>member : Symbol(x32.member, Decl(generatedContextualTyping.ts, 37, 11)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -268,7 +268,7 @@ class x32 { private member: Array = [d1, d2] } class x33 { private member: { [n: number]: Base; } = [d1, d2] } >x33 : Symbol(x33, Decl(generatedContextualTyping.ts, 37, 52)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 38, 11)) +>member : Symbol(x33.member, Decl(generatedContextualTyping.ts, 38, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 38, 31)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -276,7 +276,7 @@ class x33 { private member: { [n: number]: Base; } = [d1, d2] } class x34 { private member: {n: Base[]; } = { n: [d1, d2] } } >x34 : Symbol(x34, Decl(generatedContextualTyping.ts, 38, 63)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 39, 11)) +>member : Symbol(x34.member, Decl(generatedContextualTyping.ts, 39, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 39, 29)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 39, 46)) @@ -285,7 +285,7 @@ class x34 { private member: {n: Base[]; } = { n: [d1, d2] } } class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x35 : Symbol(x35, Decl(generatedContextualTyping.ts, 39, 62)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 40, 11)) +>member : Symbol(x35.member, Decl(generatedContextualTyping.ts, 40, 11)) >s : Symbol(s, Decl(generatedContextualTyping.ts, 40, 29)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 40, 48), Decl(generatedContextualTyping.ts, 40, 59)) @@ -294,7 +294,7 @@ class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return nu class x36 { private member: Genric = { func: n => { return [d1, d2]; } } } >x36 : Symbol(x36, Decl(generatedContextualTyping.ts, 40, 87)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 41, 11)) +>member : Symbol(x36.member, Decl(generatedContextualTyping.ts, 41, 11)) >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >func : Symbol(func, Decl(generatedContextualTyping.ts, 41, 44)) @@ -304,21 +304,21 @@ class x36 { private member: Genric = { func: n => { return [d1, d2]; } } } class x37 { public member: () => Base[] = () => [d1, d2] } >x37 : Symbol(x37, Decl(generatedContextualTyping.ts, 41, 80)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 42, 11)) +>member : Symbol(x37.member, Decl(generatedContextualTyping.ts, 42, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x38 { public member: () => Base[] = function() { return [d1, d2] } } >x38 : Symbol(x38, Decl(generatedContextualTyping.ts, 42, 58)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 43, 11)) +>member : Symbol(x38.member, Decl(generatedContextualTyping.ts, 43, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x39 { public member: () => Base[] = function named() { return [d1, d2] } } >x39 : Symbol(x39, Decl(generatedContextualTyping.ts, 43, 74)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 44, 11)) +>member : Symbol(x39.member, Decl(generatedContextualTyping.ts, 44, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 44, 41)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -326,21 +326,21 @@ class x39 { public member: () => Base[] = function named() { return [d1, d2] } } class x40 { public member: { (): Base[]; } = () => [d1, d2] } >x40 : Symbol(x40, Decl(generatedContextualTyping.ts, 44, 80)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 45, 11)) +>member : Symbol(x40.member, Decl(generatedContextualTyping.ts, 45, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x41 { public member: { (): Base[]; } = function() { return [d1, d2] } } >x41 : Symbol(x41, Decl(generatedContextualTyping.ts, 45, 61)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 46, 11)) +>member : Symbol(x41.member, Decl(generatedContextualTyping.ts, 46, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] } } >x42 : Symbol(x42, Decl(generatedContextualTyping.ts, 46, 77)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 47, 11)) +>member : Symbol(x42.member, Decl(generatedContextualTyping.ts, 47, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 47, 44)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -348,14 +348,14 @@ class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] class x43 { public member: Base[] = [d1, d2] } >x43 : Symbol(x43, Decl(generatedContextualTyping.ts, 47, 83)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 48, 11)) +>member : Symbol(x43.member, Decl(generatedContextualTyping.ts, 48, 11)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x44 { public member: Array = [d1, d2] } >x44 : Symbol(x44, Decl(generatedContextualTyping.ts, 48, 46)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 49, 11)) +>member : Symbol(x44.member, Decl(generatedContextualTyping.ts, 49, 11)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -363,7 +363,7 @@ class x44 { public member: Array = [d1, d2] } class x45 { public member: { [n: number]: Base; } = [d1, d2] } >x45 : Symbol(x45, Decl(generatedContextualTyping.ts, 49, 51)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 50, 11)) +>member : Symbol(x45.member, Decl(generatedContextualTyping.ts, 50, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 50, 30)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -371,7 +371,7 @@ class x45 { public member: { [n: number]: Base; } = [d1, d2] } class x46 { public member: {n: Base[]; } = { n: [d1, d2] } } >x46 : Symbol(x46, Decl(generatedContextualTyping.ts, 50, 62)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 51, 11)) +>member : Symbol(x46.member, Decl(generatedContextualTyping.ts, 51, 11)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 51, 28)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 51, 45)) @@ -380,7 +380,7 @@ class x46 { public member: {n: Base[]; } = { n: [d1, d2] } } class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x47 : Symbol(x47, Decl(generatedContextualTyping.ts, 51, 61)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 52, 11)) +>member : Symbol(x47.member, Decl(generatedContextualTyping.ts, 52, 11)) >s : Symbol(s, Decl(generatedContextualTyping.ts, 52, 28)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 52, 47), Decl(generatedContextualTyping.ts, 52, 58)) @@ -389,7 +389,7 @@ class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return nul class x48 { public member: Genric = { func: n => { return [d1, d2]; } } } >x48 : Symbol(x48, Decl(generatedContextualTyping.ts, 52, 86)) ->member : Symbol(member, Decl(generatedContextualTyping.ts, 53, 11)) +>member : Symbol(x48.member, Decl(generatedContextualTyping.ts, 53, 11)) >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >func : Symbol(func, Decl(generatedContextualTyping.ts, 53, 43)) @@ -779,21 +779,21 @@ class x96 { constructor(parm: Genric = { func: n => { return [d1, d2]; } } class x97 { constructor(public parm: () => Base[] = () => [d1, d2]) { } } >x97 : Symbol(x97, Decl(generatedContextualTyping.ts, 101, 87)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 102, 24)) +>parm : Symbol(x97.parm, Decl(generatedContextualTyping.ts, 102, 24)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x98 { constructor(public parm: () => Base[] = function() { return [d1, d2] }) { } } >x98 : Symbol(x98, Decl(generatedContextualTyping.ts, 102, 73)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 103, 24)) +>parm : Symbol(x98.parm, Decl(generatedContextualTyping.ts, 103, 24)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x99 { constructor(public parm: () => Base[] = function named() { return [d1, d2] }) { } } >x99 : Symbol(x99, Decl(generatedContextualTyping.ts, 103, 89)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 104, 24)) +>parm : Symbol(x99.parm, Decl(generatedContextualTyping.ts, 104, 24)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 104, 51)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -801,21 +801,21 @@ class x99 { constructor(public parm: () => Base[] = function named() { return [d class x100 { constructor(public parm: { (): Base[]; } = () => [d1, d2]) { } } >x100 : Symbol(x100, Decl(generatedContextualTyping.ts, 104, 95)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 105, 25)) +>parm : Symbol(x100.parm, Decl(generatedContextualTyping.ts, 105, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x101 { constructor(public parm: { (): Base[]; } = function() { return [d1, d2] }) { } } >x101 : Symbol(x101, Decl(generatedContextualTyping.ts, 105, 77)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 106, 25)) +>parm : Symbol(x101.parm, Decl(generatedContextualTyping.ts, 106, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x102 { constructor(public parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } >x102 : Symbol(x102, Decl(generatedContextualTyping.ts, 106, 93)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 107, 25)) +>parm : Symbol(x102.parm, Decl(generatedContextualTyping.ts, 107, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 107, 55)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -823,14 +823,14 @@ class x102 { constructor(public parm: { (): Base[]; } = function named() { retur class x103 { constructor(public parm: Base[] = [d1, d2]) { } } >x103 : Symbol(x103, Decl(generatedContextualTyping.ts, 107, 99)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 108, 25)) +>parm : Symbol(x103.parm, Decl(generatedContextualTyping.ts, 108, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x104 { constructor(public parm: Array = [d1, d2]) { } } >x104 : Symbol(x104, Decl(generatedContextualTyping.ts, 108, 62)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 109, 25)) +>parm : Symbol(x104.parm, Decl(generatedContextualTyping.ts, 109, 25)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -838,7 +838,7 @@ class x104 { constructor(public parm: Array = [d1, d2]) { } } class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } } >x105 : Symbol(x105, Decl(generatedContextualTyping.ts, 109, 67)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 110, 25)) +>parm : Symbol(x105.parm, Decl(generatedContextualTyping.ts, 110, 25)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 110, 41)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -846,7 +846,7 @@ class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } } class x106 { constructor(public parm: {n: Base[]; } = { n: [d1, d2] }) { } } >x106 : Symbol(x106, Decl(generatedContextualTyping.ts, 110, 78)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 111, 25)) +>parm : Symbol(x106.parm, Decl(generatedContextualTyping.ts, 111, 25)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 111, 39)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 111, 56)) @@ -855,7 +855,7 @@ class x106 { constructor(public parm: {n: Base[]; } = { n: [d1, d2] }) { } } class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } >x107 : Symbol(x107, Decl(generatedContextualTyping.ts, 111, 77)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 112, 25)) +>parm : Symbol(x107.parm, Decl(generatedContextualTyping.ts, 112, 25)) >s : Symbol(s, Decl(generatedContextualTyping.ts, 112, 39)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 112, 58), Decl(generatedContextualTyping.ts, 112, 69)) @@ -864,7 +864,7 @@ class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; class x108 { constructor(public parm: Genric = { func: n => { return [d1, d2]; } }) { } } >x108 : Symbol(x108, Decl(generatedContextualTyping.ts, 112, 102)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 113, 25)) +>parm : Symbol(x108.parm, Decl(generatedContextualTyping.ts, 113, 25)) >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >func : Symbol(func, Decl(generatedContextualTyping.ts, 113, 54)) @@ -874,21 +874,21 @@ class x108 { constructor(public parm: Genric = { func: n => { return [d1, class x109 { constructor(private parm: () => Base[] = () => [d1, d2]) { } } >x109 : Symbol(x109, Decl(generatedContextualTyping.ts, 113, 95)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 114, 25)) +>parm : Symbol(x109.parm, Decl(generatedContextualTyping.ts, 114, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x110 { constructor(private parm: () => Base[] = function() { return [d1, d2] }) { } } >x110 : Symbol(x110, Decl(generatedContextualTyping.ts, 114, 75)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 115, 25)) +>parm : Symbol(x110.parm, Decl(generatedContextualTyping.ts, 115, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x111 { constructor(private parm: () => Base[] = function named() { return [d1, d2] }) { } } >x111 : Symbol(x111, Decl(generatedContextualTyping.ts, 115, 91)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 116, 25)) +>parm : Symbol(x111.parm, Decl(generatedContextualTyping.ts, 116, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 116, 53)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -896,21 +896,21 @@ class x111 { constructor(private parm: () => Base[] = function named() { return class x112 { constructor(private parm: { (): Base[]; } = () => [d1, d2]) { } } >x112 : Symbol(x112, Decl(generatedContextualTyping.ts, 116, 97)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 117, 25)) +>parm : Symbol(x112.parm, Decl(generatedContextualTyping.ts, 117, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x113 { constructor(private parm: { (): Base[]; } = function() { return [d1, d2] }) { } } >x113 : Symbol(x113, Decl(generatedContextualTyping.ts, 117, 78)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 118, 25)) +>parm : Symbol(x113.parm, Decl(generatedContextualTyping.ts, 118, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x114 { constructor(private parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } >x114 : Symbol(x114, Decl(generatedContextualTyping.ts, 118, 94)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 119, 25)) +>parm : Symbol(x114.parm, Decl(generatedContextualTyping.ts, 119, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >named : Symbol(named, Decl(generatedContextualTyping.ts, 119, 56)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -918,14 +918,14 @@ class x114 { constructor(private parm: { (): Base[]; } = function named() { retu class x115 { constructor(private parm: Base[] = [d1, d2]) { } } >x115 : Symbol(x115, Decl(generatedContextualTyping.ts, 119, 100)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 120, 25)) +>parm : Symbol(x115.parm, Decl(generatedContextualTyping.ts, 120, 25)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 5, 40)) class x116 { constructor(private parm: Array = [d1, d2]) { } } >x116 : Symbol(x116, Decl(generatedContextualTyping.ts, 120, 63)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 121, 25)) +>parm : Symbol(x116.parm, Decl(generatedContextualTyping.ts, 121, 25)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -933,7 +933,7 @@ class x116 { constructor(private parm: Array = [d1, d2]) { } } class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } } >x117 : Symbol(x117, Decl(generatedContextualTyping.ts, 121, 68)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 122, 25)) +>parm : Symbol(x117.parm, Decl(generatedContextualTyping.ts, 122, 25)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 122, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 5, 19)) @@ -941,7 +941,7 @@ class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } } class x118 { constructor(private parm: {n: Base[]; } = { n: [d1, d2] }) { } } >x118 : Symbol(x118, Decl(generatedContextualTyping.ts, 122, 79)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 123, 25)) +>parm : Symbol(x118.parm, Decl(generatedContextualTyping.ts, 123, 25)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 123, 40)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 123, 57)) @@ -950,7 +950,7 @@ class x118 { constructor(private parm: {n: Base[]; } = { n: [d1, d2] }) { } } class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } >x119 : Symbol(x119, Decl(generatedContextualTyping.ts, 123, 78)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 124, 25)) +>parm : Symbol(x119.parm, Decl(generatedContextualTyping.ts, 124, 25)) >s : Symbol(s, Decl(generatedContextualTyping.ts, 124, 40)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 124, 59), Decl(generatedContextualTyping.ts, 124, 70)) @@ -959,7 +959,7 @@ class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[] class x120 { constructor(private parm: Genric = { func: n => { return [d1, d2]; } }) { } } >x120 : Symbol(x120, Decl(generatedContextualTyping.ts, 124, 103)) ->parm : Symbol(parm, Decl(generatedContextualTyping.ts, 125, 25)) +>parm : Symbol(x120.parm, Decl(generatedContextualTyping.ts, 125, 25)) >Genric : Symbol(Genric, Decl(generatedContextualTyping.ts, 3, 42)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >func : Symbol(func, Decl(generatedContextualTyping.ts, 125, 55)) diff --git a/tests/baselines/reference/generativeRecursionWithTypeOf.symbols b/tests/baselines/reference/generativeRecursionWithTypeOf.symbols index 630923d2c59..5f8f4b78af4 100644 --- a/tests/baselines/reference/generativeRecursionWithTypeOf.symbols +++ b/tests/baselines/reference/generativeRecursionWithTypeOf.symbols @@ -8,7 +8,7 @@ class C { >x : Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 1, 15)) type: T; ->type : Symbol(type, Decl(generativeRecursionWithTypeOf.ts, 1, 29)) +>type : Symbol(C.type, Decl(generativeRecursionWithTypeOf.ts, 1, 29)) >T : Symbol(T, Decl(generativeRecursionWithTypeOf.ts, 0, 8)) } diff --git a/tests/baselines/reference/generatorES6_2.symbols b/tests/baselines/reference/generatorES6_2.symbols index a64b1304692..2b4d93ca940 100644 --- a/tests/baselines/reference/generatorES6_2.symbols +++ b/tests/baselines/reference/generatorES6_2.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(generatorES6_2.ts, 0, 0)) public * foo() { ->foo : Symbol(foo, Decl(generatorES6_2.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(generatorES6_2.ts, 0, 9)) yield 1 } diff --git a/tests/baselines/reference/generatorInAmbientContext5.symbols b/tests/baselines/reference/generatorInAmbientContext5.symbols index 78139a7e597..df432c2a67d 100644 --- a/tests/baselines/reference/generatorInAmbientContext5.symbols +++ b/tests/baselines/reference/generatorInAmbientContext5.symbols @@ -3,5 +3,5 @@ class C { >C : Symbol(C, Decl(generatorInAmbientContext5.ts, 0, 0)) *generator(): any { } ->generator : Symbol(generator, Decl(generatorInAmbientContext5.ts, 0, 9)) +>generator : Symbol(C.generator, Decl(generatorInAmbientContext5.ts, 0, 9)) } diff --git a/tests/baselines/reference/generatorOverloads4.symbols b/tests/baselines/reference/generatorOverloads4.symbols index 341ba9c4a0d..1384b8d451c 100644 --- a/tests/baselines/reference/generatorOverloads4.symbols +++ b/tests/baselines/reference/generatorOverloads4.symbols @@ -3,17 +3,17 @@ class C { >C : Symbol(C, Decl(generatorOverloads4.ts, 0, 0)) f(s: string): Iterable; ->f : Symbol(f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) +>f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 1, 6)) >Iterable : Symbol(Iterable, Decl(lib.d.ts, --, --)) f(s: number): Iterable; ->f : Symbol(f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) +>f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 2, 6)) >Iterable : Symbol(Iterable, Decl(lib.d.ts, --, --)) *f(s: any): Iterable { } ->f : Symbol(f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) +>f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 3, 7)) >Iterable : Symbol(Iterable, Decl(lib.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorTypeCheck17.symbols b/tests/baselines/reference/generatorTypeCheck17.symbols index 523579dd47b..acec0544f03 100644 --- a/tests/baselines/reference/generatorTypeCheck17.symbols +++ b/tests/baselines/reference/generatorTypeCheck17.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck17.ts === class Foo { x: number } >Foo : Symbol(Foo, Decl(generatorTypeCheck17.ts, 0, 0)) ->x : Symbol(x, Decl(generatorTypeCheck17.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck17.ts, 0, 11)) class Bar extends Foo { y: string } >Bar : Symbol(Bar, Decl(generatorTypeCheck17.ts, 0, 23)) >Foo : Symbol(Foo, Decl(generatorTypeCheck17.ts, 0, 0)) ->y : Symbol(y, Decl(generatorTypeCheck17.ts, 1, 23)) +>y : Symbol(Bar.y, Decl(generatorTypeCheck17.ts, 1, 23)) function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck17.ts, 1, 35)) diff --git a/tests/baselines/reference/generatorTypeCheck19.symbols b/tests/baselines/reference/generatorTypeCheck19.symbols index b74b5f727a6..206cb39e3e1 100644 --- a/tests/baselines/reference/generatorTypeCheck19.symbols +++ b/tests/baselines/reference/generatorTypeCheck19.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck19.ts === class Foo { x: number } >Foo : Symbol(Foo, Decl(generatorTypeCheck19.ts, 0, 0)) ->x : Symbol(x, Decl(generatorTypeCheck19.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck19.ts, 0, 11)) class Bar extends Foo { y: string } >Bar : Symbol(Bar, Decl(generatorTypeCheck19.ts, 0, 23)) >Foo : Symbol(Foo, Decl(generatorTypeCheck19.ts, 0, 0)) ->y : Symbol(y, Decl(generatorTypeCheck19.ts, 1, 23)) +>y : Symbol(Bar.y, Decl(generatorTypeCheck19.ts, 1, 23)) function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck19.ts, 1, 35)) diff --git a/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.symbols b/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.symbols index 05b131090c0..e0d66e64854 100644 --- a/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.symbols +++ b/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.symbols @@ -9,7 +9,7 @@ module M { >T : Symbol(T, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 3, 16)) bar: T; ->bar : Symbol(bar, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 3, 20)) +>bar : Symbol(A.bar, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 3, 20)) >T : Symbol(T, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 3, 16)) } } @@ -21,7 +21,7 @@ module M2 { >A : Symbol(A, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 8, 11)) foo: string; ->foo : Symbol(foo, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 9, 17)) +>foo : Symbol(A.foo, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 9, 17)) } } @@ -36,7 +36,7 @@ module N { >T : Symbol(T, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 16, 20)) bar: T; ->bar : Symbol(bar, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 16, 24)) +>bar : Symbol(A.bar, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 16, 24)) >T : Symbol(T, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 16, 20)) } } @@ -48,7 +48,7 @@ module N { >A : Symbol(A, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 21, 15)) foo: string; ->foo : Symbol(foo, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 22, 21)) +>foo : Symbol(A.foo, Decl(genericAndNonGenericInterfaceWithTheSameName2.ts, 22, 21)) } } } diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.symbols b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.symbols index b38008c38ce..0b09ec06a64 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.symbols +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.symbols @@ -19,7 +19,7 @@ module Underscore { >Static : Symbol(Static, Decl(genericArgumentCallSigAssignmentCompat.ts, 3, 5)) all(list: T[], iterator?: Iterator, context?: any): boolean; ->all : Symbol(all, Decl(genericArgumentCallSigAssignmentCompat.ts, 5, 29)) +>all : Symbol(Static.all, Decl(genericArgumentCallSigAssignmentCompat.ts, 5, 29)) >T : Symbol(T, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 12)) >list : Symbol(list, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 15)) >T : Symbol(T, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 12)) @@ -29,7 +29,7 @@ module Underscore { >context : Symbol(context, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 58)) identity(value: T): T; ->identity : Symbol(identity, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 83)) +>identity : Symbol(Static.identity, Decl(genericArgumentCallSigAssignmentCompat.ts, 6, 83)) >T : Symbol(T, Decl(genericArgumentCallSigAssignmentCompat.ts, 7, 17)) >value : Symbol(value, Decl(genericArgumentCallSigAssignmentCompat.ts, 7, 20)) >T : Symbol(T, Decl(genericArgumentCallSigAssignmentCompat.ts, 7, 17)) diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty.symbols b/tests/baselines/reference/genericBaseClassLiteralProperty.symbols index f499e243eaa..c03aaa631ff 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty.symbols +++ b/tests/baselines/reference/genericBaseClassLiteralProperty.symbols @@ -4,11 +4,11 @@ class BaseClass { >T : Symbol(T, Decl(genericBaseClassLiteralProperty.ts, 0, 16)) public _getValue1: { (): T; }; ->_getValue1 : Symbol(_getValue1, Decl(genericBaseClassLiteralProperty.ts, 0, 20)) +>_getValue1 : Symbol(BaseClass._getValue1, Decl(genericBaseClassLiteralProperty.ts, 0, 20)) >T : Symbol(T, Decl(genericBaseClassLiteralProperty.ts, 0, 16)) public _getValue2: () => T; ->_getValue2 : Symbol(_getValue2, Decl(genericBaseClassLiteralProperty.ts, 1, 34)) +>_getValue2 : Symbol(BaseClass._getValue2, Decl(genericBaseClassLiteralProperty.ts, 1, 34)) >T : Symbol(T, Decl(genericBaseClassLiteralProperty.ts, 0, 16)) } @@ -17,7 +17,7 @@ class SubClass extends BaseClass { >BaseClass : Symbol(BaseClass, Decl(genericBaseClassLiteralProperty.ts, 0, 0)) public Error(): void { ->Error : Symbol(Error, Decl(genericBaseClassLiteralProperty.ts, 5, 42)) +>Error : Symbol(SubClass.Error, Decl(genericBaseClassLiteralProperty.ts, 5, 42)) var x : number = this._getValue1(); >x : Symbol(x, Decl(genericBaseClassLiteralProperty.ts, 8, 11)) diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty2.symbols b/tests/baselines/reference/genericBaseClassLiteralProperty2.symbols index 5ddccd40e38..2fa917493d2 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty2.symbols +++ b/tests/baselines/reference/genericBaseClassLiteralProperty2.symbols @@ -8,15 +8,15 @@ class BaseCollection2 { >CollectionItem2 : Symbol(CollectionItem2, Decl(genericBaseClassLiteralProperty2.ts, 0, 0)) _itemsByKey: { [key: string]: TItem; }; ->_itemsByKey : Symbol(_itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) +>_itemsByKey : Symbol(BaseCollection2._itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) >key : Symbol(key, Decl(genericBaseClassLiteralProperty2.ts, 3, 20)) >TItem : Symbol(TItem, Decl(genericBaseClassLiteralProperty2.ts, 2, 22)) constructor() { this._itemsByKey = {}; ->this._itemsByKey : Symbol(_itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) +>this._itemsByKey : Symbol(BaseCollection2._itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) >this : Symbol(BaseCollection2, Decl(genericBaseClassLiteralProperty2.ts, 0, 25)) ->_itemsByKey : Symbol(_itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) +>_itemsByKey : Symbol(BaseCollection2._itemsByKey, Decl(genericBaseClassLiteralProperty2.ts, 2, 54)) } } @@ -26,7 +26,7 @@ class DataView2 extends BaseCollection2 { >CollectionItem2 : Symbol(CollectionItem2, Decl(genericBaseClassLiteralProperty2.ts, 0, 0)) fillItems(item: CollectionItem2) { ->fillItems : Symbol(fillItems, Decl(genericBaseClassLiteralProperty2.ts, 9, 58)) +>fillItems : Symbol(DataView2.fillItems, Decl(genericBaseClassLiteralProperty2.ts, 9, 58)) >item : Symbol(item, Decl(genericBaseClassLiteralProperty2.ts, 10, 14)) >CollectionItem2 : Symbol(CollectionItem2, Decl(genericBaseClassLiteralProperty2.ts, 0, 0)) diff --git a/tests/baselines/reference/genericCallTypeArgumentInference.symbols b/tests/baselines/reference/genericCallTypeArgumentInference.symbols index 2e86bda4ca4..ac802fa3641 100644 --- a/tests/baselines/reference/genericCallTypeArgumentInference.symbols +++ b/tests/baselines/reference/genericCallTypeArgumentInference.symbols @@ -57,14 +57,14 @@ class C { >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 20, 10)) constructor(public t: T, public u: U) { ->t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 21, 16)) +>t : Symbol(C.t, Decl(genericCallTypeArgumentInference.ts, 21, 16)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 20, 8)) ->u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 21, 28)) +>u : Symbol(C.u, Decl(genericCallTypeArgumentInference.ts, 21, 28)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 20, 10)) } foo(t: T, u: U) { ->foo : Symbol(foo, Decl(genericCallTypeArgumentInference.ts, 22, 5)) +>foo : Symbol(C.foo, Decl(genericCallTypeArgumentInference.ts, 22, 5)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 24, 8)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 20, 8)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 24, 13)) @@ -75,7 +75,7 @@ class C { } foo2(t: T, u: U) { ->foo2 : Symbol(foo2, Decl(genericCallTypeArgumentInference.ts, 26, 5)) +>foo2 : Symbol(C.foo2, Decl(genericCallTypeArgumentInference.ts, 26, 5)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 28, 9)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 20, 8)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 28, 14)) @@ -86,7 +86,7 @@ class C { } foo3(t: T, u: U) { ->foo3 : Symbol(foo3, Decl(genericCallTypeArgumentInference.ts, 30, 5)) +>foo3 : Symbol(C.foo3, Decl(genericCallTypeArgumentInference.ts, 30, 5)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 32, 9)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 32, 12)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 32, 9)) @@ -98,7 +98,7 @@ class C { } foo4(t: T, u: U) { ->foo4 : Symbol(foo4, Decl(genericCallTypeArgumentInference.ts, 34, 5)) +>foo4 : Symbol(C.foo4, Decl(genericCallTypeArgumentInference.ts, 34, 5)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 36, 9)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 36, 12)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 20, 8)) @@ -110,7 +110,7 @@ class C { } foo5(t: T, u: U) { ->foo5 : Symbol(foo5, Decl(genericCallTypeArgumentInference.ts, 38, 5)) +>foo5 : Symbol(C.foo5, Decl(genericCallTypeArgumentInference.ts, 38, 5)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 40, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 40, 11)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 40, 14)) @@ -123,7 +123,7 @@ class C { } foo6() { ->foo6 : Symbol(foo6, Decl(genericCallTypeArgumentInference.ts, 42, 5)) +>foo6 : Symbol(C.foo6, Decl(genericCallTypeArgumentInference.ts, 42, 5)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 44, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 44, 11)) @@ -136,7 +136,7 @@ class C { } foo7(u: U) { ->foo7 : Symbol(foo7, Decl(genericCallTypeArgumentInference.ts, 47, 5)) +>foo7 : Symbol(C.foo7, Decl(genericCallTypeArgumentInference.ts, 47, 5)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 49, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 49, 11)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 49, 15)) @@ -151,7 +151,7 @@ class C { } foo8() { ->foo8 : Symbol(foo8, Decl(genericCallTypeArgumentInference.ts, 52, 5)) +>foo8 : Symbol(C.foo8, Decl(genericCallTypeArgumentInference.ts, 52, 5)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 54, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 54, 11)) @@ -228,7 +228,7 @@ interface I { >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 70, 14)) foo(t: T, u: U): T; ->foo : Symbol(foo, Decl(genericCallTypeArgumentInference.ts, 71, 21)) +>foo : Symbol(I.foo, Decl(genericCallTypeArgumentInference.ts, 71, 21)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 72, 8)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 70, 12)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 72, 13)) @@ -236,7 +236,7 @@ interface I { >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 70, 12)) foo2(t: T, u: U): U; ->foo2 : Symbol(foo2, Decl(genericCallTypeArgumentInference.ts, 72, 23)) +>foo2 : Symbol(I.foo2, Decl(genericCallTypeArgumentInference.ts, 72, 23)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 73, 9)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 70, 12)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 73, 14)) @@ -244,7 +244,7 @@ interface I { >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 70, 14)) foo3(t: T, u: U): T; ->foo3 : Symbol(foo3, Decl(genericCallTypeArgumentInference.ts, 73, 24)) +>foo3 : Symbol(I.foo3, Decl(genericCallTypeArgumentInference.ts, 73, 24)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 74, 9)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 74, 12)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 74, 9)) @@ -253,7 +253,7 @@ interface I { >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 74, 9)) foo4(t: T, u: U): T; ->foo4 : Symbol(foo4, Decl(genericCallTypeArgumentInference.ts, 74, 27)) +>foo4 : Symbol(I.foo4, Decl(genericCallTypeArgumentInference.ts, 74, 27)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 75, 9)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 75, 12)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 70, 12)) @@ -262,7 +262,7 @@ interface I { >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 70, 12)) foo5(t: T, u: U): T; ->foo5 : Symbol(foo5, Decl(genericCallTypeArgumentInference.ts, 75, 27)) +>foo5 : Symbol(I.foo5, Decl(genericCallTypeArgumentInference.ts, 75, 27)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 76, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 76, 11)) >t : Symbol(t, Decl(genericCallTypeArgumentInference.ts, 76, 15)) @@ -272,13 +272,13 @@ interface I { >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 76, 9)) foo6(): T; ->foo6 : Symbol(foo6, Decl(genericCallTypeArgumentInference.ts, 76, 30)) +>foo6 : Symbol(I.foo6, Decl(genericCallTypeArgumentInference.ts, 76, 30)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 77, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 77, 11)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 77, 9)) foo7(u: U): T; ->foo7 : Symbol(foo7, Decl(genericCallTypeArgumentInference.ts, 77, 20)) +>foo7 : Symbol(I.foo7, Decl(genericCallTypeArgumentInference.ts, 77, 20)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 78, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 78, 11)) >u : Symbol(u, Decl(genericCallTypeArgumentInference.ts, 78, 15)) @@ -286,7 +286,7 @@ interface I { >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 78, 9)) foo8(): T; ->foo8 : Symbol(foo8, Decl(genericCallTypeArgumentInference.ts, 78, 24)) +>foo8 : Symbol(I.foo8, Decl(genericCallTypeArgumentInference.ts, 78, 24)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 79, 9)) >U : Symbol(U, Decl(genericCallTypeArgumentInference.ts, 79, 11)) >T : Symbol(T, Decl(genericCallTypeArgumentInference.ts, 79, 9)) diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.symbols b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.symbols index 5d419b8f992..ec209ed0ece 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.symbols +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.symbols @@ -3,17 +3,17 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) ->foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) ->bar : Symbol(bar, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 3, 43)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) ->baz : Symbol(baz, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 4, 32)) var b: Base; >b : Symbol(b, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 5, 3)) @@ -112,14 +112,14 @@ class C { >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) constructor(public t: T, public u: U) { ->t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 34, 16)) +>t : Symbol(C.t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 34, 16)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 33, 8)) ->u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 34, 28)) +>u : Symbol(C.u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 34, 28)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 33, 23)) } foo(t: T, u: U) { ->foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 35, 5)) +>foo : Symbol(C.foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 35, 5)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 37, 8)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 33, 8)) >u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 37, 13)) @@ -130,7 +130,7 @@ class C { } foo2(t: T, u: U) { ->foo2 : Symbol(foo2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 39, 5)) +>foo2 : Symbol(C.foo2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 39, 5)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 41, 9)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 33, 8)) >u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 41, 14)) @@ -141,7 +141,7 @@ class C { } foo3(t: T, u: U) { ->foo3 : Symbol(foo3, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 43, 5)) +>foo3 : Symbol(C.foo3, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 43, 5)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 45, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 45, 28)) @@ -154,7 +154,7 @@ class C { } foo4(t: T, u: U) { ->foo4 : Symbol(foo4, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 47, 5)) +>foo4 : Symbol(C.foo4, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 47, 5)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 49, 9)) >Derived2 : Symbol(Derived2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 3, 43)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 49, 29)) @@ -167,7 +167,7 @@ class C { } foo5(t: T, u: U) { ->foo5 : Symbol(foo5, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 51, 5)) +>foo5 : Symbol(C.foo5, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 51, 5)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 53, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 53, 27)) @@ -182,7 +182,7 @@ class C { } foo6() { ->foo6 : Symbol(foo6, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 55, 5)) +>foo6 : Symbol(C.foo6, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 55, 5)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 57, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 57, 27)) @@ -197,7 +197,7 @@ class C { } foo7(u: U) { ->foo7 : Symbol(foo7, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 60, 5)) +>foo7 : Symbol(C.foo7, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 60, 5)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 62, 9)) >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 62, 24)) @@ -214,7 +214,7 @@ class C { } foo8() { ->foo8 : Symbol(foo8, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 65, 5)) +>foo8 : Symbol(C.foo8, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 65, 5)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 67, 9)) >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 67, 24)) @@ -316,7 +316,7 @@ interface I { >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 27)) foo(t: T, u: U): T; ->foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 85, 21)) +>foo : Symbol(I.foo, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 85, 21)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 86, 8)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 12)) >u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 86, 13)) @@ -324,7 +324,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 12)) foo2(t: T, u: U): U; ->foo2 : Symbol(foo2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 86, 23)) +>foo2 : Symbol(I.foo2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 86, 23)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 87, 9)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 12)) >u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 87, 14)) @@ -332,7 +332,7 @@ interface I { >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 27)) foo3(t: T, u: U): T; ->foo3 : Symbol(foo3, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 87, 24)) +>foo3 : Symbol(I.foo3, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 87, 24)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 88, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 88, 28)) @@ -342,7 +342,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 88, 9)) foo4(t: T, u: U): T; ->foo4 : Symbol(foo4, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 88, 43)) +>foo4 : Symbol(I.foo4, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 88, 43)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 89, 9)) >Derived2 : Symbol(Derived2, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 3, 43)) >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 89, 29)) @@ -352,7 +352,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 84, 12)) foo5(t: T, u: U): T; ->foo5 : Symbol(foo5, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 89, 44)) +>foo5 : Symbol(I.foo5, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 89, 44)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 90, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 90, 27)) @@ -364,7 +364,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 90, 9)) foo6(): T; ->foo6 : Symbol(foo6, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 90, 63)) +>foo6 : Symbol(I.foo6, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 90, 63)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 91, 9)) >Derived : Symbol(Derived, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 2, 27)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 91, 27)) @@ -372,7 +372,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 91, 9)) foo7(u: U): T; ->foo7 : Symbol(foo7, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 91, 53)) +>foo7 : Symbol(I.foo7, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 91, 53)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 92, 9)) >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 92, 24)) @@ -382,7 +382,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 92, 9)) foo8(): T; ->foo8 : Symbol(foo8, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 92, 53)) +>foo8 : Symbol(I.foo8, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 92, 53)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 93, 9)) >Base : Symbol(Base, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 0, 0)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference.ts, 93, 24)) diff --git a/tests/baselines/reference/genericCallWithFixedArguments.symbols b/tests/baselines/reference/genericCallWithFixedArguments.symbols index c47c5ef8f06..6eaa789f9e4 100644 --- a/tests/baselines/reference/genericCallWithFixedArguments.symbols +++ b/tests/baselines/reference/genericCallWithFixedArguments.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/genericCallWithFixedArguments.ts === class A { foo() { } } >A : Symbol(A, Decl(genericCallWithFixedArguments.ts, 0, 0)) ->foo : Symbol(foo, Decl(genericCallWithFixedArguments.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(genericCallWithFixedArguments.ts, 0, 9)) class B { bar() { }} >B : Symbol(B, Decl(genericCallWithFixedArguments.ts, 0, 21)) ->bar : Symbol(bar, Decl(genericCallWithFixedArguments.ts, 1, 9)) +>bar : Symbol(B.bar, Decl(genericCallWithFixedArguments.ts, 1, 9)) function g(x) { } >g : Symbol(g, Decl(genericCallWithFixedArguments.ts, 1, 20)) diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.symbols b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.symbols index 9aa87c28240..2c0fa9e3765 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.symbols +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.symbols @@ -3,11 +3,11 @@ class C { foo: string } >C : Symbol(C, Decl(genericCallWithFunctionTypedArguments4.ts, 0, 0)) ->foo : Symbol(foo, Decl(genericCallWithFunctionTypedArguments4.ts, 2, 9)) +>foo : Symbol(C.foo, Decl(genericCallWithFunctionTypedArguments4.ts, 2, 9)) class D { bar: string } >D : Symbol(D, Decl(genericCallWithFunctionTypedArguments4.ts, 2, 23)) ->bar : Symbol(bar, Decl(genericCallWithFunctionTypedArguments4.ts, 3, 9)) +>bar : Symbol(D.bar, Decl(genericCallWithFunctionTypedArguments4.ts, 3, 9)) var a: { >a : Symbol(a, Decl(genericCallWithFunctionTypedArguments4.ts, 4, 3)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs2.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgs2.symbols index f567499d4c9..3a5e2d948ba 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs2.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs2.symbols @@ -3,21 +3,21 @@ class Base { >Base : Symbol(Base, Decl(genericCallWithObjectTypeArgs2.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgs2.ts, 0, 12)) +>x : Symbol(Base.x, Decl(genericCallWithObjectTypeArgs2.ts, 0, 12)) } class Derived extends Base { >Derived : Symbol(Derived, Decl(genericCallWithObjectTypeArgs2.ts, 2, 1)) >Base : Symbol(Base, Decl(genericCallWithObjectTypeArgs2.ts, 0, 0)) y: string; ->y : Symbol(y, Decl(genericCallWithObjectTypeArgs2.ts, 3, 28)) +>y : Symbol(Derived.y, Decl(genericCallWithObjectTypeArgs2.ts, 3, 28)) } class Derived2 extends Base { >Derived2 : Symbol(Derived2, Decl(genericCallWithObjectTypeArgs2.ts, 5, 1)) >Base : Symbol(Base, Decl(genericCallWithObjectTypeArgs2.ts, 0, 0)) z: string; ->z : Symbol(z, Decl(genericCallWithObjectTypeArgs2.ts, 6, 29)) +>z : Symbol(Derived2.z, Decl(genericCallWithObjectTypeArgs2.ts, 6, 29)) } // returns {}[] @@ -93,11 +93,11 @@ interface I { >U : Symbol(U, Decl(genericCallWithObjectTypeArgs2.ts, 25, 14)) x: T; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgs2.ts, 25, 19)) +>x : Symbol(I.x, Decl(genericCallWithObjectTypeArgs2.ts, 25, 19)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgs2.ts, 25, 12)) y: U; ->y : Symbol(y, Decl(genericCallWithObjectTypeArgs2.ts, 26, 9)) +>y : Symbol(I.y, Decl(genericCallWithObjectTypeArgs2.ts, 26, 9)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgs2.ts, 25, 14)) } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.symbols index 50f20f55bea..20e04f26340 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.symbols @@ -6,17 +6,17 @@ class C { >C : Symbol(C, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 3, 9)) +>x : Symbol(C.x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 3, 9)) } class D { >D : Symbol(D, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 5, 1)) x: string; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 7, 9)) +>x : Symbol(D.x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 7, 9)) y: string; ->y : Symbol(y, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 8, 14)) +>y : Symbol(D.y, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 8, 14)) } class X { @@ -24,7 +24,7 @@ class X { >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 12, 8)) x: T; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 12, 12)) +>x : Symbol(X.x, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 12, 12)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints.ts, 12, 8)) } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.symbols index 864927a3a8c..27c015ffcff 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.symbols @@ -6,14 +6,14 @@ class Base { >Base : Symbol(Base, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 3, 12)) +>x : Symbol(Base.x, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 3, 12)) } class Derived extends Base { >Derived : Symbol(Derived, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 5, 1)) >Base : Symbol(Base, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 0, 0)) y: string; ->y : Symbol(y, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 6, 28)) +>y : Symbol(Derived.y, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 6, 28)) } function f(x: { foo: T; bar: T }) { @@ -55,7 +55,7 @@ interface I { >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 18, 12)) a: T; ->a : Symbol(a, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 18, 16)) +>a : Symbol(I.a, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 18, 16)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints2.ts, 18, 12)) } function f2(x: I) { diff --git a/tests/baselines/reference/genericCallbacksAndClassHierarchy.symbols b/tests/baselines/reference/genericCallbacksAndClassHierarchy.symbols index be46c49a9ca..bd833c6f235 100644 --- a/tests/baselines/reference/genericCallbacksAndClassHierarchy.symbols +++ b/tests/baselines/reference/genericCallbacksAndClassHierarchy.symbols @@ -7,7 +7,7 @@ module M { >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 1, 23)) subscribe(callback: (newValue: T) => void ): any; ->subscribe : Symbol(subscribe, Decl(genericCallbacksAndClassHierarchy.ts, 1, 27)) +>subscribe : Symbol(I.subscribe, Decl(genericCallbacksAndClassHierarchy.ts, 1, 27)) >callback : Symbol(callback, Decl(genericCallbacksAndClassHierarchy.ts, 2, 18)) >newValue : Symbol(newValue, Decl(genericCallbacksAndClassHierarchy.ts, 2, 29)) >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 1, 23)) @@ -17,7 +17,7 @@ module M { >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 4, 20)) public value: I; ->value : Symbol(value, Decl(genericCallbacksAndClassHierarchy.ts, 4, 24)) +>value : Symbol(C1.value, Decl(genericCallbacksAndClassHierarchy.ts, 4, 24)) >I : Symbol(I, Decl(genericCallbacksAndClassHierarchy.ts, 0, 10)) >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 4, 20)) } @@ -26,7 +26,7 @@ module M { >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 7, 19)) public dummy: any; ->dummy : Symbol(dummy, Decl(genericCallbacksAndClassHierarchy.ts, 7, 23)) +>dummy : Symbol(A.dummy, Decl(genericCallbacksAndClassHierarchy.ts, 7, 23)) } export class B extends C1> { } >B : Symbol(B, Decl(genericCallbacksAndClassHierarchy.ts, 9, 5)) @@ -40,7 +40,7 @@ module M { >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 11, 19)) _subscribe(viewModel: B): void { ->_subscribe : Symbol(_subscribe, Decl(genericCallbacksAndClassHierarchy.ts, 11, 23)) +>_subscribe : Symbol(D._subscribe, Decl(genericCallbacksAndClassHierarchy.ts, 11, 23)) >viewModel : Symbol(viewModel, Decl(genericCallbacksAndClassHierarchy.ts, 12, 19)) >B : Symbol(B, Decl(genericCallbacksAndClassHierarchy.ts, 9, 5)) >T : Symbol(T, Decl(genericCallbacksAndClassHierarchy.ts, 11, 19)) diff --git a/tests/baselines/reference/genericClassExpressionInFunction.symbols b/tests/baselines/reference/genericClassExpressionInFunction.symbols index b5a6b8c6c70..2384cd2ed47 100644 --- a/tests/baselines/reference/genericClassExpressionInFunction.symbols +++ b/tests/baselines/reference/genericClassExpressionInFunction.symbols @@ -4,7 +4,7 @@ class A { >T : Symbol(T, Decl(genericClassExpressionInFunction.ts, 0, 8)) genericVar: T ->genericVar : Symbol(genericVar, Decl(genericClassExpressionInFunction.ts, 0, 12)) +>genericVar : Symbol(A.genericVar, Decl(genericClassExpressionInFunction.ts, 0, 12)) >T : Symbol(T, Decl(genericClassExpressionInFunction.ts, 0, 8)) } function B1() { @@ -21,7 +21,7 @@ class B2 { >V : Symbol(V, Decl(genericClassExpressionInFunction.ts, 7, 9)) anon = class extends A { } ->anon : Symbol(anon, Decl(genericClassExpressionInFunction.ts, 7, 13)) +>anon : Symbol(B2.anon, Decl(genericClassExpressionInFunction.ts, 7, 13)) >A : Symbol(A, Decl(genericClassExpressionInFunction.ts, 0, 0)) >V : Symbol(V, Decl(genericClassExpressionInFunction.ts, 7, 9)) } @@ -41,7 +41,7 @@ class K extends B1() { >B1 : Symbol(B1, Decl(genericClassExpressionInFunction.ts, 2, 1)) namae: string; ->namae : Symbol(namae, Decl(genericClassExpressionInFunction.ts, 14, 30)) +>namae : Symbol(K.namae, Decl(genericClassExpressionInFunction.ts, 14, 30)) } class C extends (new B2().anon) { >C : Symbol(C, Decl(genericClassExpressionInFunction.ts, 16, 1)) @@ -50,7 +50,7 @@ class C extends (new B2().anon) { >anon : Symbol(B2.anon, Decl(genericClassExpressionInFunction.ts, 7, 13)) name: string; ->name : Symbol(name, Decl(genericClassExpressionInFunction.ts, 17, 41)) +>name : Symbol(C.name, Decl(genericClassExpressionInFunction.ts, 17, 41)) } let b3Number = B3(); >b3Number : Symbol(b3Number, Decl(genericClassExpressionInFunction.ts, 20, 3)) @@ -61,7 +61,7 @@ class S extends b3Number { >b3Number : Symbol(b3Number, Decl(genericClassExpressionInFunction.ts, 20, 3)) nom: string; ->nom : Symbol(nom, Decl(genericClassExpressionInFunction.ts, 21, 34)) +>nom : Symbol(S.nom, Decl(genericClassExpressionInFunction.ts, 21, 34)) } var c = new C(); >c : Symbol(c, Decl(genericClassExpressionInFunction.ts, 24, 3)) diff --git a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.symbols b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.symbols index 291f439c9a9..f0f3fdd4713 100644 --- a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.symbols +++ b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.symbols @@ -4,7 +4,7 @@ interface KnockoutObservableBase { >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 0, 33)) peek(): T; ->peek : Symbol(peek, Decl(genericClassPropertyInheritanceSpecialization.ts, 0, 37)) +>peek : Symbol(KnockoutObservableBase.peek, Decl(genericClassPropertyInheritanceSpecialization.ts, 0, 37)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 0, 33)) (): T; @@ -22,17 +22,17 @@ interface KnockoutObservable extends KnockoutObservableBase { >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 6, 29)) equalityComparer(a: T, b: T): boolean; ->equalityComparer : Symbol(equalityComparer, Decl(genericClassPropertyInheritanceSpecialization.ts, 6, 67)) +>equalityComparer : Symbol(KnockoutObservable.equalityComparer, Decl(genericClassPropertyInheritanceSpecialization.ts, 6, 67)) >a : Symbol(a, Decl(genericClassPropertyInheritanceSpecialization.ts, 7, 21)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 6, 29)) >b : Symbol(b, Decl(genericClassPropertyInheritanceSpecialization.ts, 7, 26)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 6, 29)) valueHasMutated(): void; ->valueHasMutated : Symbol(valueHasMutated, Decl(genericClassPropertyInheritanceSpecialization.ts, 7, 42)) +>valueHasMutated : Symbol(KnockoutObservable.valueHasMutated, Decl(genericClassPropertyInheritanceSpecialization.ts, 7, 42)) valueWillMutate(): void; ->valueWillMutate : Symbol(valueWillMutate, Decl(genericClassPropertyInheritanceSpecialization.ts, 8, 28)) +>valueWillMutate : Symbol(KnockoutObservable.valueWillMutate, Decl(genericClassPropertyInheritanceSpecialization.ts, 8, 28)) } interface KnockoutObservableArray extends KnockoutObservable { @@ -42,19 +42,19 @@ interface KnockoutObservableArray extends KnockoutObservable { >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) indexOf(searchElement: T, fromIndex?: number): number; ->indexOf : Symbol(indexOf, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 70)) +>indexOf : Symbol(KnockoutObservableArray.indexOf, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 70)) >searchElement : Symbol(searchElement, Decl(genericClassPropertyInheritanceSpecialization.ts, 13, 12)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) >fromIndex : Symbol(fromIndex, Decl(genericClassPropertyInheritanceSpecialization.ts, 13, 29)) slice(start: number, end?: number): T[]; ->slice : Symbol(slice, Decl(genericClassPropertyInheritanceSpecialization.ts, 13, 58)) +>slice : Symbol(KnockoutObservableArray.slice, Decl(genericClassPropertyInheritanceSpecialization.ts, 13, 58)) >start : Symbol(start, Decl(genericClassPropertyInheritanceSpecialization.ts, 14, 10)) >end : Symbol(end, Decl(genericClassPropertyInheritanceSpecialization.ts, 14, 24)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) splice(start: number, deleteCount?: number, ...items: T[]): T[]; ->splice : Symbol(splice, Decl(genericClassPropertyInheritanceSpecialization.ts, 14, 44)) +>splice : Symbol(KnockoutObservableArray.splice, Decl(genericClassPropertyInheritanceSpecialization.ts, 14, 44)) >start : Symbol(start, Decl(genericClassPropertyInheritanceSpecialization.ts, 15, 11)) >deleteCount : Symbol(deleteCount, Decl(genericClassPropertyInheritanceSpecialization.ts, 15, 25)) >items : Symbol(items, Decl(genericClassPropertyInheritanceSpecialization.ts, 15, 47)) @@ -62,29 +62,29 @@ interface KnockoutObservableArray extends KnockoutObservable { >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) pop(): T; ->pop : Symbol(pop, Decl(genericClassPropertyInheritanceSpecialization.ts, 15, 68)) +>pop : Symbol(KnockoutObservableArray.pop, Decl(genericClassPropertyInheritanceSpecialization.ts, 15, 68)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) push(...items: T[]): void; ->push : Symbol(push, Decl(genericClassPropertyInheritanceSpecialization.ts, 16, 13)) +>push : Symbol(KnockoutObservableArray.push, Decl(genericClassPropertyInheritanceSpecialization.ts, 16, 13)) >items : Symbol(items, Decl(genericClassPropertyInheritanceSpecialization.ts, 17, 9)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) shift(): T; ->shift : Symbol(shift, Decl(genericClassPropertyInheritanceSpecialization.ts, 17, 30)) +>shift : Symbol(KnockoutObservableArray.shift, Decl(genericClassPropertyInheritanceSpecialization.ts, 17, 30)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) unshift(...items: T[]): number; ->unshift : Symbol(unshift, Decl(genericClassPropertyInheritanceSpecialization.ts, 18, 15)) +>unshift : Symbol(KnockoutObservableArray.unshift, Decl(genericClassPropertyInheritanceSpecialization.ts, 18, 15)) >items : Symbol(items, Decl(genericClassPropertyInheritanceSpecialization.ts, 19, 12)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) reverse(): T[]; ->reverse : Symbol(reverse, Decl(genericClassPropertyInheritanceSpecialization.ts, 19, 35)) +>reverse : Symbol(KnockoutObservableArray.reverse, Decl(genericClassPropertyInheritanceSpecialization.ts, 19, 35)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) sort(compareFunction?: (a: T, b: T) => number): void; ->sort : Symbol(sort, Decl(genericClassPropertyInheritanceSpecialization.ts, 20, 19)) +>sort : Symbol(KnockoutObservableArray.sort, Decl(genericClassPropertyInheritanceSpecialization.ts, 20, 19)) >compareFunction : Symbol(compareFunction, Decl(genericClassPropertyInheritanceSpecialization.ts, 21, 9)) >a : Symbol(a, Decl(genericClassPropertyInheritanceSpecialization.ts, 21, 28)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) @@ -92,31 +92,31 @@ interface KnockoutObservableArray extends KnockoutObservable { >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) replace(oldItem: T, newItem: T): void; ->replace : Symbol(replace, Decl(genericClassPropertyInheritanceSpecialization.ts, 21, 57)) +>replace : Symbol(KnockoutObservableArray.replace, Decl(genericClassPropertyInheritanceSpecialization.ts, 21, 57)) >oldItem : Symbol(oldItem, Decl(genericClassPropertyInheritanceSpecialization.ts, 22, 12)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) >newItem : Symbol(newItem, Decl(genericClassPropertyInheritanceSpecialization.ts, 22, 23)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) remove(item: T): T[]; ->remove : Symbol(remove, Decl(genericClassPropertyInheritanceSpecialization.ts, 22, 42)) +>remove : Symbol(KnockoutObservableArray.remove, Decl(genericClassPropertyInheritanceSpecialization.ts, 22, 42)) >item : Symbol(item, Decl(genericClassPropertyInheritanceSpecialization.ts, 23, 11)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) removeAll(items?: T[]): T[]; ->removeAll : Symbol(removeAll, Decl(genericClassPropertyInheritanceSpecialization.ts, 23, 25)) +>removeAll : Symbol(KnockoutObservableArray.removeAll, Decl(genericClassPropertyInheritanceSpecialization.ts, 23, 25)) >items : Symbol(items, Decl(genericClassPropertyInheritanceSpecialization.ts, 24, 14)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) destroy(item: T): void; ->destroy : Symbol(destroy, Decl(genericClassPropertyInheritanceSpecialization.ts, 24, 32)) +>destroy : Symbol(KnockoutObservableArray.destroy, Decl(genericClassPropertyInheritanceSpecialization.ts, 24, 32)) >item : Symbol(item, Decl(genericClassPropertyInheritanceSpecialization.ts, 25, 12)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) destroyAll(items?: T[]): void; ->destroyAll : Symbol(destroyAll, Decl(genericClassPropertyInheritanceSpecialization.ts, 25, 27)) +>destroyAll : Symbol(KnockoutObservableArray.destroyAll, Decl(genericClassPropertyInheritanceSpecialization.ts, 25, 27)) >items : Symbol(items, Decl(genericClassPropertyInheritanceSpecialization.ts, 26, 15)) >T : Symbol(T, Decl(genericClassPropertyInheritanceSpecialization.ts, 12, 34)) } @@ -125,7 +125,7 @@ interface KnockoutObservableArrayStatic { >KnockoutObservableArrayStatic : Symbol(KnockoutObservableArrayStatic, Decl(genericClassPropertyInheritanceSpecialization.ts, 27, 1)) fn: KnockoutObservableArray; ->fn : Symbol(fn, Decl(genericClassPropertyInheritanceSpecialization.ts, 29, 41)) +>fn : Symbol(KnockoutObservableArrayStatic.fn, Decl(genericClassPropertyInheritanceSpecialization.ts, 29, 41)) >KnockoutObservableArray : Symbol(KnockoutObservableArray, Decl(genericClassPropertyInheritanceSpecialization.ts, 10, 1)) (value?: T[]): KnockoutObservableArray; @@ -154,18 +154,18 @@ module Portal.Controls.Validators { >TValue : Symbol(TValue, Decl(genericClassPropertyInheritanceSpecialization.ts, 41, 27)) private _subscription; ->_subscription : Symbol(_subscription, Decl(genericClassPropertyInheritanceSpecialization.ts, 41, 36)) +>_subscription : Symbol(Validator._subscription, Decl(genericClassPropertyInheritanceSpecialization.ts, 41, 36)) public message: KnockoutObservable; ->message : Symbol(message, Decl(genericClassPropertyInheritanceSpecialization.ts, 42, 30)) +>message : Symbol(Validator.message, Decl(genericClassPropertyInheritanceSpecialization.ts, 42, 30)) >KnockoutObservable : Symbol(KnockoutObservable, Decl(genericClassPropertyInheritanceSpecialization.ts, 4, 1)) public validationState: KnockoutObservable; ->validationState : Symbol(validationState, Decl(genericClassPropertyInheritanceSpecialization.ts, 43, 51)) +>validationState : Symbol(Validator.validationState, Decl(genericClassPropertyInheritanceSpecialization.ts, 43, 51)) >KnockoutObservable : Symbol(KnockoutObservable, Decl(genericClassPropertyInheritanceSpecialization.ts, 4, 1)) public validate: KnockoutObservable; ->validate : Symbol(validate, Decl(genericClassPropertyInheritanceSpecialization.ts, 44, 59)) +>validate : Symbol(Validator.validate, Decl(genericClassPropertyInheritanceSpecialization.ts, 44, 59)) >KnockoutObservable : Symbol(KnockoutObservable, Decl(genericClassPropertyInheritanceSpecialization.ts, 4, 1)) >TValue : Symbol(TValue, Decl(genericClassPropertyInheritanceSpecialization.ts, 41, 27)) @@ -173,10 +173,10 @@ module Portal.Controls.Validators { >message : Symbol(message, Decl(genericClassPropertyInheritanceSpecialization.ts, 46, 20)) public destroy(): void { } ->destroy : Symbol(destroy, Decl(genericClassPropertyInheritanceSpecialization.ts, 46, 41)) +>destroy : Symbol(Validator.destroy, Decl(genericClassPropertyInheritanceSpecialization.ts, 46, 41)) public _validate(value: TValue): number {return 0 } ->_validate : Symbol(_validate, Decl(genericClassPropertyInheritanceSpecialization.ts, 47, 34)) +>_validate : Symbol(Validator._validate, Decl(genericClassPropertyInheritanceSpecialization.ts, 47, 34)) >value : Symbol(value, Decl(genericClassPropertyInheritanceSpecialization.ts, 48, 25)) >TValue : Symbol(TValue, Decl(genericClassPropertyInheritanceSpecialization.ts, 41, 27)) } @@ -216,7 +216,7 @@ interface Contract { >TValue : Symbol(TValue, Decl(genericClassPropertyInheritanceSpecialization.ts, 63, 19)) validators: KnockoutObservableArray>; ->validators : Symbol(validators, Decl(genericClassPropertyInheritanceSpecialization.ts, 63, 28)) +>validators : Symbol(Contract.validators, Decl(genericClassPropertyInheritanceSpecialization.ts, 63, 28)) >KnockoutObservableArray : Symbol(KnockoutObservableArray, Decl(genericClassPropertyInheritanceSpecialization.ts, 10, 1)) >PortalFx : Symbol(PortalFx, Decl(genericClassPropertyInheritanceSpecialization.ts, 50, 1)) >ViewModels : Symbol(PortalFx.ViewModels, Decl(genericClassPropertyInheritanceSpecialization.ts, 52, 16)) @@ -234,7 +234,7 @@ class ViewModel implements Contract { >TValue : Symbol(TValue, Decl(genericClassPropertyInheritanceSpecialization.ts, 69, 16)) public validators: KnockoutObservableArray> = ko.observableArray>(); ->validators : Symbol(validators, Decl(genericClassPropertyInheritanceSpecialization.ts, 69, 53)) +>validators : Symbol(ViewModel.validators, Decl(genericClassPropertyInheritanceSpecialization.ts, 69, 53)) >KnockoutObservableArray : Symbol(KnockoutObservableArray, Decl(genericClassPropertyInheritanceSpecialization.ts, 10, 1)) >PortalFx : Symbol(PortalFx, Decl(genericClassPropertyInheritanceSpecialization.ts, 50, 1)) >ViewModels : Symbol(PortalFx.ViewModels, Decl(genericClassPropertyInheritanceSpecialization.ts, 52, 16)) diff --git a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.symbols b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.symbols index a178f5b97e8..c7d369987c9 100644 --- a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.symbols +++ b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.symbols @@ -6,17 +6,17 @@ class C { >C : Symbol(C, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 3, 9)) +>x : Symbol(C.x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 3, 9)) } class D { >D : Symbol(D, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 5, 1)) x: string; ->x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 7, 9)) +>x : Symbol(D.x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 7, 9)) y: string; ->y : Symbol(y, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 8, 14)) +>y : Symbol(D.y, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 8, 14)) } class X { @@ -24,7 +24,7 @@ class X { >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 12, 8)) x: T; ->x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 12, 12)) +>x : Symbol(X.x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 12, 12)) >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 12, 8)) } @@ -37,7 +37,7 @@ module Class { >x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 17, 23)) foo(t: X, t2: X) { ->foo : Symbol(foo, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 17, 38)) +>foo : Symbol(G.foo, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 17, 38)) >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 18, 12)) >x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 18, 23)) >t : Symbol(t, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 18, 37)) @@ -94,7 +94,7 @@ module Class { >C : Symbol(C, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 0, 0)) foo2(t: X, t2: X) { ->foo2 : Symbol(foo2, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 30, 27)) +>foo2 : Symbol(G2.foo2, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 30, 27)) >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 31, 13)) >C : Symbol(C, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 0, 0)) >t : Symbol(t, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 31, 26)) @@ -143,7 +143,7 @@ module Interface { >x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 42, 27)) foo(t: X, t2: X): T; ->foo : Symbol(foo, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 42, 42)) +>foo : Symbol(G.foo, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 42, 42)) >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 43, 12)) >x : Symbol(x, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 43, 23)) >t : Symbol(t, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 43, 37)) @@ -193,7 +193,7 @@ module Interface { >C : Symbol(C, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 0, 0)) foo2(t: X, t2: X): T; ->foo2 : Symbol(foo2, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 52, 31)) +>foo2 : Symbol(G2.foo2, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 52, 31)) >T : Symbol(T, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 53, 13)) >C : Symbol(C, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 0, 0)) >t : Symbol(t, Decl(genericClassWithObjectTypeArgsAndConstraints.ts, 53, 26)) diff --git a/tests/baselines/reference/genericClassWithStaticFactory.symbols b/tests/baselines/reference/genericClassWithStaticFactory.symbols index 47b7f5f736b..eb4c58ab3cc 100644 --- a/tests/baselines/reference/genericClassWithStaticFactory.symbols +++ b/tests/baselines/reference/genericClassWithStaticFactory.symbols @@ -7,36 +7,36 @@ module Editor { >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) public next: List; ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) public prev: List; ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) private listFactory: ListFactory; ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >ListFactory : Symbol(ListFactory, Decl(genericClassWithStaticFactory.ts, 106, 5)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) constructor(public isHead: boolean, public data: T) { ->isHead : Symbol(isHead, Decl(genericClassWithStaticFactory.ts, 7, 20)) ->data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 7, 43)) +>isHead : Symbol(List.isHead, Decl(genericClassWithStaticFactory.ts, 7, 20)) +>data : Symbol(List.data, Decl(genericClassWithStaticFactory.ts, 7, 43)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) this.listFactory = new ListFactory(); ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >ListFactory : Symbol(ListFactory, Decl(genericClassWithStaticFactory.ts, 106, 5)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) } public add(data: T): List { ->add : Symbol(add, Decl(genericClassWithStaticFactory.ts, 10, 9)) +>add : Symbol(List.add, Decl(genericClassWithStaticFactory.ts, 10, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 12, 19)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) @@ -45,17 +45,17 @@ module Editor { var entry = this.listFactory.MakeEntry(data); >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 13, 15)) >this.listFactory.MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 12, 19)) this.prev.next = entry; >this.prev.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 13, 15)) @@ -69,14 +69,14 @@ module Editor { >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 13, 15)) >prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) this.prev = entry; ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 13, 15)) return entry; @@ -84,7 +84,7 @@ module Editor { } public count(): number { ->count : Symbol(count, Decl(genericClassWithStaticFactory.ts, 20, 9)) +>count : Symbol(List.count, Decl(genericClassWithStaticFactory.ts, 20, 9)) var entry: List; >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 23, 15)) @@ -96,9 +96,9 @@ module Editor { entry = this.next; >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 23, 15)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) for (i = 0; !(entry.isHead); i++) { >i : Symbol(i, Decl(genericClassWithStaticFactory.ts, 24, 15)) @@ -119,29 +119,29 @@ module Editor { } public isEmpty(): boolean { ->isEmpty : Symbol(isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) +>isEmpty : Symbol(List.isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) return (this.next == this); ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) } public first(): T { ->first : Symbol(first, Decl(genericClassWithStaticFactory.ts, 36, 9)) +>first : Symbol(List.first, Decl(genericClassWithStaticFactory.ts, 36, 9)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) if (this.isEmpty()) ->this.isEmpty : Symbol(isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) +>this.isEmpty : Symbol(List.isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->isEmpty : Symbol(isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) +>isEmpty : Symbol(List.isEmpty, Decl(genericClassWithStaticFactory.ts, 32, 9)) { return this.next.data; >this.next.data : Symbol(List.data, Decl(genericClassWithStaticFactory.ts, 7, 43)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >data : Symbol(List.data, Decl(genericClassWithStaticFactory.ts, 7, 43)) } else { @@ -150,7 +150,7 @@ module Editor { } public pushEntry(entry: List): void { ->pushEntry : Symbol(pushEntry, Decl(genericClassWithStaticFactory.ts, 46, 9)) +>pushEntry : Symbol(List.pushEntry, Decl(genericClassWithStaticFactory.ts, 46, 9)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 48, 25)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) @@ -164,9 +164,9 @@ module Editor { >entry.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 48, 25)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) entry.prev = this; >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) @@ -175,9 +175,9 @@ module Editor { >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) this.next = entry; ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 48, 25)) entry.next.prev = entry; // entry.next.prev does not show intellisense, but entry.prev.prev does @@ -190,16 +190,16 @@ module Editor { } public push(data: T): void { ->push : Symbol(push, Decl(genericClassWithStaticFactory.ts, 54, 9)) +>push : Symbol(List.push, Decl(genericClassWithStaticFactory.ts, 54, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 56, 20)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) var entry = this.listFactory.MakeEntry(data); >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 57, 15)) >this.listFactory.MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 56, 20)) @@ -218,9 +218,9 @@ module Editor { >entry.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 57, 15)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) entry.prev = this; >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) @@ -229,9 +229,9 @@ module Editor { >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) this.next = entry; ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 57, 15)) entry.next.prev = entry; // entry.next.prev does not show intellisense, but entry.prev.prev does @@ -244,7 +244,7 @@ module Editor { } public popEntry(head: List): List { ->popEntry : Symbol(popEntry, Decl(genericClassWithStaticFactory.ts, 64, 9)) +>popEntry : Symbol(List.popEntry, Decl(genericClassWithStaticFactory.ts, 64, 9)) >head : Symbol(head, Decl(genericClassWithStaticFactory.ts, 66, 24)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) @@ -253,9 +253,9 @@ module Editor { if (this.next.isHead) { >this.next.isHead : Symbol(List.isHead, Decl(genericClassWithStaticFactory.ts, 7, 20)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >isHead : Symbol(List.isHead, Decl(genericClassWithStaticFactory.ts, 7, 20)) return null; @@ -263,18 +263,18 @@ module Editor { else { return this.listFactory.RemoveEntry(this.next); >this.listFactory.RemoveEntry : Symbol(ListFactory.RemoveEntry, Decl(genericClassWithStaticFactory.ts, 122, 9)) ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >RemoveEntry : Symbol(ListFactory.RemoveEntry, Decl(genericClassWithStaticFactory.ts, 122, 9)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) } } public insertEntry(entry: List): List { ->insertEntry : Symbol(insertEntry, Decl(genericClassWithStaticFactory.ts, 73, 9)) +>insertEntry : Symbol(List.insertEntry, Decl(genericClassWithStaticFactory.ts, 73, 9)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 75, 27)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) @@ -288,9 +288,9 @@ module Editor { this.prev.next = entry; >this.prev.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 75, 27)) @@ -304,14 +304,14 @@ module Editor { >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 75, 27)) >prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) this.prev = entry; ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 75, 27)) return entry; @@ -319,7 +319,7 @@ module Editor { } public insertAfter(data: T): List { ->insertAfter : Symbol(insertAfter, Decl(genericClassWithStaticFactory.ts, 82, 9)) +>insertAfter : Symbol(List.insertAfter, Decl(genericClassWithStaticFactory.ts, 82, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 84, 27)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) @@ -330,9 +330,9 @@ module Editor { >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) >this.listFactory.MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 84, 27)) @@ -340,9 +340,9 @@ module Editor { >entry.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 85, 15)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) entry.prev = this; >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) @@ -351,9 +351,9 @@ module Editor { >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) this.next = entry; ->this.next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>this.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->next : Symbol(next, Decl(genericClassWithStaticFactory.ts, 2, 26)) +>next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 85, 15)) entry.next.prev = entry;// entry.next.prev does not show intellisense, but entry.prev.prev does @@ -369,7 +369,7 @@ module Editor { } public insertEntryBefore(entry: List): List { ->insertEntryBefore : Symbol(insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) +>insertEntryBefore : Symbol(List.insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 93, 33)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) @@ -378,9 +378,9 @@ module Editor { this.prev.next = entry; >this.prev.next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >next : Symbol(List.next, Decl(genericClassWithStaticFactory.ts, 2, 26)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 93, 33)) @@ -394,14 +394,14 @@ module Editor { >entry.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 93, 33)) >prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) this.prev = entry; ->this.prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>this.prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->prev : Symbol(prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) +>prev : Symbol(List.prev, Decl(genericClassWithStaticFactory.ts, 3, 29)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 93, 33)) return entry; @@ -409,7 +409,7 @@ module Editor { } public insertBefore(data: T): List { ->insertBefore : Symbol(insertBefore, Decl(genericClassWithStaticFactory.ts, 100, 9)) +>insertBefore : Symbol(List.insertBefore, Decl(genericClassWithStaticFactory.ts, 100, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 102, 28)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 2, 22)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) @@ -418,16 +418,16 @@ module Editor { var entry = this.listFactory.MakeEntry(data); >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 103, 15)) >this.listFactory.MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) ->this.listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>this.listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->listFactory : Symbol(listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) +>listFactory : Symbol(List.listFactory, Decl(genericClassWithStaticFactory.ts, 4, 29)) >MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 102, 28)) return this.insertEntryBefore(entry); ->this.insertEntryBefore : Symbol(insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) +>this.insertEntryBefore : Symbol(List.insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) >this : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) ->insertEntryBefore : Symbol(insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) +>insertEntryBefore : Symbol(List.insertEntryBefore, Decl(genericClassWithStaticFactory.ts, 91, 9)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 103, 15)) } } @@ -437,7 +437,7 @@ module Editor { >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 108, 29)) public MakeHead(): List { ->MakeHead : Symbol(MakeHead, Decl(genericClassWithStaticFactory.ts, 108, 33)) +>MakeHead : Symbol(ListFactory.MakeHead, Decl(genericClassWithStaticFactory.ts, 108, 33)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 110, 24)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 110, 24)) @@ -466,7 +466,7 @@ module Editor { } public MakeEntry(data: T): List { ->MakeEntry : Symbol(MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) +>MakeEntry : Symbol(ListFactory.MakeEntry, Decl(genericClassWithStaticFactory.ts, 115, 9)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 117, 25)) >data : Symbol(data, Decl(genericClassWithStaticFactory.ts, 117, 28)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 117, 25)) @@ -498,7 +498,7 @@ module Editor { } public RemoveEntry(entry: List): List { ->RemoveEntry : Symbol(RemoveEntry, Decl(genericClassWithStaticFactory.ts, 122, 9)) +>RemoveEntry : Symbol(ListFactory.RemoveEntry, Decl(genericClassWithStaticFactory.ts, 122, 9)) >T : Symbol(T, Decl(genericClassWithStaticFactory.ts, 124, 27)) >entry : Symbol(entry, Decl(genericClassWithStaticFactory.ts, 124, 30)) >List : Symbol(List, Decl(genericClassWithStaticFactory.ts, 0, 15)) diff --git a/tests/baselines/reference/genericClasses0.symbols b/tests/baselines/reference/genericClasses0.symbols index 764cd04c962..57fbb65056f 100644 --- a/tests/baselines/reference/genericClasses0.symbols +++ b/tests/baselines/reference/genericClasses0.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(genericClasses0.ts, 0, 8)) public x: T; ->x : Symbol(x, Decl(genericClasses0.ts, 0, 12)) +>x : Symbol(C.x, Decl(genericClasses0.ts, 0, 12)) >T : Symbol(T, Decl(genericClasses0.ts, 0, 8)) } diff --git a/tests/baselines/reference/genericClasses1.symbols b/tests/baselines/reference/genericClasses1.symbols index d2100b5e3b3..fbbd3110cdf 100644 --- a/tests/baselines/reference/genericClasses1.symbols +++ b/tests/baselines/reference/genericClasses1.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(genericClasses1.ts, 0, 8)) public x: T; ->x : Symbol(x, Decl(genericClasses1.ts, 0, 12)) +>x : Symbol(C.x, Decl(genericClasses1.ts, 0, 12)) >T : Symbol(T, Decl(genericClasses1.ts, 0, 8)) } diff --git a/tests/baselines/reference/genericClasses2.symbols b/tests/baselines/reference/genericClasses2.symbols index e9af0c44941..a5153a26fc3 100644 --- a/tests/baselines/reference/genericClasses2.symbols +++ b/tests/baselines/reference/genericClasses2.symbols @@ -4,7 +4,7 @@ interface Foo { >T : Symbol(T, Decl(genericClasses2.ts, 0, 14)) a: T; ->a : Symbol(a, Decl(genericClasses2.ts, 0, 18)) +>a : Symbol(Foo.a, Decl(genericClasses2.ts, 0, 18)) >T : Symbol(T, Decl(genericClasses2.ts, 0, 14)) } @@ -13,16 +13,16 @@ class C { >T : Symbol(T, Decl(genericClasses2.ts, 4, 8)) public x: T; ->x : Symbol(x, Decl(genericClasses2.ts, 4, 12)) +>x : Symbol(C.x, Decl(genericClasses2.ts, 4, 12)) >T : Symbol(T, Decl(genericClasses2.ts, 4, 8)) public y: Foo; ->y : Symbol(y, Decl(genericClasses2.ts, 5, 13)) +>y : Symbol(C.y, Decl(genericClasses2.ts, 5, 13)) >Foo : Symbol(Foo, Decl(genericClasses2.ts, 0, 0)) >T : Symbol(T, Decl(genericClasses2.ts, 4, 8)) public z: Foo; ->z : Symbol(z, Decl(genericClasses2.ts, 6, 18)) +>z : Symbol(C.z, Decl(genericClasses2.ts, 6, 18)) >Foo : Symbol(Foo, Decl(genericClasses2.ts, 0, 0)) } diff --git a/tests/baselines/reference/genericClasses3.symbols b/tests/baselines/reference/genericClasses3.symbols index 06b0d8437d5..31b99b4247d 100644 --- a/tests/baselines/reference/genericClasses3.symbols +++ b/tests/baselines/reference/genericClasses3.symbols @@ -4,11 +4,11 @@ class B { >T : Symbol(T, Decl(genericClasses3.ts, 0, 8)) a: T; ->a : Symbol(a, Decl(genericClasses3.ts, 0, 12)) +>a : Symbol(B.a, Decl(genericClasses3.ts, 0, 12)) >T : Symbol(T, Decl(genericClasses3.ts, 0, 8)) b: T; ->b : Symbol(b, Decl(genericClasses3.ts, 1, 9)) +>b : Symbol(B.b, Decl(genericClasses3.ts, 1, 9)) >T : Symbol(T, Decl(genericClasses3.ts, 0, 8)) } @@ -19,7 +19,7 @@ class C extends B { >T : Symbol(T, Decl(genericClasses3.ts, 5, 8)) public x: T; ->x : Symbol(x, Decl(genericClasses3.ts, 5, 25)) +>x : Symbol(C.x, Decl(genericClasses3.ts, 5, 25)) >T : Symbol(T, Decl(genericClasses3.ts, 5, 8)) } diff --git a/tests/baselines/reference/genericClasses4.symbols b/tests/baselines/reference/genericClasses4.symbols index d910cbc152d..651d61528b5 100644 --- a/tests/baselines/reference/genericClasses4.symbols +++ b/tests/baselines/reference/genericClasses4.symbols @@ -5,13 +5,13 @@ class Vec2_T
>A : Symbol(A, Decl(genericClasses4.ts, 1, 13)) { constructor(public x: A, public y: A) { } ->x : Symbol(x, Decl(genericClasses4.ts, 3, 16)) +>x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) >A : Symbol(A, Decl(genericClasses4.ts, 1, 13)) ->y : Symbol(y, Decl(genericClasses4.ts, 3, 28)) +>y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) >A : Symbol(A, Decl(genericClasses4.ts, 1, 13)) fmap(f: (a: A) => B): Vec2_T { ->fmap : Symbol(fmap, Decl(genericClasses4.ts, 3, 45)) +>fmap : Symbol(Vec2_T.fmap, Decl(genericClasses4.ts, 3, 45)) >B : Symbol(B, Decl(genericClasses4.ts, 4, 9)) >f : Symbol(f, Decl(genericClasses4.ts, 4, 12)) >a : Symbol(a, Decl(genericClasses4.ts, 4, 16)) @@ -24,17 +24,17 @@ class Vec2_T >x : Symbol(x, Decl(genericClasses4.ts, 5, 11)) >B : Symbol(B, Decl(genericClasses4.ts, 4, 9)) >f : Symbol(f, Decl(genericClasses4.ts, 4, 12)) ->this.x : Symbol(x, Decl(genericClasses4.ts, 3, 16)) +>this.x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) >this : Symbol(Vec2_T, Decl(genericClasses4.ts, 0, 0)) ->x : Symbol(x, Decl(genericClasses4.ts, 3, 16)) +>x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) var y:B = f(this.y); >y : Symbol(y, Decl(genericClasses4.ts, 6, 11)) >B : Symbol(B, Decl(genericClasses4.ts, 4, 9)) >f : Symbol(f, Decl(genericClasses4.ts, 4, 12)) ->this.y : Symbol(y, Decl(genericClasses4.ts, 3, 28)) +>this.y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) >this : Symbol(Vec2_T, Decl(genericClasses4.ts, 0, 0)) ->y : Symbol(y, Decl(genericClasses4.ts, 3, 28)) +>y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) var retval: Vec2_T = new Vec2_T(x, y); >retval : Symbol(retval, Decl(genericClasses4.ts, 7, 11)) @@ -48,7 +48,7 @@ class Vec2_T >retval : Symbol(retval, Decl(genericClasses4.ts, 7, 11)) } apply(f: Vec2_T<(a: A) => B>): Vec2_T { ->apply : Symbol(apply, Decl(genericClasses4.ts, 9, 5)) +>apply : Symbol(Vec2_T.apply, Decl(genericClasses4.ts, 9, 5)) >B : Symbol(B, Decl(genericClasses4.ts, 10, 10)) >f : Symbol(f, Decl(genericClasses4.ts, 10, 13)) >Vec2_T : Symbol(Vec2_T, Decl(genericClasses4.ts, 0, 0)) @@ -64,9 +64,9 @@ class Vec2_T >f.x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) >f : Symbol(f, Decl(genericClasses4.ts, 10, 13)) >x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) ->this.x : Symbol(x, Decl(genericClasses4.ts, 3, 16)) +>this.x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) >this : Symbol(Vec2_T, Decl(genericClasses4.ts, 0, 0)) ->x : Symbol(x, Decl(genericClasses4.ts, 3, 16)) +>x : Symbol(Vec2_T.x, Decl(genericClasses4.ts, 3, 16)) var y:B = f.y(this.y); >y : Symbol(y, Decl(genericClasses4.ts, 12, 11)) @@ -74,9 +74,9 @@ class Vec2_T >f.y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) >f : Symbol(f, Decl(genericClasses4.ts, 10, 13)) >y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) ->this.y : Symbol(y, Decl(genericClasses4.ts, 3, 28)) +>this.y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) >this : Symbol(Vec2_T, Decl(genericClasses4.ts, 0, 0)) ->y : Symbol(y, Decl(genericClasses4.ts, 3, 28)) +>y : Symbol(Vec2_T.y, Decl(genericClasses4.ts, 3, 28)) var retval: Vec2_T = new Vec2_T(x, y); >retval : Symbol(retval, Decl(genericClasses4.ts, 13, 11)) diff --git a/tests/baselines/reference/genericClassesInModule2.symbols b/tests/baselines/reference/genericClassesInModule2.symbols index a767d64de07..764b5b66462 100644 --- a/tests/baselines/reference/genericClassesInModule2.symbols +++ b/tests/baselines/reference/genericClassesInModule2.symbols @@ -4,7 +4,7 @@ export class A{ >T1 : Symbol(T1, Decl(genericClassesInModule2.ts, 0, 15)) constructor( public callback: (self: A) => void) { ->callback : Symbol(callback, Decl(genericClassesInModule2.ts, 1, 16)) +>callback : Symbol(A.callback, Decl(genericClassesInModule2.ts, 1, 16)) >self : Symbol(self, Decl(genericClassesInModule2.ts, 1, 35)) >A : Symbol(A, Decl(genericClassesInModule2.ts, 0, 0)) >T1 : Symbol(T1, Decl(genericClassesInModule2.ts, 0, 15)) @@ -15,7 +15,7 @@ export class A{ >this : Symbol(A, Decl(genericClassesInModule2.ts, 0, 0)) } AAA( callback: (self: A) => void) { ->AAA : Symbol(AAA, Decl(genericClassesInModule2.ts, 3, 5)) +>AAA : Symbol(A.AAA, Decl(genericClassesInModule2.ts, 3, 5)) >callback : Symbol(callback, Decl(genericClassesInModule2.ts, 4, 8)) >self : Symbol(self, Decl(genericClassesInModule2.ts, 4, 20)) >A : Symbol(A, Decl(genericClassesInModule2.ts, 0, 0)) @@ -33,7 +33,7 @@ export interface C{ >T1 : Symbol(T1, Decl(genericClassesInModule2.ts, 9, 19)) child: B; ->child : Symbol(child, Decl(genericClassesInModule2.ts, 9, 23)) +>child : Symbol(C.child, Decl(genericClassesInModule2.ts, 9, 23)) >B : Symbol(B, Decl(genericClassesInModule2.ts, 13, 1)) >T1 : Symbol(T1, Decl(genericClassesInModule2.ts, 9, 19)) @@ -54,7 +54,7 @@ export class B { >T2 : Symbol(T2, Decl(genericClassesInModule2.ts, 15, 15)) constructor(public parent: T2) { } ->parent : Symbol(parent, Decl(genericClassesInModule2.ts, 16, 16)) +>parent : Symbol(B.parent, Decl(genericClassesInModule2.ts, 16, 16)) >T2 : Symbol(T2, Decl(genericClassesInModule2.ts, 15, 15)) } diff --git a/tests/baselines/reference/genericCloduleInModule.symbols b/tests/baselines/reference/genericCloduleInModule.symbols index 0becc7469a1..34b48f1539e 100644 --- a/tests/baselines/reference/genericCloduleInModule.symbols +++ b/tests/baselines/reference/genericCloduleInModule.symbols @@ -7,7 +7,7 @@ module A { >T : Symbol(T, Decl(genericCloduleInModule.ts, 1, 19)) foo() { } ->foo : Symbol(foo, Decl(genericCloduleInModule.ts, 1, 23)) +>foo : Symbol(B.foo, Decl(genericCloduleInModule.ts, 1, 23)) static bar() { } >bar : Symbol(B.bar, Decl(genericCloduleInModule.ts, 2, 17)) diff --git a/tests/baselines/reference/genericConstraint3.symbols b/tests/baselines/reference/genericConstraint3.symbols index 57cb9d03115..6a22a0996c0 100644 --- a/tests/baselines/reference/genericConstraint3.symbols +++ b/tests/baselines/reference/genericConstraint3.symbols @@ -2,7 +2,7 @@ interface C

" + this.greeting + "

"; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationClass.ts, 0, 0)) ->greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) } private x: string; ->x : Symbol(x, Decl(sourceMapValidationClass.ts, 5, 5)) +>x : Symbol(Greeter.x, Decl(sourceMapValidationClass.ts, 5, 5)) private x1: number = 10; ->x1 : Symbol(x1, Decl(sourceMapValidationClass.ts, 6, 22)) +>x1 : Symbol(Greeter.x1, Decl(sourceMapValidationClass.ts, 6, 22)) private fn() { ->fn : Symbol(fn, Decl(sourceMapValidationClass.ts, 7, 28)) +>fn : Symbol(Greeter.fn, Decl(sourceMapValidationClass.ts, 7, 28)) return this.greeting; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationClass.ts, 0, 0)) ->greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) } get greetings() { ->greetings : Symbol(greetings, Decl(sourceMapValidationClass.ts, 10, 5), Decl(sourceMapValidationClass.ts, 13, 5)) +>greetings : Symbol(Greeter.greetings, Decl(sourceMapValidationClass.ts, 10, 5), Decl(sourceMapValidationClass.ts, 13, 5)) return this.greeting; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationClass.ts, 0, 0)) ->greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) } set greetings(greetings: string) { ->greetings : Symbol(greetings, Decl(sourceMapValidationClass.ts, 10, 5), Decl(sourceMapValidationClass.ts, 13, 5)) +>greetings : Symbol(Greeter.greetings, Decl(sourceMapValidationClass.ts, 10, 5), Decl(sourceMapValidationClass.ts, 13, 5)) >greetings : Symbol(greetings, Decl(sourceMapValidationClass.ts, 14, 18)) this.greeting = greetings; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationClass.ts, 0, 0)) ->greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >greetings : Symbol(greetings, Decl(sourceMapValidationClass.ts, 14, 18)) } } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.symbols b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.symbols index 416e02b3990..dfa9a7bc045 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.symbols +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.symbols @@ -3,8 +3,8 @@ class Greeter { >Greeter : Symbol(Greeter, Decl(sourceMapValidationClassWithDefaultConstructor.ts, 0, 0)) public a = 10; ->a : Symbol(a, Decl(sourceMapValidationClassWithDefaultConstructor.ts, 0, 15)) +>a : Symbol(Greeter.a, Decl(sourceMapValidationClassWithDefaultConstructor.ts, 0, 15)) public nameA = "Ten"; ->nameA : Symbol(nameA, Decl(sourceMapValidationClassWithDefaultConstructor.ts, 1, 18)) +>nameA : Symbol(Greeter.nameA, Decl(sourceMapValidationClassWithDefaultConstructor.ts, 1, 18)) } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.symbols b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.symbols index 44612abacbb..cb7f70706ec 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.symbols +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.symbols @@ -3,11 +3,11 @@ class Greeter { >Greeter : Symbol(Greeter, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 0)) public a = 10; ->a : Symbol(a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) +>a : Symbol(Greeter.a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) public returnA = () => this.a; ->returnA : Symbol(returnA, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 1, 18)) ->this.a : Symbol(a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) +>returnA : Symbol(Greeter.returnA, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 1, 18)) +>this.a : Symbol(Greeter.a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) >this : Symbol(Greeter, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 0)) ->a : Symbol(a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) +>a : Symbol(Greeter.a, Decl(sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts, 0, 15)) } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.symbols b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.symbols index 0fafe3ecdc0..7ff0c061a26 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.symbols +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.symbols @@ -8,8 +8,8 @@ class Greeter extends AbstractGreeter { >AbstractGreeter : Symbol(AbstractGreeter, Decl(sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts, 0, 0)) public a = 10; ->a : Symbol(a, Decl(sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts, 3, 39)) +>a : Symbol(Greeter.a, Decl(sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts, 3, 39)) public nameA = "Ten"; ->nameA : Symbol(nameA, Decl(sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts, 4, 18)) +>nameA : Symbol(Greeter.nameA, Decl(sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts, 4, 18)) } diff --git a/tests/baselines/reference/sourceMapValidationClasses.symbols b/tests/baselines/reference/sourceMapValidationClasses.symbols index 8608cd4ed21..3386730e4f9 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.symbols +++ b/tests/baselines/reference/sourceMapValidationClasses.symbols @@ -9,16 +9,16 @@ module Foo.Bar { >Greeter : Symbol(Greeter, Decl(sourceMapValidationClasses.ts, 1, 17)) constructor(public greeting: string) { ->greeting : Symbol(greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) } greet() { ->greet : Symbol(greet, Decl(sourceMapValidationClasses.ts, 5, 9)) +>greet : Symbol(Greeter.greet, Decl(sourceMapValidationClasses.ts, 5, 9)) return "

" + this.greeting + "

"; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) >this : Symbol(Greeter, Decl(sourceMapValidationClasses.ts, 1, 17)) ->greeting : Symbol(greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClasses.ts, 4, 20)) } } diff --git a/tests/baselines/reference/sourceMapValidationDecorators.symbols b/tests/baselines/reference/sourceMapValidationDecorators.symbols index 90204d0b71f..72e47dabe0b 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.symbols +++ b/tests/baselines/reference/sourceMapValidationDecorators.symbols @@ -59,7 +59,7 @@ class Greeter { >ParameterDecorator2 : Symbol(ParameterDecorator2, Decl(sourceMapValidationDecorators.ts, 4, 101)) public greeting: string, ->greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) @ParameterDecorator1 >ParameterDecorator1 : Symbol(ParameterDecorator1, Decl(sourceMapValidationDecorators.ts, 3, 128)) @@ -78,12 +78,12 @@ class Greeter { >PropertyDecorator2 : Symbol(PropertyDecorator2, Decl(sourceMapValidationDecorators.ts, 2, 113)) greet() { ->greet : Symbol(greet, Decl(sourceMapValidationDecorators.ts, 18, 5)) +>greet : Symbol(Greeter.greet, Decl(sourceMapValidationDecorators.ts, 18, 5)) return "

" + this.greeting + "

"; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationDecorators.ts, 5, 116)) ->greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) } @PropertyDecorator1 @@ -93,7 +93,7 @@ class Greeter { >PropertyDecorator2 : Symbol(PropertyDecorator2, Decl(sourceMapValidationDecorators.ts, 2, 113)) private x: string; ->x : Symbol(x, Decl(sourceMapValidationDecorators.ts, 24, 5)) +>x : Symbol(Greeter.x, Decl(sourceMapValidationDecorators.ts, 24, 5)) @PropertyDecorator1 >PropertyDecorator1 : Symbol(PropertyDecorator1, Decl(sourceMapValidationDecorators.ts, 1, 72)) @@ -105,7 +105,7 @@ class Greeter { >x1 : Symbol(Greeter.x1, Decl(sourceMapValidationDecorators.ts, 28, 22)) private fn( ->fn : Symbol(fn, Decl(sourceMapValidationDecorators.ts, 32, 35)) +>fn : Symbol(Greeter.fn, Decl(sourceMapValidationDecorators.ts, 32, 35)) @ParameterDecorator1 >ParameterDecorator1 : Symbol(ParameterDecorator1, Decl(sourceMapValidationDecorators.ts, 3, 128)) @@ -117,9 +117,9 @@ class Greeter { >x : Symbol(x, Decl(sourceMapValidationDecorators.ts, 34, 15)) return this.greeting; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationDecorators.ts, 5, 116)) ->greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) } @PropertyDecorator1 @@ -129,16 +129,16 @@ class Greeter { >PropertyDecorator2 : Symbol(PropertyDecorator2, Decl(sourceMapValidationDecorators.ts, 2, 113)) get greetings() { ->greetings : Symbol(greetings, Decl(sourceMapValidationDecorators.ts, 39, 5), Decl(sourceMapValidationDecorators.ts, 45, 5)) +>greetings : Symbol(Greeter.greetings, Decl(sourceMapValidationDecorators.ts, 39, 5), Decl(sourceMapValidationDecorators.ts, 45, 5)) return this.greeting; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationDecorators.ts, 5, 116)) ->greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) } set greetings( ->greetings : Symbol(greetings, Decl(sourceMapValidationDecorators.ts, 39, 5), Decl(sourceMapValidationDecorators.ts, 45, 5)) +>greetings : Symbol(Greeter.greetings, Decl(sourceMapValidationDecorators.ts, 39, 5), Decl(sourceMapValidationDecorators.ts, 45, 5)) @ParameterDecorator1 >ParameterDecorator1 : Symbol(ParameterDecorator1, Decl(sourceMapValidationDecorators.ts, 3, 128)) @@ -150,9 +150,9 @@ class Greeter { >greetings : Symbol(greetings, Decl(sourceMapValidationDecorators.ts, 47, 18)) this.greeting = greetings; ->this.greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>this.greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) >this : Symbol(Greeter, Decl(sourceMapValidationDecorators.ts, 5, 116)) ->greeting : Symbol(greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationDecorators.ts, 10, 16)) >greetings : Symbol(greetings, Decl(sourceMapValidationDecorators.ts, 47, 18)) } } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.symbols index 7037783e9a1..3cbd93783d2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 9, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForObjectBindingPattern.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.symbols index 49de55505a2..1d6df1e8394 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 9, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForObjectBindingPattern2.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.symbols index 5d47a45699e..04afb458955 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 9, 17)) primary?: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.symbols index 20ccd1136c3..86e1e28dd0c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 9, 17)) primary?: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.symbols index 8fef1fabd6d..51499a35e91 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 9, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.symbols index ed2a6c3449d..532791cca68 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 9, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForOfObjectBindingPattern2.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.symbols index f73adeb7761..bf3cbd59e0b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 9, 17)) primary?: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.symbols b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.symbols index 7194270c784..ebbda4d0517 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.symbols @@ -10,20 +10,20 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 3, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 4, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 4, 17)) } interface MultiRobot { >MultiRobot : Symbol(MultiRobot, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 6, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 8, 22)) +>name : Symbol(MultiRobot.name, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 8, 22)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 9, 17)) +>skills : Symbol(MultiRobot.skills, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 9, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts, 10, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.symbols b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.symbols index 3b2a89b2bda..7c6e8135e26 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.symbols @@ -10,10 +10,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 3, 17)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 4, 17)) +>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 4, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts, 5, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.symbols index 229e9acb6da..72412207cfb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.symbols @@ -10,10 +10,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 3, 17)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 4, 17)) +>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 4, 17)) primary?: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.symbols b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.symbols index 9b810165c1b..c87a10dce92 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.symbols @@ -3,10 +3,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 0, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 0, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 1, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 1, 17)) } declare var console: { >console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPattern.ts, 4, 11)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.symbols index 7e3804a5e88..4f33517fe00 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.symbols @@ -3,10 +3,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0)) name?: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 17)) skill?: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 1, 18)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 1, 18)) } declare var console: { >console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 11)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.symbols b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.symbols index 3d8e925d8b3..91b73a7c220 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.symbols @@ -3,10 +3,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatement.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringVariableStatement.ts, 0, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringVariableStatement.ts, 0, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringVariableStatement.ts, 1, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringVariableStatement.ts, 1, 17)) } declare var console: { >console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatement.ts, 4, 11)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.symbols b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.symbols index eb009ba9ad7..fd8995cc3ba 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.symbols @@ -3,10 +3,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 0, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 0, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 1, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 1, 17)) } declare var console: { >console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatement1.ts, 4, 11)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.symbols index 1fc07bf4a17..85801e566b5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.symbols @@ -3,10 +3,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 0, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 0, 17)) skill: string; ->skill : Symbol(skill, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 1, 17)) +>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 1, 17)) } declare var console: { >console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatementDefaultValues.ts, 4, 11)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.symbols b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.symbols index 09b66f24ad8..833212c606a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.symbols @@ -10,10 +10,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 3, 17)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 4, 17)) +>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 4, 17)) primary: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts, 5, 13)) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.symbols b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.symbols index a9a3a91f824..d0f04399e3f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.symbols +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.symbols @@ -10,10 +10,10 @@ interface Robot { >Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 2, 1)) name: string; ->name : Symbol(name, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 3, 17)) +>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 3, 17)) skills: { ->skills : Symbol(skills, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 4, 17)) +>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 4, 17)) primary?: string; >primary : Symbol(primary, Decl(sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts, 5, 13)) diff --git a/tests/baselines/reference/sourceMapValidationExportAssignment.symbols b/tests/baselines/reference/sourceMapValidationExportAssignment.symbols index 2506d52fb87..57d619eb998 100644 --- a/tests/baselines/reference/sourceMapValidationExportAssignment.symbols +++ b/tests/baselines/reference/sourceMapValidationExportAssignment.symbols @@ -3,7 +3,7 @@ class a { >a : Symbol(a, Decl(sourceMapValidationExportAssignment.ts, 0, 0)) public c; ->c : Symbol(c, Decl(sourceMapValidationExportAssignment.ts, 0, 9)) +>c : Symbol(a.c, Decl(sourceMapValidationExportAssignment.ts, 0, 9)) } export = a; >a : Symbol(a, Decl(sourceMapValidationExportAssignment.ts, 0, 0)) diff --git a/tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.symbols b/tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.symbols index 91e2de7a2b9..72e435af089 100644 --- a/tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.symbols +++ b/tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.symbols @@ -3,7 +3,7 @@ class a { >a : Symbol(a, Decl(sourceMapValidationExportAssignmentCommonjs.ts, 0, 0)) public c; ->c : Symbol(c, Decl(sourceMapValidationExportAssignmentCommonjs.ts, 0, 9)) +>c : Symbol(a.c, Decl(sourceMapValidationExportAssignmentCommonjs.ts, 0, 9)) } export = a; >a : Symbol(a, Decl(sourceMapValidationExportAssignmentCommonjs.ts, 0, 0)) diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols index 4f48bb97347..f262fb43781 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols @@ -9,19 +9,19 @@ interface Navigator { >Navigator : Symbol(Navigator, Decl(a.ts, 2, 1)) getGamepads(func?: any): any; ->getGamepads : Symbol(getGamepads, Decl(a.ts, 3, 21)) +>getGamepads : Symbol(Navigator.getGamepads, Decl(a.ts, 3, 21)) >func : Symbol(func, Decl(a.ts, 4, 16)) webkitGetGamepads(func?: any): any ->webkitGetGamepads : Symbol(webkitGetGamepads, Decl(a.ts, 4, 33)) +>webkitGetGamepads : Symbol(Navigator.webkitGetGamepads, Decl(a.ts, 4, 33)) >func : Symbol(func, Decl(a.ts, 5, 22)) msGetGamepads(func?: any): any; ->msGetGamepads : Symbol(msGetGamepads, Decl(a.ts, 5, 38)) +>msGetGamepads : Symbol(Navigator.msGetGamepads, Decl(a.ts, 5, 38)) >func : Symbol(func, Decl(a.ts, 6, 18)) webkitGamepads(func?: any): any; ->webkitGamepads : Symbol(webkitGamepads, Decl(a.ts, 6, 35)) +>webkitGamepads : Symbol(Navigator.webkitGamepads, Decl(a.ts, 6, 35)) >func : Symbol(func, Decl(a.ts, 7, 19)) } diff --git a/tests/baselines/reference/specializationError.symbols b/tests/baselines/reference/specializationError.symbols index 906cfee1e65..b866a7034df 100644 --- a/tests/baselines/reference/specializationError.symbols +++ b/tests/baselines/reference/specializationError.symbols @@ -4,7 +4,7 @@ interface Promise { >T : Symbol(T, Decl(specializationError.ts, 0, 18)) then(value: T): void; ->then : Symbol(then, Decl(specializationError.ts, 0, 22)) +>then : Symbol(Promise.then, Decl(specializationError.ts, 0, 22)) >U : Symbol(U, Decl(specializationError.ts, 1, 9)) >value : Symbol(value, Decl(specializationError.ts, 1, 12)) >T : Symbol(T, Decl(specializationError.ts, 0, 18)) @@ -14,12 +14,12 @@ interface Bar { >Bar : Symbol(Bar, Decl(specializationError.ts, 2, 1)) bar(value: "Menu"): Promise; ->bar : Symbol(bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) +>bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >value : Symbol(value, Decl(specializationError.ts, 5, 8)) >Promise : Symbol(Promise, Decl(specializationError.ts, 0, 0)) bar(value: string, element: string): Promise; ->bar : Symbol(bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) +>bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >T : Symbol(T, Decl(specializationError.ts, 6, 8)) >value : Symbol(value, Decl(specializationError.ts, 6, 11)) >element : Symbol(element, Decl(specializationError.ts, 6, 25)) @@ -27,7 +27,7 @@ interface Bar { >T : Symbol(T, Decl(specializationError.ts, 6, 8)) bar(value: string): Promise; ->bar : Symbol(bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) +>bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >T : Symbol(T, Decl(specializationError.ts, 7, 8)) >value : Symbol(value, Decl(specializationError.ts, 7, 11)) >Promise : Symbol(Promise, Decl(specializationError.ts, 0, 0)) diff --git a/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols b/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols index 9114afccdf4..5c93a74fe51 100644 --- a/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols +++ b/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols @@ -4,7 +4,7 @@ interface Series { >Series : Symbol(Series, Decl(specializationsShouldNotAffectEachOther.ts, 0, 0)) data: string[]; ->data : Symbol(data, Decl(specializationsShouldNotAffectEachOther.ts, 1, 19)) +>data : Symbol(Series.data, Decl(specializationsShouldNotAffectEachOther.ts, 1, 19)) } var series: Series; diff --git a/tests/baselines/reference/specializeVarArgs1.symbols b/tests/baselines/reference/specializeVarArgs1.symbols index 836e3613f07..8ac5369ce91 100644 --- a/tests/baselines/reference/specializeVarArgs1.symbols +++ b/tests/baselines/reference/specializeVarArgs1.symbols @@ -14,7 +14,7 @@ interface ObservableArray extends Observable { push(...values: T[]); ->push : Symbol(push, Decl(specializeVarArgs1.ts, 6, 1)) +>push : Symbol(ObservableArray.push, Decl(specializeVarArgs1.ts, 6, 1)) >values : Symbol(values, Decl(specializeVarArgs1.ts, 8, 9)) >T : Symbol(T, Decl(specializeVarArgs1.ts, 4, 26)) diff --git a/tests/baselines/reference/specializedInheritedConstructors1.symbols b/tests/baselines/reference/specializedInheritedConstructors1.symbols index 97285e073cc..69ea33898ad 100644 --- a/tests/baselines/reference/specializedInheritedConstructors1.symbols +++ b/tests/baselines/reference/specializedInheritedConstructors1.symbols @@ -4,7 +4,7 @@ interface ViewOptions { >TModel : Symbol(TModel, Decl(specializedInheritedConstructors1.ts, 0, 22)) model: TModel; ->model : Symbol(model, Decl(specializedInheritedConstructors1.ts, 0, 31)) +>model : Symbol(ViewOptions.model, Decl(specializedInheritedConstructors1.ts, 0, 31)) >TModel : Symbol(TModel, Decl(specializedInheritedConstructors1.ts, 0, 22)) } @@ -18,7 +18,7 @@ class View { >TModel : Symbol(TModel, Decl(specializedInheritedConstructors1.ts, 4, 11)) model: TModel; ->model : Symbol(model, Decl(specializedInheritedConstructors1.ts, 5, 49)) +>model : Symbol(View.model, Decl(specializedInheritedConstructors1.ts, 5, 49)) >TModel : Symbol(TModel, Decl(specializedInheritedConstructors1.ts, 4, 11)) } diff --git a/tests/baselines/reference/specializedLambdaTypeArguments.symbols b/tests/baselines/reference/specializedLambdaTypeArguments.symbols index 44083d6c7c8..9799199a1d7 100644 --- a/tests/baselines/reference/specializedLambdaTypeArguments.symbols +++ b/tests/baselines/reference/specializedLambdaTypeArguments.symbols @@ -4,7 +4,7 @@ class X
{ >A : Symbol(A, Decl(specializedLambdaTypeArguments.ts, 0, 8)) prop: X< () => Tany >; ->prop : Symbol(prop, Decl(specializedLambdaTypeArguments.ts, 0, 12)) +>prop : Symbol(X.prop, Decl(specializedLambdaTypeArguments.ts, 0, 12)) >X : Symbol(X, Decl(specializedLambdaTypeArguments.ts, 0, 0)) >Tany : Symbol(Tany, Decl(specializedLambdaTypeArguments.ts, 1, 11)) >Tany : Symbol(Tany, Decl(specializedLambdaTypeArguments.ts, 1, 11)) diff --git a/tests/baselines/reference/specializedOverloadWithRestParameters.symbols b/tests/baselines/reference/specializedOverloadWithRestParameters.symbols index 77e16aced4d..0f5832ab53d 100644 --- a/tests/baselines/reference/specializedOverloadWithRestParameters.symbols +++ b/tests/baselines/reference/specializedOverloadWithRestParameters.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/specializedOverloadWithRestParameters.ts === class Base { foo() { } } >Base : Symbol(Base, Decl(specializedOverloadWithRestParameters.ts, 0, 0)) ->foo : Symbol(foo, Decl(specializedOverloadWithRestParameters.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(specializedOverloadWithRestParameters.ts, 0, 12)) class Derived1 extends Base { bar() { } } >Derived1 : Symbol(Derived1, Decl(specializedOverloadWithRestParameters.ts, 0, 24)) >Base : Symbol(Base, Decl(specializedOverloadWithRestParameters.ts, 0, 0)) ->bar : Symbol(bar, Decl(specializedOverloadWithRestParameters.ts, 1, 29)) +>bar : Symbol(Derived1.bar, Decl(specializedOverloadWithRestParameters.ts, 1, 29)) function f(tagName: 'span', ...args): Derived1; // error >f : Symbol(f, Decl(specializedOverloadWithRestParameters.ts, 1, 41), Decl(specializedOverloadWithRestParameters.ts, 2, 47), Decl(specializedOverloadWithRestParameters.ts, 3, 43)) diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols index 8b1bbfb6aab..f1e0a615367 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols @@ -18,15 +18,15 @@ class C { >C : Symbol(C, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 5, 24)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) +>foo : Symbol(C.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) +>foo : Symbol(C.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 8)) foo(x: any) { } ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) +>foo : Symbol(C.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 10, 8)) } @@ -35,20 +35,20 @@ class C2 { >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) +>foo : Symbol(C2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) +>foo : Symbol(C2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 8)) foo(x: T); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) +>foo : Symbol(C2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 8)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9)) foo(x: any) { } ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) +>foo : Symbol(C2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 17, 8)) } @@ -58,20 +58,20 @@ class C3 { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) +>foo : Symbol(C3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) +>foo : Symbol(C3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 8)) foo(x: T); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) +>foo : Symbol(C3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 8)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9)) foo(x: any) { } ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) +>foo : Symbol(C3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 24, 8)) } @@ -88,15 +88,15 @@ interface I { >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 5)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) +>foo : Symbol(I.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) +>foo : Symbol(I.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 8)) foo(x: number); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) +>foo : Symbol(I.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 33, 8)) } @@ -115,15 +115,15 @@ interface I2 { >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 5)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) +>foo : Symbol(I2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) +>foo : Symbol(I2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 8)) foo(x: T); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) +>foo : Symbol(I2.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 42, 8)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13)) } @@ -144,15 +144,15 @@ interface I3 { >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13)) foo(x: 'a'); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) +>foo : Symbol(I3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 8)) foo(x: string); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) +>foo : Symbol(I3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 8)) foo(x: T); ->foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) +>foo : Symbol(I3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 51, 8)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13)) } diff --git a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.symbols b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.symbols index ea966cfda18..2aec70cdc98 100644 --- a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.symbols +++ b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.symbols @@ -3,12 +3,12 @@ interface A { >A : Symbol(A, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 0, 0)) f(p: string): { [p: string]: string; }; ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 0, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 43)) +>f : Symbol(A.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 0, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 21)) f(p: "spec"): { [p: string]: any; } // Should be ok ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 0, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 43)) +>f : Symbol(A.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 0, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 1, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 2, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 2, 21)) } @@ -16,12 +16,12 @@ interface B { >B : Symbol(B, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 3, 1)) f(p: string): { [p: number]: string; }; ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 4, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 43)) +>f : Symbol(B.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 4, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 21)) f(p: "spec"): { [p: string]: any; } // Should be ok ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 4, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 43)) +>f : Symbol(B.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 4, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 5, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 6, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 6, 21)) } @@ -29,12 +29,12 @@ interface C { >C : Symbol(C, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 7, 1)) f(p: string): { [p: number]: string; }; ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 8, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 43)) +>f : Symbol(C.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 8, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 21)) f(p: "spec"): { [p: number]: any; } // Should be ok ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 8, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 43)) +>f : Symbol(C.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 8, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 9, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 10, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 10, 21)) } @@ -42,12 +42,12 @@ interface D { >D : Symbol(D, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 11, 1)) f(p: string): { [p: string]: string; }; ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 12, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 43)) +>f : Symbol(D.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 12, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 21)) f(p: "spec"): { [p: number]: any; } // Should be error ->f : Symbol(f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 12, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 43)) +>f : Symbol(D.f, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 12, 13), Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 13, 43)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 14, 6)) >p : Symbol(p, Decl(specializedSignatureOverloadReturnTypeWithIndexers.ts, 14, 21)) } diff --git a/tests/baselines/reference/staticAndMemberFunctions.symbols b/tests/baselines/reference/staticAndMemberFunctions.symbols index 8df6cb52f3c..3c4e6380801 100644 --- a/tests/baselines/reference/staticAndMemberFunctions.symbols +++ b/tests/baselines/reference/staticAndMemberFunctions.symbols @@ -6,5 +6,5 @@ class T { >x : Symbol(T.x, Decl(staticAndMemberFunctions.ts, 0, 9)) public y() { } ->y : Symbol(y, Decl(staticAndMemberFunctions.ts, 1, 18)) +>y : Symbol(T.y, Decl(staticAndMemberFunctions.ts, 1, 18)) } diff --git a/tests/baselines/reference/staticAndNonStaticPropertiesSameName.symbols b/tests/baselines/reference/staticAndNonStaticPropertiesSameName.symbols index 99cc732465d..c0d6667087a 100644 --- a/tests/baselines/reference/staticAndNonStaticPropertiesSameName.symbols +++ b/tests/baselines/reference/staticAndNonStaticPropertiesSameName.symbols @@ -3,13 +3,13 @@ class C { >C : Symbol(C, Decl(staticAndNonStaticPropertiesSameName.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(staticAndNonStaticPropertiesSameName.ts, 0, 9)) +>x : Symbol(C.x, Decl(staticAndNonStaticPropertiesSameName.ts, 0, 9)) static x: number; >x : Symbol(C.x, Decl(staticAndNonStaticPropertiesSameName.ts, 1, 14)) f() { } ->f : Symbol(f, Decl(staticAndNonStaticPropertiesSameName.ts, 2, 21)) +>f : Symbol(C.f, Decl(staticAndNonStaticPropertiesSameName.ts, 2, 21)) static f() { } >f : Symbol(C.f, Decl(staticAndNonStaticPropertiesSameName.ts, 4, 11)) diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index 2d39eec74e6..a6aa91e3a56 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -118,7 +118,7 @@ interface Scanner { >Scanner : Symbol(Scanner, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 35, 1)) scanRange(start: number, length: number, callback: () => T): T; ->scanRange : Symbol(scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) +>scanRange : Symbol(Scanner.scanRange, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 36, 19)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 12)) >start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 15)) >length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 37, 29)) @@ -660,7 +660,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 16)) fill(value: any, start: number, end: number): void; ->fill : Symbol(fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) +>fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) >value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 6)) >start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 17)) >end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 139, 32)) diff --git a/tests/baselines/reference/staticFactory1.symbols b/tests/baselines/reference/staticFactory1.symbols index 1e3d1855813..d213ed20765 100644 --- a/tests/baselines/reference/staticFactory1.symbols +++ b/tests/baselines/reference/staticFactory1.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(staticFactory1.ts, 0, 0)) foo() { return 1; } ->foo : Symbol(foo, Decl(staticFactory1.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(staticFactory1.ts, 0, 12)) static create() { >create : Symbol(Base.create, Decl(staticFactory1.ts, 1, 23)) @@ -18,7 +18,7 @@ class Derived extends Base { >Base : Symbol(Base, Decl(staticFactory1.ts, 0, 0)) foo() { return 2; } ->foo : Symbol(foo, Decl(staticFactory1.ts, 7, 28)) +>foo : Symbol(Derived.foo, Decl(staticFactory1.ts, 7, 28)) } var d = Derived.create(); >d : Symbol(d, Decl(staticFactory1.ts, 10, 3)) diff --git a/tests/baselines/reference/staticInheritance.symbols b/tests/baselines/reference/staticInheritance.symbols index 5ef080f96ac..35656ee75e3 100644 --- a/tests/baselines/reference/staticInheritance.symbols +++ b/tests/baselines/reference/staticInheritance.symbols @@ -11,7 +11,7 @@ class A { >n : Symbol(A.n, Decl(staticInheritance.ts, 1, 9)) p = doThing(A); // OK ->p : Symbol(p, Decl(staticInheritance.ts, 2, 21)) +>p : Symbol(A.p, Decl(staticInheritance.ts, 2, 21)) >doThing : Symbol(doThing, Decl(staticInheritance.ts, 0, 0)) >A : Symbol(A, Decl(staticInheritance.ts, 0, 38)) } @@ -20,12 +20,12 @@ class B extends A { >A : Symbol(A, Decl(staticInheritance.ts, 0, 38)) p1 = doThing(A); // OK ->p1 : Symbol(p1, Decl(staticInheritance.ts, 5, 19)) +>p1 : Symbol(B.p1, Decl(staticInheritance.ts, 5, 19)) >doThing : Symbol(doThing, Decl(staticInheritance.ts, 0, 0)) >A : Symbol(A, Decl(staticInheritance.ts, 0, 38)) p2 = doThing(B); // OK ->p2 : Symbol(p2, Decl(staticInheritance.ts, 6, 20)) +>p2 : Symbol(B.p2, Decl(staticInheritance.ts, 6, 20)) >doThing : Symbol(doThing, Decl(staticInheritance.ts, 0, 0)) >B : Symbol(B, Decl(staticInheritance.ts, 4, 1)) } diff --git a/tests/baselines/reference/staticInstanceResolution.symbols b/tests/baselines/reference/staticInstanceResolution.symbols index 1b58989347d..c7a3f935b3d 100644 --- a/tests/baselines/reference/staticInstanceResolution.symbols +++ b/tests/baselines/reference/staticInstanceResolution.symbols @@ -3,7 +3,7 @@ class Comment { >Comment : Symbol(Comment, Decl(staticInstanceResolution.ts, 0, 0)) public getDocCommentText() ->getDocCommentText : Symbol(getDocCommentText, Decl(staticInstanceResolution.ts, 0, 15)) +>getDocCommentText : Symbol(Comment.getDocCommentText, Decl(staticInstanceResolution.ts, 0, 15)) { } diff --git a/tests/baselines/reference/staticInterfaceAssignmentCompat.symbols b/tests/baselines/reference/staticInterfaceAssignmentCompat.symbols index d1c87faad74..4872a0c62fe 100644 --- a/tests/baselines/reference/staticInterfaceAssignmentCompat.symbols +++ b/tests/baselines/reference/staticInterfaceAssignmentCompat.symbols @@ -15,7 +15,7 @@ interface ShapeFactory { >ShapeFactory : Symbol(ShapeFactory, Decl(staticInterfaceAssignmentCompat.ts, 4, 1)) create(): Shape; ->create : Symbol(create, Decl(staticInterfaceAssignmentCompat.ts, 6, 24)) +>create : Symbol(ShapeFactory.create, Decl(staticInterfaceAssignmentCompat.ts, 6, 24)) >Shape : Symbol(Shape, Decl(staticInterfaceAssignmentCompat.ts, 0, 0)) } diff --git a/tests/baselines/reference/staticMemberWithStringAndNumberNames.symbols b/tests/baselines/reference/staticMemberWithStringAndNumberNames.symbols index 1ce1a12dd80..906bd824909 100644 --- a/tests/baselines/reference/staticMemberWithStringAndNumberNames.symbols +++ b/tests/baselines/reference/staticMemberWithStringAndNumberNames.symbols @@ -6,17 +6,17 @@ class C { static 0 = 1; x = C['foo']; ->x : Symbol(x, Decl(staticMemberWithStringAndNumberNames.ts, 2, 17)) +>x : Symbol(C.x, Decl(staticMemberWithStringAndNumberNames.ts, 2, 17)) >C : Symbol(C, Decl(staticMemberWithStringAndNumberNames.ts, 0, 0)) >'foo' : Symbol(C."foo", Decl(staticMemberWithStringAndNumberNames.ts, 0, 9)) x2 = C['0']; ->x2 : Symbol(x2, Decl(staticMemberWithStringAndNumberNames.ts, 4, 17)) +>x2 : Symbol(C.x2, Decl(staticMemberWithStringAndNumberNames.ts, 4, 17)) >C : Symbol(C, Decl(staticMemberWithStringAndNumberNames.ts, 0, 0)) >'0' : Symbol(C.0, Decl(staticMemberWithStringAndNumberNames.ts, 1, 21)) x3 = C[0]; ->x3 : Symbol(x3, Decl(staticMemberWithStringAndNumberNames.ts, 5, 16)) +>x3 : Symbol(C.x3, Decl(staticMemberWithStringAndNumberNames.ts, 5, 16)) >C : Symbol(C, Decl(staticMemberWithStringAndNumberNames.ts, 0, 0)) >0 : Symbol(C.0, Decl(staticMemberWithStringAndNumberNames.ts, 1, 21)) diff --git a/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.symbols b/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.symbols index b3658ceadcf..84fa0464051 100644 --- a/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.symbols +++ b/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.symbols @@ -16,7 +16,7 @@ export class publicClassWithWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 0, 0)) } private myPrivateMethod1() { // do not emit extends clause ->myPrivateMethod1 : Symbol(myPrivateMethod1, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 8, 5)) +>myPrivateMethod1 : Symbol(publicClassWithWithPrivateTypeParameters.myPrivateMethod1, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 8, 5)) >T : Symbol(T, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 9, 29)) >privateClass : Symbol(privateClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 0, 0)) } @@ -26,7 +26,7 @@ export class publicClassWithWithPrivateTypeParameters { >publicClass : Symbol(publicClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 1, 1)) } private myPrivateMethod2() { // do not emit extends clause ->myPrivateMethod2 : Symbol(myPrivateMethod2, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 12, 5)) +>myPrivateMethod2 : Symbol(publicClassWithWithPrivateTypeParameters.myPrivateMethod2, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 12, 5)) >T : Symbol(T, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 13, 29)) >publicClass : Symbol(publicClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 1, 1)) } @@ -36,7 +36,7 @@ export class publicClassWithWithPrivateTypeParameters { >publicClass : Symbol(publicClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 1, 1)) } public myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 16, 5)) +>myPublicMethod : Symbol(publicClassWithWithPrivateTypeParameters.myPublicMethod, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 16, 5)) >T : Symbol(T, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 17, 26)) >publicClass : Symbol(publicClass, Decl(staticMethodWithTypeParameterExtendsClauseDeclFile.ts, 1, 1)) } diff --git a/tests/baselines/reference/staticPropertyAndFunctionWithSameName.symbols b/tests/baselines/reference/staticPropertyAndFunctionWithSameName.symbols index 02d7b5690e2..bde100cec76 100644 --- a/tests/baselines/reference/staticPropertyAndFunctionWithSameName.symbols +++ b/tests/baselines/reference/staticPropertyAndFunctionWithSameName.symbols @@ -6,7 +6,7 @@ class C { >f : Symbol(C.f, Decl(staticPropertyAndFunctionWithSameName.ts, 0, 9)) f: number; ->f : Symbol(f, Decl(staticPropertyAndFunctionWithSameName.ts, 1, 21)) +>f : Symbol(C.f, Decl(staticPropertyAndFunctionWithSameName.ts, 1, 21)) } class D { @@ -16,5 +16,5 @@ class D { >f : Symbol(D.f, Decl(staticPropertyAndFunctionWithSameName.ts, 5, 9)) f() { } ->f : Symbol(f, Decl(staticPropertyAndFunctionWithSameName.ts, 6, 21)) +>f : Symbol(D.f, Decl(staticPropertyAndFunctionWithSameName.ts, 6, 21)) } diff --git a/tests/baselines/reference/strictModeUseContextualKeyword.symbols b/tests/baselines/reference/strictModeUseContextualKeyword.symbols index a0a3182b9c6..a27477bfa99 100644 --- a/tests/baselines/reference/strictModeUseContextualKeyword.symbols +++ b/tests/baselines/reference/strictModeUseContextualKeyword.symbols @@ -11,7 +11,7 @@ class C { >C : Symbol(C, Decl(strictModeUseContextualKeyword.ts, 2, 28)) public as() { } ->as : Symbol(as, Decl(strictModeUseContextualKeyword.ts, 3, 9)) +>as : Symbol(C.as, Decl(strictModeUseContextualKeyword.ts, 3, 9)) } function F() { >F : Symbol(F, Decl(strictModeUseContextualKeyword.ts, 5, 1)) diff --git a/tests/baselines/reference/stringIndexingResults.symbols b/tests/baselines/reference/stringIndexingResults.symbols index 4890b44bce6..34771ab49ab 100644 --- a/tests/baselines/reference/stringIndexingResults.symbols +++ b/tests/baselines/reference/stringIndexingResults.symbols @@ -6,7 +6,7 @@ class C { >x : Symbol(x, Decl(stringIndexingResults.ts, 1, 5)) y = ''; ->y : Symbol(y, Decl(stringIndexingResults.ts, 1, 24)) +>y : Symbol(C.y, Decl(stringIndexingResults.ts, 1, 24)) } var c: C; @@ -33,7 +33,7 @@ interface I { >x : Symbol(x, Decl(stringIndexingResults.ts, 11, 5)) y: string; ->y : Symbol(y, Decl(stringIndexingResults.ts, 11, 24)) +>y : Symbol(I.y, Decl(stringIndexingResults.ts, 11, 24)) } var i: I diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols index 1a49a6a6c47..2df032770c6 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols @@ -120,87 +120,87 @@ class C implements String { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) toString(): string { return null; } ->toString : Symbol(toString, Decl(stringLiteralTypeIsSubtypeOfString.ts, 41, 27)) +>toString : Symbol(C.toString, Decl(stringLiteralTypeIsSubtypeOfString.ts, 41, 27)) charAt(pos: number): string { return null; } ->charAt : Symbol(charAt, Decl(stringLiteralTypeIsSubtypeOfString.ts, 42, 39)) +>charAt : Symbol(C.charAt, Decl(stringLiteralTypeIsSubtypeOfString.ts, 42, 39)) >pos : Symbol(pos, Decl(stringLiteralTypeIsSubtypeOfString.ts, 43, 11)) charCodeAt(index: number): number { return null; } ->charCodeAt : Symbol(charCodeAt, Decl(stringLiteralTypeIsSubtypeOfString.ts, 43, 48)) +>charCodeAt : Symbol(C.charCodeAt, Decl(stringLiteralTypeIsSubtypeOfString.ts, 43, 48)) >index : Symbol(index, Decl(stringLiteralTypeIsSubtypeOfString.ts, 44, 15)) concat(...strings: string[]): string { return null; } ->concat : Symbol(concat, Decl(stringLiteralTypeIsSubtypeOfString.ts, 44, 54)) +>concat : Symbol(C.concat, Decl(stringLiteralTypeIsSubtypeOfString.ts, 44, 54)) >strings : Symbol(strings, Decl(stringLiteralTypeIsSubtypeOfString.ts, 45, 11)) indexOf(searchString: string, position?: number): number { return null; } ->indexOf : Symbol(indexOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 45, 57)) +>indexOf : Symbol(C.indexOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 45, 57)) >searchString : Symbol(searchString, Decl(stringLiteralTypeIsSubtypeOfString.ts, 46, 12)) >position : Symbol(position, Decl(stringLiteralTypeIsSubtypeOfString.ts, 46, 33)) lastIndexOf(searchString: string, position?: number): number { return null; } ->lastIndexOf : Symbol(lastIndexOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 46, 77)) +>lastIndexOf : Symbol(C.lastIndexOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 46, 77)) >searchString : Symbol(searchString, Decl(stringLiteralTypeIsSubtypeOfString.ts, 47, 16)) >position : Symbol(position, Decl(stringLiteralTypeIsSubtypeOfString.ts, 47, 37)) localeCompare(that: string): number { return null; } ->localeCompare : Symbol(localeCompare, Decl(stringLiteralTypeIsSubtypeOfString.ts, 47, 81)) +>localeCompare : Symbol(C.localeCompare, Decl(stringLiteralTypeIsSubtypeOfString.ts, 47, 81)) >that : Symbol(that, Decl(stringLiteralTypeIsSubtypeOfString.ts, 48, 18)) match(regexp: any): string[] { return null; } ->match : Symbol(match, Decl(stringLiteralTypeIsSubtypeOfString.ts, 48, 56)) +>match : Symbol(C.match, Decl(stringLiteralTypeIsSubtypeOfString.ts, 48, 56)) >regexp : Symbol(regexp, Decl(stringLiteralTypeIsSubtypeOfString.ts, 49, 10)) replace(searchValue: any, replaceValue: any): string { return null; } ->replace : Symbol(replace, Decl(stringLiteralTypeIsSubtypeOfString.ts, 49, 49)) +>replace : Symbol(C.replace, Decl(stringLiteralTypeIsSubtypeOfString.ts, 49, 49)) >searchValue : Symbol(searchValue, Decl(stringLiteralTypeIsSubtypeOfString.ts, 50, 12)) >replaceValue : Symbol(replaceValue, Decl(stringLiteralTypeIsSubtypeOfString.ts, 50, 29)) search(regexp: any): number { return null; } ->search : Symbol(search, Decl(stringLiteralTypeIsSubtypeOfString.ts, 50, 73)) +>search : Symbol(C.search, Decl(stringLiteralTypeIsSubtypeOfString.ts, 50, 73)) >regexp : Symbol(regexp, Decl(stringLiteralTypeIsSubtypeOfString.ts, 51, 11)) slice(start?: number, end?: number): string { return null; } ->slice : Symbol(slice, Decl(stringLiteralTypeIsSubtypeOfString.ts, 51, 48)) +>slice : Symbol(C.slice, Decl(stringLiteralTypeIsSubtypeOfString.ts, 51, 48)) >start : Symbol(start, Decl(stringLiteralTypeIsSubtypeOfString.ts, 52, 10)) >end : Symbol(end, Decl(stringLiteralTypeIsSubtypeOfString.ts, 52, 25)) split(separator: any, limit?: number): string[] { return null; } ->split : Symbol(split, Decl(stringLiteralTypeIsSubtypeOfString.ts, 52, 64)) +>split : Symbol(C.split, Decl(stringLiteralTypeIsSubtypeOfString.ts, 52, 64)) >separator : Symbol(separator, Decl(stringLiteralTypeIsSubtypeOfString.ts, 53, 10)) >limit : Symbol(limit, Decl(stringLiteralTypeIsSubtypeOfString.ts, 53, 25)) substring(start: number, end?: number): string { return null; } ->substring : Symbol(substring, Decl(stringLiteralTypeIsSubtypeOfString.ts, 53, 68)) +>substring : Symbol(C.substring, Decl(stringLiteralTypeIsSubtypeOfString.ts, 53, 68)) >start : Symbol(start, Decl(stringLiteralTypeIsSubtypeOfString.ts, 54, 14)) >end : Symbol(end, Decl(stringLiteralTypeIsSubtypeOfString.ts, 54, 28)) toLowerCase(): string { return null; } ->toLowerCase : Symbol(toLowerCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 54, 67)) +>toLowerCase : Symbol(C.toLowerCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 54, 67)) toLocaleLowerCase(): string { return null; } ->toLocaleLowerCase : Symbol(toLocaleLowerCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 55, 42)) +>toLocaleLowerCase : Symbol(C.toLocaleLowerCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 55, 42)) toUpperCase(): string { return null; } ->toUpperCase : Symbol(toUpperCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 56, 48)) +>toUpperCase : Symbol(C.toUpperCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 56, 48)) toLocaleUpperCase(): string { return null; } ->toLocaleUpperCase : Symbol(toLocaleUpperCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 57, 42)) +>toLocaleUpperCase : Symbol(C.toLocaleUpperCase, Decl(stringLiteralTypeIsSubtypeOfString.ts, 57, 42)) trim(): string { return null; } ->trim : Symbol(trim, Decl(stringLiteralTypeIsSubtypeOfString.ts, 58, 48)) +>trim : Symbol(C.trim, Decl(stringLiteralTypeIsSubtypeOfString.ts, 58, 48)) length: number; ->length : Symbol(length, Decl(stringLiteralTypeIsSubtypeOfString.ts, 59, 35)) +>length : Symbol(C.length, Decl(stringLiteralTypeIsSubtypeOfString.ts, 59, 35)) substr(from: number, length?: number): string { return null; } ->substr : Symbol(substr, Decl(stringLiteralTypeIsSubtypeOfString.ts, 60, 19)) +>substr : Symbol(C.substr, Decl(stringLiteralTypeIsSubtypeOfString.ts, 60, 19)) >from : Symbol(from, Decl(stringLiteralTypeIsSubtypeOfString.ts, 61, 11)) >length : Symbol(length, Decl(stringLiteralTypeIsSubtypeOfString.ts, 61, 24)) valueOf(): string { return null; } ->valueOf : Symbol(valueOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 61, 66)) +>valueOf : Symbol(C.valueOf, Decl(stringLiteralTypeIsSubtypeOfString.ts, 61, 66)) [index: number]: string; >index : Symbol(index, Decl(stringLiteralTypeIsSubtypeOfString.ts, 63, 5)) @@ -225,7 +225,7 @@ interface I extends String { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: string; ->foo : Symbol(foo, Decl(stringLiteralTypeIsSubtypeOfString.ts, 71, 28)) +>foo : Symbol(I.foo, Decl(stringLiteralTypeIsSubtypeOfString.ts, 71, 28)) } // BUG 831846 diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.symbols b/tests/baselines/reference/stringLiteralTypesAsTags01.symbols index afdeeff71a6..f092e1f7a50 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags01.symbols +++ b/tests/baselines/reference/stringLiteralTypesAsTags01.symbols @@ -7,7 +7,7 @@ interface Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags01.ts, 1, 21)) kind: Kind; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags01.ts, 3, 18)) +>kind : Symbol(Entity.kind, Decl(stringLiteralTypesAsTags01.ts, 3, 18)) >Kind : Symbol(Kind, Decl(stringLiteralTypesAsTags01.ts, 0, 0)) } @@ -16,10 +16,10 @@ interface A extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags01.ts, 1, 21)) kind: "A"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags01.ts, 7, 28)) +>kind : Symbol(A.kind, Decl(stringLiteralTypesAsTags01.ts, 7, 28)) a: number; ->a : Symbol(a, Decl(stringLiteralTypesAsTags01.ts, 8, 14)) +>a : Symbol(A.a, Decl(stringLiteralTypesAsTags01.ts, 8, 14)) } interface B extends Entity { @@ -27,10 +27,10 @@ interface B extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags01.ts, 1, 21)) kind: "B"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags01.ts, 12, 28)) +>kind : Symbol(B.kind, Decl(stringLiteralTypesAsTags01.ts, 12, 28)) b: string; ->b : Symbol(b, Decl(stringLiteralTypesAsTags01.ts, 13, 14)) +>b : Symbol(B.b, Decl(stringLiteralTypesAsTags01.ts, 13, 14)) } function hasKind(entity: Entity, kind: "A"): entity is A; diff --git a/tests/baselines/reference/stringLiteralTypesAsTags02.symbols b/tests/baselines/reference/stringLiteralTypesAsTags02.symbols index 61d50230993..1cf73015ea7 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags02.symbols +++ b/tests/baselines/reference/stringLiteralTypesAsTags02.symbols @@ -7,7 +7,7 @@ interface Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags02.ts, 1, 21)) kind: Kind; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags02.ts, 3, 18)) +>kind : Symbol(Entity.kind, Decl(stringLiteralTypesAsTags02.ts, 3, 18)) >Kind : Symbol(Kind, Decl(stringLiteralTypesAsTags02.ts, 0, 0)) } @@ -16,10 +16,10 @@ interface A extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags02.ts, 1, 21)) kind: "A"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags02.ts, 7, 28)) +>kind : Symbol(A.kind, Decl(stringLiteralTypesAsTags02.ts, 7, 28)) a: number; ->a : Symbol(a, Decl(stringLiteralTypesAsTags02.ts, 8, 14)) +>a : Symbol(A.a, Decl(stringLiteralTypesAsTags02.ts, 8, 14)) } interface B extends Entity { @@ -27,10 +27,10 @@ interface B extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags02.ts, 1, 21)) kind: "B"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags02.ts, 12, 28)) +>kind : Symbol(B.kind, Decl(stringLiteralTypesAsTags02.ts, 12, 28)) b: string; ->b : Symbol(b, Decl(stringLiteralTypesAsTags02.ts, 13, 14)) +>b : Symbol(B.b, Decl(stringLiteralTypesAsTags02.ts, 13, 14)) } function hasKind(entity: Entity, kind: "A"): entity is A; diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.symbols b/tests/baselines/reference/stringLiteralTypesAsTags03.symbols index 3694daf8e00..6f7e522d55b 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags03.symbols +++ b/tests/baselines/reference/stringLiteralTypesAsTags03.symbols @@ -7,7 +7,7 @@ interface Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags03.ts, 1, 21)) kind: Kind; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags03.ts, 3, 18)) +>kind : Symbol(Entity.kind, Decl(stringLiteralTypesAsTags03.ts, 3, 18)) >Kind : Symbol(Kind, Decl(stringLiteralTypesAsTags03.ts, 0, 0)) } @@ -16,10 +16,10 @@ interface A extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags03.ts, 1, 21)) kind: "A"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags03.ts, 7, 28)) +>kind : Symbol(A.kind, Decl(stringLiteralTypesAsTags03.ts, 7, 28)) a: number; ->a : Symbol(a, Decl(stringLiteralTypesAsTags03.ts, 8, 14)) +>a : Symbol(A.a, Decl(stringLiteralTypesAsTags03.ts, 8, 14)) } interface B extends Entity { @@ -27,10 +27,10 @@ interface B extends Entity { >Entity : Symbol(Entity, Decl(stringLiteralTypesAsTags03.ts, 1, 21)) kind: "B"; ->kind : Symbol(kind, Decl(stringLiteralTypesAsTags03.ts, 12, 28)) +>kind : Symbol(B.kind, Decl(stringLiteralTypesAsTags03.ts, 12, 28)) b: string; ->b : Symbol(b, Decl(stringLiteralTypesAsTags03.ts, 13, 14)) +>b : Symbol(B.b, Decl(stringLiteralTypesAsTags03.ts, 13, 14)) } // Currently (2015-12-14), we write '"A" | "A"' and '"B" | "B"' to avoid diff --git a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.symbols b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.symbols index 6f764b5c271..769ba4715f8 100644 --- a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.symbols +++ b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.symbols @@ -19,7 +19,7 @@ class C { >C : Symbol(C, Decl(stringLiteralTypesInImplementationSignatures.ts, 4, 34)) foo(x: 'hi') { } ->foo : Symbol(foo, Decl(stringLiteralTypesInImplementationSignatures.ts, 6, 9)) +>foo : Symbol(C.foo, Decl(stringLiteralTypesInImplementationSignatures.ts, 6, 9)) >x : Symbol(x, Decl(stringLiteralTypesInImplementationSignatures.ts, 7, 8)) } @@ -30,7 +30,7 @@ interface I { >x : Symbol(x, Decl(stringLiteralTypesInImplementationSignatures.ts, 11, 5)) foo(x: 'hi', y: 'hi'); ->foo : Symbol(foo, Decl(stringLiteralTypesInImplementationSignatures.ts, 11, 14)) +>foo : Symbol(I.foo, Decl(stringLiteralTypesInImplementationSignatures.ts, 11, 14)) >x : Symbol(x, Decl(stringLiteralTypesInImplementationSignatures.ts, 12, 8)) >y : Symbol(y, Decl(stringLiteralTypesInImplementationSignatures.ts, 12, 16)) } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads03.symbols b/tests/baselines/reference/stringLiteralTypesOverloads03.symbols index a0a48de790f..277cc7e84e3 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads03.symbols +++ b/tests/baselines/reference/stringLiteralTypesOverloads03.symbols @@ -4,10 +4,10 @@ interface Base { >Base : Symbol(Base, Decl(stringLiteralTypesOverloads03.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(stringLiteralTypesOverloads03.ts, 1, 16)) +>x : Symbol(Base.x, Decl(stringLiteralTypesOverloads03.ts, 1, 16)) y: number; ->y : Symbol(y, Decl(stringLiteralTypesOverloads03.ts, 2, 14)) +>y : Symbol(Base.y, Decl(stringLiteralTypesOverloads03.ts, 2, 14)) } interface HelloOrWorld extends Base { @@ -15,7 +15,7 @@ interface HelloOrWorld extends Base { >Base : Symbol(Base, Decl(stringLiteralTypesOverloads03.ts, 0, 0)) p1: boolean; ->p1 : Symbol(p1, Decl(stringLiteralTypesOverloads03.ts, 6, 37)) +>p1 : Symbol(HelloOrWorld.p1, Decl(stringLiteralTypesOverloads03.ts, 6, 37)) } interface JustHello extends Base { @@ -23,7 +23,7 @@ interface JustHello extends Base { >Base : Symbol(Base, Decl(stringLiteralTypesOverloads03.ts, 0, 0)) p2: boolean; ->p2 : Symbol(p2, Decl(stringLiteralTypesOverloads03.ts, 10, 34)) +>p2 : Symbol(JustHello.p2, Decl(stringLiteralTypesOverloads03.ts, 10, 34)) } interface JustWorld extends Base { @@ -31,7 +31,7 @@ interface JustWorld extends Base { >Base : Symbol(Base, Decl(stringLiteralTypesOverloads03.ts, 0, 0)) p3: boolean; ->p3 : Symbol(p3, Decl(stringLiteralTypesOverloads03.ts, 14, 34)) +>p3 : Symbol(JustWorld.p3, Decl(stringLiteralTypesOverloads03.ts, 14, 34)) } let hello: "hello"; diff --git a/tests/baselines/reference/stripInternal1.symbols b/tests/baselines/reference/stripInternal1.symbols index 2a71c1d9dbd..dd53f671bc9 100644 --- a/tests/baselines/reference/stripInternal1.symbols +++ b/tests/baselines/reference/stripInternal1.symbols @@ -4,9 +4,9 @@ class C { >C : Symbol(C, Decl(stripInternal1.ts, 0, 0)) foo(): void { } ->foo : Symbol(foo, Decl(stripInternal1.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(stripInternal1.ts, 1, 9)) // @internal bar(): void { } ->bar : Symbol(bar, Decl(stripInternal1.ts, 2, 17)) +>bar : Symbol(C.bar, Decl(stripInternal1.ts, 2, 17)) } diff --git a/tests/baselines/reference/structural1.symbols b/tests/baselines/reference/structural1.symbols index 78330978cd4..c04668c992d 100644 --- a/tests/baselines/reference/structural1.symbols +++ b/tests/baselines/reference/structural1.symbols @@ -6,10 +6,10 @@ module M { >I : Symbol(I, Decl(structural1.ts, 0, 10)) salt:number; ->salt : Symbol(salt, Decl(structural1.ts, 1, 24)) +>salt : Symbol(I.salt, Decl(structural1.ts, 1, 24)) pepper:number; ->pepper : Symbol(pepper, Decl(structural1.ts, 2, 20)) +>pepper : Symbol(I.pepper, Decl(structural1.ts, 2, 20)) } export function f(i:I) { diff --git a/tests/baselines/reference/subtypesOfAny.symbols b/tests/baselines/reference/subtypesOfAny.symbols index 85f5186f705..7d360530959 100644 --- a/tests/baselines/reference/subtypesOfAny.symbols +++ b/tests/baselines/reference/subtypesOfAny.symbols @@ -8,7 +8,7 @@ interface I { >x : Symbol(x, Decl(subtypesOfAny.ts, 3, 5)) foo: any; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 3, 21)) +>foo : Symbol(I.foo, Decl(subtypesOfAny.ts, 3, 21)) } @@ -19,7 +19,7 @@ interface I2 { >x : Symbol(x, Decl(subtypesOfAny.ts, 9, 5)) foo: number; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 9, 21)) +>foo : Symbol(I2.foo, Decl(subtypesOfAny.ts, 9, 21)) } @@ -30,7 +30,7 @@ interface I3 { >x : Symbol(x, Decl(subtypesOfAny.ts, 15, 5)) foo: string; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 15, 21)) +>foo : Symbol(I3.foo, Decl(subtypesOfAny.ts, 15, 21)) } @@ -41,7 +41,7 @@ interface I4 { >x : Symbol(x, Decl(subtypesOfAny.ts, 21, 5)) foo: boolean; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 21, 21)) +>foo : Symbol(I4.foo, Decl(subtypesOfAny.ts, 21, 21)) } @@ -52,7 +52,7 @@ interface I5 { >x : Symbol(x, Decl(subtypesOfAny.ts, 27, 5)) foo: Date; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 27, 21)) +>foo : Symbol(I5.foo, Decl(subtypesOfAny.ts, 27, 21)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -64,7 +64,7 @@ interface I6 { >x : Symbol(x, Decl(subtypesOfAny.ts, 33, 5)) foo: RegExp; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 33, 21)) +>foo : Symbol(I6.foo, Decl(subtypesOfAny.ts, 33, 21)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -76,7 +76,7 @@ interface I7 { >x : Symbol(x, Decl(subtypesOfAny.ts, 39, 5)) foo: { bar: number }; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 39, 21)) +>foo : Symbol(I7.foo, Decl(subtypesOfAny.ts, 39, 21)) >bar : Symbol(bar, Decl(subtypesOfAny.ts, 40, 10)) } @@ -88,7 +88,7 @@ interface I8 { >x : Symbol(x, Decl(subtypesOfAny.ts, 45, 5)) foo: number[]; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 45, 21)) +>foo : Symbol(I8.foo, Decl(subtypesOfAny.ts, 45, 21)) } @@ -99,13 +99,13 @@ interface I9 { >x : Symbol(x, Decl(subtypesOfAny.ts, 51, 5)) foo: I8; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 51, 21)) +>foo : Symbol(I9.foo, Decl(subtypesOfAny.ts, 51, 21)) >I8 : Symbol(I8, Decl(subtypesOfAny.ts, 41, 1)) } class A { foo: number; } >A : Symbol(A, Decl(subtypesOfAny.ts, 53, 1)) ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 55, 9)) +>foo : Symbol(A.foo, Decl(subtypesOfAny.ts, 55, 9)) interface I10 { >I10 : Symbol(I10, Decl(subtypesOfAny.ts, 55, 24)) @@ -114,14 +114,14 @@ interface I10 { >x : Symbol(x, Decl(subtypesOfAny.ts, 57, 5)) foo: A; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 57, 21)) +>foo : Symbol(I10.foo, Decl(subtypesOfAny.ts, 57, 21)) >A : Symbol(A, Decl(subtypesOfAny.ts, 53, 1)) } class A2 { foo: T; } >A2 : Symbol(A2, Decl(subtypesOfAny.ts, 59, 1)) >T : Symbol(T, Decl(subtypesOfAny.ts, 61, 9)) ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 61, 13)) +>foo : Symbol(A2.foo, Decl(subtypesOfAny.ts, 61, 13)) >T : Symbol(T, Decl(subtypesOfAny.ts, 61, 9)) interface I11 { @@ -131,7 +131,7 @@ interface I11 { >x : Symbol(x, Decl(subtypesOfAny.ts, 63, 5)) foo: A2; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 63, 21)) +>foo : Symbol(I11.foo, Decl(subtypesOfAny.ts, 63, 21)) >A2 : Symbol(A2, Decl(subtypesOfAny.ts, 59, 1)) } @@ -143,7 +143,7 @@ interface I12 { >x : Symbol(x, Decl(subtypesOfAny.ts, 69, 5)) foo: (x) => number; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 69, 21)) +>foo : Symbol(I12.foo, Decl(subtypesOfAny.ts, 69, 21)) >x : Symbol(x, Decl(subtypesOfAny.ts, 70, 10)) } @@ -155,7 +155,7 @@ interface I13 { >x : Symbol(x, Decl(subtypesOfAny.ts, 75, 5)) foo: (x:T) => T; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 75, 21)) +>foo : Symbol(I13.foo, Decl(subtypesOfAny.ts, 75, 21)) >T : Symbol(T, Decl(subtypesOfAny.ts, 76, 10)) >x : Symbol(x, Decl(subtypesOfAny.ts, 76, 13)) >T : Symbol(T, Decl(subtypesOfAny.ts, 76, 10)) @@ -174,7 +174,7 @@ interface I14 { >x : Symbol(x, Decl(subtypesOfAny.ts, 82, 5)) foo: E; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 82, 21)) +>foo : Symbol(I14.foo, Decl(subtypesOfAny.ts, 82, 21)) >E : Symbol(E, Decl(subtypesOfAny.ts, 77, 1)) } @@ -195,14 +195,14 @@ interface I15 { >x : Symbol(x, Decl(subtypesOfAny.ts, 92, 5)) foo: typeof f; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 92, 21)) +>foo : Symbol(I15.foo, Decl(subtypesOfAny.ts, 92, 21)) >f : Symbol(f, Decl(subtypesOfAny.ts, 84, 1), Decl(subtypesOfAny.ts, 87, 16)) } class c { baz: string } >c : Symbol(c, Decl(subtypesOfAny.ts, 94, 1), Decl(subtypesOfAny.ts, 97, 23)) ->baz : Symbol(baz, Decl(subtypesOfAny.ts, 97, 9)) +>baz : Symbol(c.baz, Decl(subtypesOfAny.ts, 97, 9)) module c { >c : Symbol(c, Decl(subtypesOfAny.ts, 94, 1), Decl(subtypesOfAny.ts, 97, 23)) @@ -217,7 +217,7 @@ interface I16 { >x : Symbol(x, Decl(subtypesOfAny.ts, 102, 5)) foo: typeof c; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 102, 21)) +>foo : Symbol(I16.foo, Decl(subtypesOfAny.ts, 102, 21)) >c : Symbol(c, Decl(subtypesOfAny.ts, 94, 1), Decl(subtypesOfAny.ts, 97, 23)) } @@ -230,7 +230,7 @@ interface I17 { >x : Symbol(x, Decl(subtypesOfAny.ts, 108, 5)) foo: T; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 108, 21)) +>foo : Symbol(I17.foo, Decl(subtypesOfAny.ts, 108, 21)) >T : Symbol(T, Decl(subtypesOfAny.ts, 107, 14)) } @@ -244,7 +244,7 @@ interface I18 { >x : Symbol(x, Decl(subtypesOfAny.ts, 114, 5)) foo: U; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 114, 21)) +>foo : Symbol(I18.foo, Decl(subtypesOfAny.ts, 114, 21)) >U : Symbol(U, Decl(subtypesOfAny.ts, 113, 16)) } //interface I18 { @@ -260,7 +260,7 @@ interface I19 { >x : Symbol(x, Decl(subtypesOfAny.ts, 124, 5)) foo: Object; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 124, 21)) +>foo : Symbol(I19.foo, Decl(subtypesOfAny.ts, 124, 21)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -272,5 +272,5 @@ interface I20 { >x : Symbol(x, Decl(subtypesOfAny.ts, 130, 5)) foo: {}; ->foo : Symbol(foo, Decl(subtypesOfAny.ts, 130, 21)) +>foo : Symbol(I20.foo, Decl(subtypesOfAny.ts, 130, 21)) } diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols index 05276362cbe..07c4641dd2c 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols @@ -118,16 +118,16 @@ function f3(x: T, y: U) { interface I1 { foo: number; } >I1 : Symbol(I1, Decl(subtypesOfTypeParameterWithConstraints2.ts, 33, 1)) ->foo : Symbol(foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 36, 14)) +>foo : Symbol(I1.foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 36, 14)) class C1 { foo: number; } >C1 : Symbol(C1, Decl(subtypesOfTypeParameterWithConstraints2.ts, 36, 29)) ->foo : Symbol(foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 37, 10)) +>foo : Symbol(C1.foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 37, 10)) class C2 { foo: T; } >C2 : Symbol(C2, Decl(subtypesOfTypeParameterWithConstraints2.ts, 37, 25)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 38, 9)) ->foo : Symbol(foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 38, 13)) +>foo : Symbol(C2.foo, Decl(subtypesOfTypeParameterWithConstraints2.ts, 38, 13)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 38, 9)) enum E { A } @@ -145,7 +145,7 @@ module f { } class c { baz: string } >c : Symbol(c, Decl(subtypesOfTypeParameterWithConstraints2.ts, 43, 1), Decl(subtypesOfTypeParameterWithConstraints2.ts, 44, 23)) ->baz : Symbol(baz, Decl(subtypesOfTypeParameterWithConstraints2.ts, 44, 9)) +>baz : Symbol(c.baz, Decl(subtypesOfTypeParameterWithConstraints2.ts, 44, 9)) module c { >c : Symbol(c, Decl(subtypesOfTypeParameterWithConstraints2.ts, 43, 1), Decl(subtypesOfTypeParameterWithConstraints2.ts, 44, 23)) diff --git a/tests/baselines/reference/subtypingTransitivity.symbols b/tests/baselines/reference/subtypingTransitivity.symbols index 7a1ee279bb3..2a2f10af524 100644 --- a/tests/baselines/reference/subtypingTransitivity.symbols +++ b/tests/baselines/reference/subtypingTransitivity.symbols @@ -3,7 +3,7 @@ class B { >B : Symbol(B, Decl(subtypingTransitivity.ts, 0, 0)) x: Object; ->x : Symbol(x, Decl(subtypingTransitivity.ts, 0, 9)) +>x : Symbol(B.x, Decl(subtypingTransitivity.ts, 0, 9)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -12,14 +12,14 @@ class D extends B { >B : Symbol(B, Decl(subtypingTransitivity.ts, 0, 0)) public x: string; ->x : Symbol(x, Decl(subtypingTransitivity.ts, 4, 19)) +>x : Symbol(D.x, Decl(subtypingTransitivity.ts, 4, 19)) } class D2 extends B { >D2 : Symbol(D2, Decl(subtypingTransitivity.ts, 6, 1)) >B : Symbol(B, Decl(subtypingTransitivity.ts, 0, 0)) public x: number; ->x : Symbol(x, Decl(subtypingTransitivity.ts, 7, 20)) +>x : Symbol(D2.x, Decl(subtypingTransitivity.ts, 7, 20)) } var b: B; diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.symbols b/tests/baselines/reference/subtypingWithCallSignatures2.symbols index 02f08016b31..2b974d215cc 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.symbols +++ b/tests/baselines/reference/subtypingWithCallSignatures2.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithCallSignatures2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithCallSignatures2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithCallSignatures2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithCallSignatures2.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures2.ts, 3, 43)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) ->baz : Symbol(baz, Decl(subtypingWithCallSignatures2.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithCallSignatures2.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithCallSignatures2.ts, 4, 47)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithCallSignatures2.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithCallSignatures2.ts, 5, 33)) declare function foo1(a: (x: number) => number[]): typeof a; >foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures2.ts, 5, 49), Decl(subtypingWithCallSignatures2.ts, 7, 60)) diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.symbols b/tests/baselines/reference/subtypingWithCallSignatures3.symbols index 37e1c0423c4..5b41bc78e38 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.symbols +++ b/tests/baselines/reference/subtypingWithCallSignatures3.symbols @@ -7,22 +7,22 @@ module Errors { class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) ->foo : Symbol(foo, Decl(subtypingWithCallSignatures3.ts, 4, 16)) +>foo : Symbol(Base.foo, Decl(subtypingWithCallSignatures3.ts, 4, 16)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures3.ts, 4, 31)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) ->bar : Symbol(bar, Decl(subtypingWithCallSignatures3.ts, 5, 32)) +>bar : Symbol(Derived.bar, Decl(subtypingWithCallSignatures3.ts, 5, 32)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures3.ts, 5, 47)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures3.ts, 4, 31)) ->baz : Symbol(baz, Decl(subtypingWithCallSignatures3.ts, 6, 36)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithCallSignatures3.ts, 6, 36)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithCallSignatures3.ts, 6, 51)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) ->bing : Symbol(bing, Decl(subtypingWithCallSignatures3.ts, 7, 37)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithCallSignatures3.ts, 7, 37)) declare function foo2(a2: (x: number) => string[]): typeof a2; >foo2 : Symbol(foo2, Decl(subtypingWithCallSignatures3.ts, 7, 53), Decl(subtypingWithCallSignatures3.ts, 9, 66)) diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.symbols b/tests/baselines/reference/subtypingWithCallSignatures4.symbols index 382abb58a0d..d5cb92bace8 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.symbols +++ b/tests/baselines/reference/subtypingWithCallSignatures4.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithCallSignatures4.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithCallSignatures4.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithCallSignatures4.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures4.ts, 2, 27)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures4.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithCallSignatures4.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithCallSignatures4.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures4.ts, 3, 43)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures4.ts, 2, 27)) ->baz : Symbol(baz, Decl(subtypingWithCallSignatures4.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithCallSignatures4.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithCallSignatures4.ts, 4, 47)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures4.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithCallSignatures4.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithCallSignatures4.ts, 5, 33)) declare function foo1(a: (x: T) => T[]); >foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures4.ts, 5, 49), Decl(subtypingWithCallSignatures4.ts, 7, 43)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.symbols b/tests/baselines/reference/subtypingWithConstructSignatures2.symbols index 2173aaa1392..45e8409f145 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithConstructSignatures2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithConstructSignatures2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithConstructSignatures2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithConstructSignatures2.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures2.ts, 3, 43)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) ->baz : Symbol(baz, Decl(subtypingWithConstructSignatures2.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithConstructSignatures2.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithConstructSignatures2.ts, 4, 47)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithConstructSignatures2.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithConstructSignatures2.ts, 5, 33)) declare function foo1(a: new (x: number) => number[]): typeof a; >foo1 : Symbol(foo1, Decl(subtypingWithConstructSignatures2.ts, 5, 49), Decl(subtypingWithConstructSignatures2.ts, 7, 64)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.symbols b/tests/baselines/reference/subtypingWithConstructSignatures3.symbols index 3adce566f95..b161a0f92c2 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.symbols @@ -7,22 +7,22 @@ module Errors { class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) ->foo : Symbol(foo, Decl(subtypingWithConstructSignatures3.ts, 4, 16)) +>foo : Symbol(Base.foo, Decl(subtypingWithConstructSignatures3.ts, 4, 16)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures3.ts, 4, 31)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) ->bar : Symbol(bar, Decl(subtypingWithConstructSignatures3.ts, 5, 32)) +>bar : Symbol(Derived.bar, Decl(subtypingWithConstructSignatures3.ts, 5, 32)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures3.ts, 5, 47)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures3.ts, 4, 31)) ->baz : Symbol(baz, Decl(subtypingWithConstructSignatures3.ts, 6, 36)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithConstructSignatures3.ts, 6, 36)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithConstructSignatures3.ts, 6, 51)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) ->bing : Symbol(bing, Decl(subtypingWithConstructSignatures3.ts, 7, 37)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithConstructSignatures3.ts, 7, 37)) declare function foo2(a2: new (x: number) => string[]): typeof a2; >foo2 : Symbol(foo2, Decl(subtypingWithConstructSignatures3.ts, 7, 53), Decl(subtypingWithConstructSignatures3.ts, 9, 70)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures4.symbols b/tests/baselines/reference/subtypingWithConstructSignatures4.symbols index b337c6642f4..4ab22b5a482 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures4.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures4.symbols @@ -3,22 +3,22 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithConstructSignatures4.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithConstructSignatures4.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithConstructSignatures4.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures4.ts, 2, 27)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures4.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithConstructSignatures4.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithConstructSignatures4.ts, 3, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures4.ts, 3, 43)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures4.ts, 2, 27)) ->baz : Symbol(baz, Decl(subtypingWithConstructSignatures4.ts, 4, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithConstructSignatures4.ts, 4, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithConstructSignatures4.ts, 4, 47)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures4.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithConstructSignatures4.ts, 5, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithConstructSignatures4.ts, 5, 33)) declare function foo1(a: new (x: T) => T[]); >foo1 : Symbol(foo1, Decl(subtypingWithConstructSignatures4.ts, 5, 49), Decl(subtypingWithConstructSignatures4.ts, 7, 47)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures5.symbols b/tests/baselines/reference/subtypingWithConstructSignatures5.symbols index 634f31ff783..1adbdb82b49 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures5.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures5.symbols @@ -4,51 +4,51 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithConstructSignatures5.ts, 3, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithConstructSignatures5.ts, 3, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithConstructSignatures5.ts, 4, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithConstructSignatures5.ts, 4, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures5.ts, 4, 43)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) ->baz : Symbol(baz, Decl(subtypingWithConstructSignatures5.ts, 5, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithConstructSignatures5.ts, 5, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithConstructSignatures5.ts, 5, 47)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithConstructSignatures5.ts, 6, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithConstructSignatures5.ts, 6, 33)) interface A { // T >A : Symbol(A, Decl(subtypingWithConstructSignatures5.ts, 6, 49)) // M's a: new (x: number) => number[]; ->a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 8, 13)) +>a : Symbol(A.a, Decl(subtypingWithConstructSignatures5.ts, 8, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 10, 12)) a2: new (x: number) => string[]; ->a2 : Symbol(a2, Decl(subtypingWithConstructSignatures5.ts, 10, 35)) +>a2 : Symbol(A.a2, Decl(subtypingWithConstructSignatures5.ts, 10, 35)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 11, 13)) a3: new (x: number) => void; ->a3 : Symbol(a3, Decl(subtypingWithConstructSignatures5.ts, 11, 36)) +>a3 : Symbol(A.a3, Decl(subtypingWithConstructSignatures5.ts, 11, 36)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 12, 13)) a4: new (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(subtypingWithConstructSignatures5.ts, 12, 32)) +>a4 : Symbol(A.a4, Decl(subtypingWithConstructSignatures5.ts, 12, 32)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 13, 13)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 13, 23)) a5: new (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(subtypingWithConstructSignatures5.ts, 13, 45)) +>a5 : Symbol(A.a5, Decl(subtypingWithConstructSignatures5.ts, 13, 45)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 14, 13)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures5.ts, 14, 17)) a6: new (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(subtypingWithConstructSignatures5.ts, 14, 51)) +>a6 : Symbol(A.a6, Decl(subtypingWithConstructSignatures5.ts, 14, 51)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 15, 13)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures5.ts, 15, 17)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -56,7 +56,7 @@ interface A { // T >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(subtypingWithConstructSignatures5.ts, 15, 48)) +>a7 : Symbol(A.a7, Decl(subtypingWithConstructSignatures5.ts, 15, 48)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 16, 13)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures5.ts, 16, 17)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -66,7 +66,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(subtypingWithConstructSignatures5.ts, 16, 64)) +>a8 : Symbol(A.a8, Decl(subtypingWithConstructSignatures5.ts, 16, 64)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 17, 13)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures5.ts, 17, 17)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -80,7 +80,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(subtypingWithConstructSignatures5.ts, 17, 92)) +>a9 : Symbol(A.a9, Decl(subtypingWithConstructSignatures5.ts, 17, 92)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 18, 13)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures5.ts, 18, 17)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -94,13 +94,13 @@ interface A { // T >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a10: new (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(subtypingWithConstructSignatures5.ts, 18, 92)) +>a10 : Symbol(A.a10, Decl(subtypingWithConstructSignatures5.ts, 18, 92)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 19, 14)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(subtypingWithConstructSignatures5.ts, 19, 42)) +>a11 : Symbol(A.a11, Decl(subtypingWithConstructSignatures5.ts, 19, 42)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 20, 14)) >foo : Symbol(foo, Decl(subtypingWithConstructSignatures5.ts, 20, 18)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 20, 33)) @@ -109,7 +109,7 @@ interface A { // T >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) a12: new (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(subtypingWithConstructSignatures5.ts, 20, 75)) +>a12 : Symbol(A.a12, Decl(subtypingWithConstructSignatures5.ts, 20, 75)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 21, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -120,7 +120,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a13: new (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(subtypingWithConstructSignatures5.ts, 21, 68)) +>a13 : Symbol(A.a13, Decl(subtypingWithConstructSignatures5.ts, 21, 68)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 22, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -131,7 +131,7 @@ interface A { // T >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a14: new (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(subtypingWithConstructSignatures5.ts, 22, 67)) +>a14 : Symbol(A.a14, Decl(subtypingWithConstructSignatures5.ts, 22, 67)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 23, 14)) >a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 23, 18)) >b : Symbol(b, Decl(subtypingWithConstructSignatures5.ts, 23, 29)) @@ -143,7 +143,7 @@ interface B extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures5.ts, 6, 49)) a: new (x: T) => T[]; ->a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 26, 23)) +>a : Symbol(B.a, Decl(subtypingWithConstructSignatures5.ts, 26, 23)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 27, 12)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 27, 15)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 27, 12)) @@ -157,27 +157,27 @@ interface I extends B { // N's a: new (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number ->a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 31, 23)) +>a : Symbol(I.a, Decl(subtypingWithConstructSignatures5.ts, 31, 23)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 33, 12)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 33, 15)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 33, 12)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 33, 12)) a2: new (x: T) => string[]; // ok ->a2 : Symbol(a2, Decl(subtypingWithConstructSignatures5.ts, 33, 28)) +>a2 : Symbol(I.a2, Decl(subtypingWithConstructSignatures5.ts, 33, 28)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 34, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 34, 16)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 34, 13)) a3: new (x: T) => T; // ok since Base returns void ->a3 : Symbol(a3, Decl(subtypingWithConstructSignatures5.ts, 34, 34)) +>a3 : Symbol(I.a3, Decl(subtypingWithConstructSignatures5.ts, 34, 34)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 35, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 35, 16)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 35, 13)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 35, 13)) a4: new (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number ->a4 : Symbol(a4, Decl(subtypingWithConstructSignatures5.ts, 35, 27)) +>a4 : Symbol(I.a4, Decl(subtypingWithConstructSignatures5.ts, 35, 27)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 36, 13)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 36, 15)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 36, 19)) @@ -187,7 +187,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 36, 13)) a5: new (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made ->a5 : Symbol(a5, Decl(subtypingWithConstructSignatures5.ts, 36, 36)) +>a5 : Symbol(I.a5, Decl(subtypingWithConstructSignatures5.ts, 36, 36)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 37, 13)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 37, 15)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 37, 19)) @@ -197,7 +197,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 37, 13)) a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy ->a6 : Symbol(a6, Decl(subtypingWithConstructSignatures5.ts, 37, 42)) +>a6 : Symbol(I.a6, Decl(subtypingWithConstructSignatures5.ts, 37, 42)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 38, 13)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 38, 28)) @@ -209,7 +209,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 38, 13)) a7: new (x: (arg: T) => U) => (r: T) => U; // ok ->a7 : Symbol(a7, Decl(subtypingWithConstructSignatures5.ts, 38, 71)) +>a7 : Symbol(I.a7, Decl(subtypingWithConstructSignatures5.ts, 38, 71)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 39, 13)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 39, 28)) @@ -223,7 +223,7 @@ interface I extends B { >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 39, 28)) a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok ->a8 : Symbol(a8, Decl(subtypingWithConstructSignatures5.ts, 39, 81)) +>a8 : Symbol(I.a8, Decl(subtypingWithConstructSignatures5.ts, 39, 81)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 40, 13)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 40, 28)) @@ -241,7 +241,7 @@ interface I extends B { >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 40, 28)) a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : Symbol(a9, Decl(subtypingWithConstructSignatures5.ts, 40, 100)) +>a9 : Symbol(I.a9, Decl(subtypingWithConstructSignatures5.ts, 40, 100)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 41, 13)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 41, 28)) @@ -260,7 +260,7 @@ interface I extends B { >U : Symbol(U, Decl(subtypingWithConstructSignatures5.ts, 41, 28)) a10: new (...x: T[]) => T; // ok ->a10 : Symbol(a10, Decl(subtypingWithConstructSignatures5.ts, 41, 128)) +>a10 : Symbol(I.a10, Decl(subtypingWithConstructSignatures5.ts, 41, 128)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 42, 14)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 42, 33)) @@ -268,7 +268,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 42, 14)) a11: new (x: T, y: T) => T; // ok ->a11 : Symbol(a11, Decl(subtypingWithConstructSignatures5.ts, 42, 49)) +>a11 : Symbol(I.a11, Decl(subtypingWithConstructSignatures5.ts, 42, 49)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 43, 14)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 43, 30)) @@ -278,7 +278,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 43, 14)) a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : Symbol(a12, Decl(subtypingWithConstructSignatures5.ts, 43, 47)) +>a12 : Symbol(I.a12, Decl(subtypingWithConstructSignatures5.ts, 43, 47)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 44, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) @@ -291,7 +291,7 @@ interface I extends B { >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : Symbol(a13, Decl(subtypingWithConstructSignatures5.ts, 44, 77)) +>a13 : Symbol(I.a13, Decl(subtypingWithConstructSignatures5.ts, 44, 77)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 45, 14)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) @@ -303,7 +303,7 @@ interface I extends B { >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 45, 14)) a14: new (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature ->a14 : Symbol(a14, Decl(subtypingWithConstructSignatures5.ts, 45, 67)) +>a14 : Symbol(I.a14, Decl(subtypingWithConstructSignatures5.ts, 45, 67)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 46, 14)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 46, 17)) >a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 46, 21)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures6.symbols b/tests/baselines/reference/subtypingWithConstructSignatures6.symbols index 08b9350da88..c8fb0301127 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures6.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures6.symbols @@ -5,48 +5,48 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithConstructSignatures6.ts, 4, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithConstructSignatures6.ts, 4, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures6.ts, 4, 27)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithConstructSignatures6.ts, 5, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithConstructSignatures6.ts, 5, 28)) class Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures6.ts, 5, 43)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures6.ts, 4, 27)) ->baz : Symbol(baz, Decl(subtypingWithConstructSignatures6.ts, 6, 32)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithConstructSignatures6.ts, 6, 32)) class OtherDerived extends Base { bing: string; } >OtherDerived : Symbol(OtherDerived, Decl(subtypingWithConstructSignatures6.ts, 6, 47)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) ->bing : Symbol(bing, Decl(subtypingWithConstructSignatures6.ts, 7, 33)) +>bing : Symbol(OtherDerived.bing, Decl(subtypingWithConstructSignatures6.ts, 7, 33)) interface A { // T >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) // M's a: new (x: T) => T[]; ->a : Symbol(a, Decl(subtypingWithConstructSignatures6.ts, 9, 13)) +>a : Symbol(A.a, Decl(subtypingWithConstructSignatures6.ts, 9, 13)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 11, 12)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 11, 15)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 11, 12)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 11, 12)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(subtypingWithConstructSignatures6.ts, 11, 28)) +>a2 : Symbol(A.a2, Decl(subtypingWithConstructSignatures6.ts, 11, 28)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 12, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 12, 16)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 12, 13)) a3: new (x: T) => void; ->a3 : Symbol(a3, Decl(subtypingWithConstructSignatures6.ts, 12, 34)) +>a3 : Symbol(A.a3, Decl(subtypingWithConstructSignatures6.ts, 12, 34)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 13, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 13, 16)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 13, 13)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(subtypingWithConstructSignatures6.ts, 13, 30)) +>a4 : Symbol(A.a4, Decl(subtypingWithConstructSignatures6.ts, 13, 30)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 14, 13)) >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 14, 15)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 14, 19)) @@ -55,7 +55,7 @@ interface A { // T >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 14, 15)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(subtypingWithConstructSignatures6.ts, 14, 41)) +>a5 : Symbol(A.a5, Decl(subtypingWithConstructSignatures6.ts, 14, 41)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 15, 13)) >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 15, 15)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 15, 19)) @@ -65,7 +65,7 @@ interface A { // T >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 15, 13)) a6: new (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(subtypingWithConstructSignatures6.ts, 15, 42)) +>a6 : Symbol(A.a6, Decl(subtypingWithConstructSignatures6.ts, 15, 42)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 16, 13)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 16, 29)) @@ -75,7 +75,7 @@ interface A { // T >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 16, 13)) a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(subtypingWithConstructSignatures6.ts, 16, 58)) +>a11 : Symbol(A.a11, Decl(subtypingWithConstructSignatures6.ts, 16, 58)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 17, 14)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 17, 17)) >foo : Symbol(foo, Decl(subtypingWithConstructSignatures6.ts, 17, 21)) @@ -88,7 +88,7 @@ interface A { // T >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) a15: new (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(subtypingWithConstructSignatures6.ts, 17, 63)) +>a15 : Symbol(A.a15, Decl(subtypingWithConstructSignatures6.ts, 17, 63)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 18, 14)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 18, 17)) >a : Symbol(a, Decl(subtypingWithConstructSignatures6.ts, 18, 21)) @@ -98,7 +98,7 @@ interface A { // T >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 18, 14)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(subtypingWithConstructSignatures6.ts, 18, 43)) +>a16 : Symbol(A.a16, Decl(subtypingWithConstructSignatures6.ts, 18, 43)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 19, 14)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures6.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 19, 30)) @@ -116,7 +116,7 @@ interface I extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a: new (x: T) => T[]; ->a : Symbol(a, Decl(subtypingWithConstructSignatures6.ts, 23, 26)) +>a : Symbol(I.a, Decl(subtypingWithConstructSignatures6.ts, 23, 26)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 24, 12)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 23, 12)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 23, 12)) @@ -128,7 +128,7 @@ interface I2 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(subtypingWithConstructSignatures6.ts, 27, 27)) +>a2 : Symbol(I2.a2, Decl(subtypingWithConstructSignatures6.ts, 27, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 28, 13)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 27, 13)) } @@ -139,7 +139,7 @@ interface I3 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a3: new (x: T) => T; ->a3 : Symbol(a3, Decl(subtypingWithConstructSignatures6.ts, 31, 27)) +>a3 : Symbol(I3.a3, Decl(subtypingWithConstructSignatures6.ts, 31, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 32, 13)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 31, 13)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 31, 13)) @@ -151,7 +151,7 @@ interface I4 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(subtypingWithConstructSignatures6.ts, 35, 27)) +>a4 : Symbol(I4.a4, Decl(subtypingWithConstructSignatures6.ts, 35, 27)) >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 36, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 36, 16)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 35, 13)) @@ -165,7 +165,7 @@ interface I5 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a5: new (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(subtypingWithConstructSignatures6.ts, 39, 27)) +>a5 : Symbol(I5.a5, Decl(subtypingWithConstructSignatures6.ts, 39, 27)) >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 40, 13)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 40, 16)) >arg : Symbol(arg, Decl(subtypingWithConstructSignatures6.ts, 40, 20)) @@ -180,7 +180,7 @@ interface I7 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : Symbol(a11, Decl(subtypingWithConstructSignatures6.ts, 43, 27)) +>a11 : Symbol(I7.a11, Decl(subtypingWithConstructSignatures6.ts, 43, 27)) >U : Symbol(U, Decl(subtypingWithConstructSignatures6.ts, 44, 14)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 44, 17)) >foo : Symbol(foo, Decl(subtypingWithConstructSignatures6.ts, 44, 21)) @@ -199,7 +199,7 @@ interface I9 extends A { >A : Symbol(A, Decl(subtypingWithConstructSignatures6.ts, 7, 49)) a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(subtypingWithConstructSignatures6.ts, 47, 27)) +>a16 : Symbol(I9.a16, Decl(subtypingWithConstructSignatures6.ts, 47, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures6.ts, 48, 14)) >a : Symbol(a, Decl(subtypingWithConstructSignatures6.ts, 48, 18)) >T : Symbol(T, Decl(subtypingWithConstructSignatures6.ts, 47, 13)) diff --git a/tests/baselines/reference/subtypingWithObjectMembers4.symbols b/tests/baselines/reference/subtypingWithObjectMembers4.symbols index e710e2a3d4a..94b38bc4c9b 100644 --- a/tests/baselines/reference/subtypingWithObjectMembers4.symbols +++ b/tests/baselines/reference/subtypingWithObjectMembers4.symbols @@ -5,7 +5,7 @@ class Base { >Base : Symbol(Base, Decl(subtypingWithObjectMembers4.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(subtypingWithObjectMembers4.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(subtypingWithObjectMembers4.ts, 2, 12)) } class Derived extends Base { @@ -13,14 +13,14 @@ class Derived extends Base { >Base : Symbol(Base, Decl(subtypingWithObjectMembers4.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(subtypingWithObjectMembers4.ts, 6, 28)) +>bar : Symbol(Derived.bar, Decl(subtypingWithObjectMembers4.ts, 6, 28)) } class A { >A : Symbol(A, Decl(subtypingWithObjectMembers4.ts, 8, 1)) foo: Base; ->foo : Symbol(foo, Decl(subtypingWithObjectMembers4.ts, 10, 9)) +>foo : Symbol(A.foo, Decl(subtypingWithObjectMembers4.ts, 10, 9)) >Base : Symbol(Base, Decl(subtypingWithObjectMembers4.ts, 0, 0)) } @@ -29,7 +29,7 @@ class B extends A { >A : Symbol(A, Decl(subtypingWithObjectMembers4.ts, 8, 1)) fooo: Derived; // ok, inherits foo ->fooo : Symbol(fooo, Decl(subtypingWithObjectMembers4.ts, 14, 19)) +>fooo : Symbol(B.fooo, Decl(subtypingWithObjectMembers4.ts, 14, 19)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembers4.ts, 4, 1)) } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality.symbols b/tests/baselines/reference/subtypingWithObjectMembersOptionality.symbols index 7fce581b74b..5b144baa428 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality.symbols +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality.symbols @@ -3,17 +3,17 @@ interface Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithObjectMembersOptionality.ts, 2, 16)) +>foo : Symbol(Base.foo, Decl(subtypingWithObjectMembersOptionality.ts, 2, 16)) interface Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality.ts, 2, 31)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithObjectMembersOptionality.ts, 3, 32)) +>bar : Symbol(Derived.bar, Decl(subtypingWithObjectMembersOptionality.ts, 3, 32)) interface Derived2 extends Derived { baz: string; } >Derived2 : Symbol(Derived2, Decl(subtypingWithObjectMembersOptionality.ts, 3, 47)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality.ts, 2, 31)) ->baz : Symbol(baz, Decl(subtypingWithObjectMembersOptionality.ts, 4, 36)) +>baz : Symbol(Derived2.baz, Decl(subtypingWithObjectMembersOptionality.ts, 4, 36)) // S is a subtype of a type T, and T is a supertype of S, if one of the following is true, where S' denotes the apparent type (section 3.8.1) of S: // - S' and T are object types and, for each member M in T, one of the following is true: @@ -27,7 +27,7 @@ interface T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality.ts, 4, 51)) Foo?: Base; ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality.ts, 14, 13)) +>Foo : Symbol(T.Foo, Decl(subtypingWithObjectMembersOptionality.ts, 14, 13)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality.ts, 0, 0)) } @@ -36,7 +36,7 @@ interface S extends T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality.ts, 4, 51)) Foo: Derived ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality.ts, 18, 23)) +>Foo : Symbol(S.Foo, Decl(subtypingWithObjectMembersOptionality.ts, 18, 23)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality.ts, 2, 31)) } @@ -93,7 +93,7 @@ module TwoLevels { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality.ts, 43, 18)) Foo?: Base; ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality.ts, 44, 17)) +>Foo : Symbol(T.Foo, Decl(subtypingWithObjectMembersOptionality.ts, 44, 17)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality.ts, 0, 0)) } @@ -102,7 +102,7 @@ module TwoLevels { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality.ts, 43, 18)) Foo: Derived2 ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality.ts, 48, 27)) +>Foo : Symbol(S.Foo, Decl(subtypingWithObjectMembersOptionality.ts, 48, 27)) >Derived2 : Symbol(Derived2, Decl(subtypingWithObjectMembersOptionality.ts, 3, 47)) } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.symbols b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.symbols index e770df28285..2a3e806f540 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.symbols +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.symbols @@ -3,18 +3,18 @@ interface Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality3.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithObjectMembersOptionality3.ts, 2, 16)) +>foo : Symbol(Base.foo, Decl(subtypingWithObjectMembersOptionality3.ts, 2, 16)) interface Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality3.ts, 2, 31)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality3.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithObjectMembersOptionality3.ts, 3, 32)) +>bar : Symbol(Derived.bar, Decl(subtypingWithObjectMembersOptionality3.ts, 3, 32)) interface T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality3.ts, 3, 47)) Foo?: Base; ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality3.ts, 5, 13)) +>Foo : Symbol(T.Foo, Decl(subtypingWithObjectMembersOptionality3.ts, 5, 13)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality3.ts, 0, 0)) } @@ -23,7 +23,7 @@ interface S extends T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality3.ts, 3, 47)) Foo2: Derived // ok ->Foo2 : Symbol(Foo2, Decl(subtypingWithObjectMembersOptionality3.ts, 9, 23)) +>Foo2 : Symbol(S.Foo2, Decl(subtypingWithObjectMembersOptionality3.ts, 9, 23)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality3.ts, 2, 31)) } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.symbols b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.symbols index e05cc3d03f8..b1124d49083 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.symbols +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.symbols @@ -3,18 +3,18 @@ interface Base { foo: string; } >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality4.ts, 0, 0)) ->foo : Symbol(foo, Decl(subtypingWithObjectMembersOptionality4.ts, 2, 16)) +>foo : Symbol(Base.foo, Decl(subtypingWithObjectMembersOptionality4.ts, 2, 16)) interface Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality4.ts, 2, 31)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality4.ts, 0, 0)) ->bar : Symbol(bar, Decl(subtypingWithObjectMembersOptionality4.ts, 3, 32)) +>bar : Symbol(Derived.bar, Decl(subtypingWithObjectMembersOptionality4.ts, 3, 32)) interface T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality4.ts, 3, 47)) Foo: Base; ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality4.ts, 5, 13)) +>Foo : Symbol(T.Foo, Decl(subtypingWithObjectMembersOptionality4.ts, 5, 13)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality4.ts, 0, 0)) } @@ -23,7 +23,7 @@ interface S extends T { >T : Symbol(T, Decl(subtypingWithObjectMembersOptionality4.ts, 3, 47)) Foo2?: Derived // ok ->Foo2 : Symbol(Foo2, Decl(subtypingWithObjectMembersOptionality4.ts, 9, 23)) +>Foo2 : Symbol(S.Foo2, Decl(subtypingWithObjectMembersOptionality4.ts, 9, 23)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality4.ts, 2, 31)) } diff --git a/tests/baselines/reference/super2.symbols b/tests/baselines/reference/super2.symbols index 69b0254f270..8bb0c6a735c 100644 --- a/tests/baselines/reference/super2.symbols +++ b/tests/baselines/reference/super2.symbols @@ -4,13 +4,13 @@ class Base5 { >Base5 : Symbol(Base5, Decl(super2.ts, 0, 0)) public x() { ->x : Symbol(x, Decl(super2.ts, 1, 13)) +>x : Symbol(Base5.x, Decl(super2.ts, 1, 13)) return "BaseX"; } public y() { ->y : Symbol(y, Decl(super2.ts, 4, 5)) +>y : Symbol(Base5.y, Decl(super2.ts, 4, 5)) return "BaseY"; } @@ -21,7 +21,7 @@ class Sub5 extends Base5 { >Base5 : Symbol(Base5, Decl(super2.ts, 0, 0)) public x() { ->x : Symbol(x, Decl(super2.ts, 11, 26)) +>x : Symbol(Sub5.x, Decl(super2.ts, 11, 26)) return "SubX"; } @@ -32,7 +32,7 @@ class SubSub5 extends Sub5 { >Sub5 : Symbol(Sub5, Decl(super2.ts, 9, 1)) public x() { ->x : Symbol(x, Decl(super2.ts, 17, 28)) +>x : Symbol(SubSub5.x, Decl(super2.ts, 17, 28)) return super.x(); >super.x : Symbol(Sub5.x, Decl(super2.ts, 11, 26)) @@ -40,7 +40,7 @@ class SubSub5 extends Sub5 { >x : Symbol(Sub5.x, Decl(super2.ts, 11, 26)) } public y() { ->y : Symbol(y, Decl(super2.ts, 20, 5)) +>y : Symbol(SubSub5.y, Decl(super2.ts, 20, 5)) return super.y(); >super.y : Symbol(Base5.y, Decl(super2.ts, 4, 5)) @@ -54,7 +54,7 @@ class Base6 { >Base6 : Symbol(Base6, Decl(super2.ts, 24, 1)) public x() { ->x : Symbol(x, Decl(super2.ts, 27, 13)) +>x : Symbol(Base6.x, Decl(super2.ts, 27, 13)) return "BaseX"; } @@ -65,7 +65,7 @@ class Sub6 extends Base6 { >Base6 : Symbol(Base6, Decl(super2.ts, 24, 1)) public y() { ->y : Symbol(y, Decl(super2.ts, 33, 26)) +>y : Symbol(Sub6.y, Decl(super2.ts, 33, 26)) return "SubY"; } @@ -76,7 +76,7 @@ class SubSub6 extends Sub6 { >Sub6 : Symbol(Sub6, Decl(super2.ts, 31, 1)) public y() { ->y : Symbol(y, Decl(super2.ts, 39, 28)) +>y : Symbol(SubSub6.y, Decl(super2.ts, 39, 28)) return super.y(); >super.y : Symbol(Sub6.y, Decl(super2.ts, 33, 26)) diff --git a/tests/baselines/reference/superAccessInFatArrow1.symbols b/tests/baselines/reference/superAccessInFatArrow1.symbols index 9b0a0607e0a..88715df9a93 100644 --- a/tests/baselines/reference/superAccessInFatArrow1.symbols +++ b/tests/baselines/reference/superAccessInFatArrow1.symbols @@ -6,7 +6,7 @@ module test { >A : Symbol(A, Decl(superAccessInFatArrow1.ts, 0, 13)) foo() { ->foo : Symbol(foo, Decl(superAccessInFatArrow1.ts, 1, 20)) +>foo : Symbol(A.foo, Decl(superAccessInFatArrow1.ts, 1, 20)) } } export class B extends A { @@ -14,16 +14,16 @@ module test { >A : Symbol(A, Decl(superAccessInFatArrow1.ts, 0, 13)) bar(callback: () => void ) { ->bar : Symbol(bar, Decl(superAccessInFatArrow1.ts, 5, 30)) +>bar : Symbol(B.bar, Decl(superAccessInFatArrow1.ts, 5, 30)) >callback : Symbol(callback, Decl(superAccessInFatArrow1.ts, 6, 12)) } runme() { ->runme : Symbol(runme, Decl(superAccessInFatArrow1.ts, 7, 9)) +>runme : Symbol(B.runme, Decl(superAccessInFatArrow1.ts, 7, 9)) this.bar(() => { ->this.bar : Symbol(bar, Decl(superAccessInFatArrow1.ts, 5, 30)) +>this.bar : Symbol(B.bar, Decl(superAccessInFatArrow1.ts, 5, 30)) >this : Symbol(B, Decl(superAccessInFatArrow1.ts, 4, 5)) ->bar : Symbol(bar, Decl(superAccessInFatArrow1.ts, 5, 30)) +>bar : Symbol(B.bar, Decl(superAccessInFatArrow1.ts, 5, 30)) super.foo(); >super.foo : Symbol(A.foo, Decl(superAccessInFatArrow1.ts, 1, 20)) diff --git a/tests/baselines/reference/superCallBeforeThisAccessing1.symbols b/tests/baselines/reference/superCallBeforeThisAccessing1.symbols index 5a153728a73..63795342381 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing1.symbols +++ b/tests/baselines/reference/superCallBeforeThisAccessing1.symbols @@ -13,7 +13,7 @@ class D extends Base { >Base : Symbol(Base, Decl(superCallBeforeThisAccessing1.ts, 0, 24)) private _t; ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) constructor() { super(i); @@ -25,9 +25,9 @@ class D extends Base { t: this._t >t : Symbol(t, Decl(superCallBeforeThisAccessing1.ts, 9, 17)) ->this._t : Symbol(_t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) +>this._t : Symbol(D._t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) >this : Symbol(D, Decl(superCallBeforeThisAccessing1.ts, 4, 1)) ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing1.ts, 5, 22)) } var i = Factory.create(s); >i : Symbol(i, Decl(superCallBeforeThisAccessing1.ts, 12, 11)) diff --git a/tests/baselines/reference/superCallBeforeThisAccessing2.symbols b/tests/baselines/reference/superCallBeforeThisAccessing2.symbols index 2df2e62354a..3684f853101 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing2.symbols +++ b/tests/baselines/reference/superCallBeforeThisAccessing2.symbols @@ -10,14 +10,14 @@ class D extends Base { >Base : Symbol(Base, Decl(superCallBeforeThisAccessing2.ts, 0, 0)) private _t; ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) constructor() { super(() => { this._t }); // no error. only check when this is directly accessing in constructor >super : Symbol(Base, Decl(superCallBeforeThisAccessing2.ts, 0, 0)) ->this._t : Symbol(_t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) +>this._t : Symbol(D._t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) >this : Symbol(D, Decl(superCallBeforeThisAccessing2.ts, 2, 1)) ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing2.ts, 3, 22)) } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing5.symbols b/tests/baselines/reference/superCallBeforeThisAccessing5.symbols index a7628e3b8df..908f0f59add 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing5.symbols +++ b/tests/baselines/reference/superCallBeforeThisAccessing5.symbols @@ -3,13 +3,13 @@ class D extends null { >D : Symbol(D, Decl(superCallBeforeThisAccessing5.ts, 0, 0)) private _t; ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) constructor() { this._t; // No error ->this._t : Symbol(_t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) +>this._t : Symbol(D._t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) >this : Symbol(D, Decl(superCallBeforeThisAccessing5.ts, 0, 0)) ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing5.ts, 0, 22)) } } diff --git a/tests/baselines/reference/superCallBeforeThisAccessing8.symbols b/tests/baselines/reference/superCallBeforeThisAccessing8.symbols index 65341ee9fe3..e60ec92e917 100644 --- a/tests/baselines/reference/superCallBeforeThisAccessing8.symbols +++ b/tests/baselines/reference/superCallBeforeThisAccessing8.symbols @@ -10,7 +10,7 @@ class D extends Base { >Base : Symbol(Base, Decl(superCallBeforeThisAccessing8.ts, 0, 0)) private _t; ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) constructor() { let x = { @@ -23,9 +23,9 @@ class D extends Base { j: this._t, // no error >j : Symbol(j, Decl(superCallBeforeThisAccessing8.ts, 7, 32)) ->this._t : Symbol(_t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) +>this._t : Symbol(D._t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) >this : Symbol(D, Decl(superCallBeforeThisAccessing8.ts, 2, 1)) ->_t : Symbol(_t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) +>_t : Symbol(D._t, Decl(superCallBeforeThisAccessing8.ts, 3, 22)) } } } diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.symbols b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.symbols index 7220d65dc89..15105a27b98 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.symbols +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.symbols @@ -4,7 +4,7 @@ declare class B { >T : Symbol(T, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 0, 16)) m(): B; ->m : Symbol(m, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 0, 20)) +>m : Symbol(B.m, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 0, 20)) >U : Symbol(U, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 1, 6)) >B : Symbol(B, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 0, 0)) >U : Symbol(U, Decl(superCallFromClassThatDerivesFromGenericType1.ts, 1, 6)) diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.symbols b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.symbols index eca7cd26b03..e04a2fd286a 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.symbols +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.symbols @@ -4,7 +4,7 @@ declare class B { >T : Symbol(T, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 0, 16)) m(): B; ->m : Symbol(m, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 0, 20)) +>m : Symbol(B.m, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 0, 20)) >U : Symbol(U, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 1, 6)) >B : Symbol(B, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 0, 0)) >U : Symbol(U, Decl(superCallFromClassThatDerivesFromGenericType2.ts, 1, 6)) diff --git a/tests/baselines/reference/superCallInsideObjectLiteralExpression.symbols b/tests/baselines/reference/superCallInsideObjectLiteralExpression.symbols index d01899ecfef..9199c3e5a04 100644 --- a/tests/baselines/reference/superCallInsideObjectLiteralExpression.symbols +++ b/tests/baselines/reference/superCallInsideObjectLiteralExpression.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(superCallInsideObjectLiteralExpression.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(superCallInsideObjectLiteralExpression.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(superCallInsideObjectLiteralExpression.ts, 0, 9)) } } diff --git a/tests/baselines/reference/superCallParameterContextualTyping1.symbols b/tests/baselines/reference/superCallParameterContextualTyping1.symbols index ed845b7cd4e..e46e88aff54 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping1.symbols +++ b/tests/baselines/reference/superCallParameterContextualTyping1.symbols @@ -6,7 +6,7 @@ class A { >T2 : Symbol(T2, Decl(superCallParameterContextualTyping1.ts, 1, 11)) constructor(private map: (value: T1) => T2) { ->map : Symbol(map, Decl(superCallParameterContextualTyping1.ts, 2, 16)) +>map : Symbol(A.map, Decl(superCallParameterContextualTyping1.ts, 2, 16)) >value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 2, 30)) >T1 : Symbol(T1, Decl(superCallParameterContextualTyping1.ts, 1, 8)) >T2 : Symbol(T2, Decl(superCallParameterContextualTyping1.ts, 1, 11)) diff --git a/tests/baselines/reference/superCallParameterContextualTyping3.symbols b/tests/baselines/reference/superCallParameterContextualTyping3.symbols index e51687b4539..55101b7f053 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping3.symbols +++ b/tests/baselines/reference/superCallParameterContextualTyping3.symbols @@ -4,7 +4,7 @@ interface ContextualType { >T : Symbol(T, Decl(superCallParameterContextualTyping3.ts, 0, 25)) method(parameter: T): void; ->method : Symbol(method, Decl(superCallParameterContextualTyping3.ts, 0, 29)) +>method : Symbol(ContextualType.method, Decl(superCallParameterContextualTyping3.ts, 0, 29)) >parameter : Symbol(parameter, Decl(superCallParameterContextualTyping3.ts, 1, 11)) >T : Symbol(T, Decl(superCallParameterContextualTyping3.ts, 0, 25)) } @@ -20,7 +20,7 @@ class CBase { } foo(param: ContextualType) { ->foo : Symbol(foo, Decl(superCallParameterContextualTyping3.ts, 6, 5)) +>foo : Symbol(CBase.foo, Decl(superCallParameterContextualTyping3.ts, 6, 5)) >param : Symbol(param, Decl(superCallParameterContextualTyping3.ts, 8, 8)) >ContextualType : Symbol(ContextualType, Decl(superCallParameterContextualTyping3.ts, 0, 0)) >T : Symbol(T, Decl(superCallParameterContextualTyping3.ts, 4, 12)) diff --git a/tests/baselines/reference/superCalls.symbols b/tests/baselines/reference/superCalls.symbols index 3c91d2bace0..61835288637 100644 --- a/tests/baselines/reference/superCalls.symbols +++ b/tests/baselines/reference/superCalls.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(superCalls.ts, 0, 0)) x = 43; ->x : Symbol(x, Decl(superCalls.ts, 0, 12)) +>x : Symbol(Base.x, Decl(superCalls.ts, 0, 12)) constructor(n: string) { >n : Symbol(n, Decl(superCalls.ts, 2, 16)) @@ -20,7 +20,7 @@ class Derived extends Base { //super call in class constructor of derived type constructor(public q: number) { ->q : Symbol(q, Decl(superCalls.ts, 11, 16)) +>q : Symbol(Derived.q, Decl(superCalls.ts, 11, 16)) super(''); >super : Symbol(Base, Decl(superCalls.ts, 0, 0)) diff --git a/tests/baselines/reference/superInCatchBlock1.symbols b/tests/baselines/reference/superInCatchBlock1.symbols index 02b931a67ff..374a736e338 100644 --- a/tests/baselines/reference/superInCatchBlock1.symbols +++ b/tests/baselines/reference/superInCatchBlock1.symbols @@ -3,14 +3,14 @@ class A { >A : Symbol(A, Decl(superInCatchBlock1.ts, 0, 0)) m(): void { } ->m : Symbol(m, Decl(superInCatchBlock1.ts, 0, 9)) +>m : Symbol(A.m, Decl(superInCatchBlock1.ts, 0, 9)) } class B extends A { >B : Symbol(B, Decl(superInCatchBlock1.ts, 2, 1)) >A : Symbol(A, Decl(superInCatchBlock1.ts, 0, 0)) m() { ->m : Symbol(m, Decl(superInCatchBlock1.ts, 3, 19)) +>m : Symbol(B.m, Decl(superInCatchBlock1.ts, 3, 19)) try { } diff --git a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.symbols b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.symbols index 1379d50179f..d29cfed7084 100644 --- a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.symbols +++ b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 0, 0)) foo() { return 1; } ->foo : Symbol(foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 0, 9)) } class B extends A { @@ -11,10 +11,10 @@ class B extends A { >A : Symbol(A, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 0, 0)) foo() { return 2; } ->foo : Symbol(foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 4, 19)) +>foo : Symbol(B.foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 4, 19)) bar() { ->bar : Symbol(bar, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 5, 23)) +>bar : Symbol(B.bar, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES5.ts, 5, 23)) return class { [super.foo()]() { diff --git a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.symbols b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.symbols index 12446259f32..2eae0080f4b 100644 --- a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.symbols +++ b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 0, 0)) foo() { return 1; } ->foo : Symbol(foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 0, 9)) } class B extends A { @@ -11,10 +11,10 @@ class B extends A { >A : Symbol(A, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 0, 0)) foo() { return 2; } ->foo : Symbol(foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 4, 19)) +>foo : Symbol(B.foo, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 4, 19)) bar() { ->bar : Symbol(bar, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 5, 23)) +>bar : Symbol(B.bar, Decl(superPropertyAccessInComputedPropertiesOfNestedType_ES6.ts, 5, 23)) return class { [super.foo()]() { diff --git a/tests/baselines/reference/superPropertyAccess_ES6.symbols b/tests/baselines/reference/superPropertyAccess_ES6.symbols index ada6c5b8057..61b8ab3dc76 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.symbols +++ b/tests/baselines/reference/superPropertyAccess_ES6.symbols @@ -4,10 +4,10 @@ class MyBase { >MyBase : Symbol(MyBase, Decl(superPropertyAccess_ES6.ts, 0, 0)) getValue(): number { return 1; } ->getValue : Symbol(getValue, Decl(superPropertyAccess_ES6.ts, 1, 14)) +>getValue : Symbol(MyBase.getValue, Decl(superPropertyAccess_ES6.ts, 1, 14)) get value(): number { return 1; } ->value : Symbol(value, Decl(superPropertyAccess_ES6.ts, 2, 34)) +>value : Symbol(MyBase.value, Decl(superPropertyAccess_ES6.ts, 2, 34)) } class MyDerived extends MyBase { @@ -46,20 +46,20 @@ class A { >A : Symbol(A, Decl(superPropertyAccess_ES6.ts, 16, 17)) private _property: string; ->_property : Symbol(_property, Decl(superPropertyAccess_ES6.ts, 18, 9)) +>_property : Symbol(A._property, Decl(superPropertyAccess_ES6.ts, 18, 9)) get property() { return this._property; } ->property : Symbol(property, Decl(superPropertyAccess_ES6.ts, 19, 30), Decl(superPropertyAccess_ES6.ts, 20, 45)) ->this._property : Symbol(_property, Decl(superPropertyAccess_ES6.ts, 18, 9)) +>property : Symbol(A.property, Decl(superPropertyAccess_ES6.ts, 19, 30), Decl(superPropertyAccess_ES6.ts, 20, 45)) +>this._property : Symbol(A._property, Decl(superPropertyAccess_ES6.ts, 18, 9)) >this : Symbol(A, Decl(superPropertyAccess_ES6.ts, 16, 17)) ->_property : Symbol(_property, Decl(superPropertyAccess_ES6.ts, 18, 9)) +>_property : Symbol(A._property, Decl(superPropertyAccess_ES6.ts, 18, 9)) set property(value: string) { this._property = value } ->property : Symbol(property, Decl(superPropertyAccess_ES6.ts, 19, 30), Decl(superPropertyAccess_ES6.ts, 20, 45)) +>property : Symbol(A.property, Decl(superPropertyAccess_ES6.ts, 19, 30), Decl(superPropertyAccess_ES6.ts, 20, 45)) >value : Symbol(value, Decl(superPropertyAccess_ES6.ts, 21, 17)) ->this._property : Symbol(_property, Decl(superPropertyAccess_ES6.ts, 18, 9)) +>this._property : Symbol(A._property, Decl(superPropertyAccess_ES6.ts, 18, 9)) >this : Symbol(A, Decl(superPropertyAccess_ES6.ts, 16, 17)) ->_property : Symbol(_property, Decl(superPropertyAccess_ES6.ts, 18, 9)) +>_property : Symbol(A._property, Decl(superPropertyAccess_ES6.ts, 18, 9)) >value : Symbol(value, Decl(superPropertyAccess_ES6.ts, 21, 17)) } @@ -68,7 +68,7 @@ class B extends A { >A : Symbol(A, Decl(superPropertyAccess_ES6.ts, 16, 17)) set property(value: string) { ->property : Symbol(property, Decl(superPropertyAccess_ES6.ts, 24, 19)) +>property : Symbol(B.property, Decl(superPropertyAccess_ES6.ts, 24, 19)) >value : Symbol(value, Decl(superPropertyAccess_ES6.ts, 25, 17)) super.property = value + " addition"; diff --git a/tests/baselines/reference/superWithGenericSpecialization.symbols b/tests/baselines/reference/superWithGenericSpecialization.symbols index 7a8f93b4e28..1ead844b154 100644 --- a/tests/baselines/reference/superWithGenericSpecialization.symbols +++ b/tests/baselines/reference/superWithGenericSpecialization.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(superWithGenericSpecialization.ts, 0, 8)) x: T; ->x : Symbol(x, Decl(superWithGenericSpecialization.ts, 0, 12)) +>x : Symbol(C.x, Decl(superWithGenericSpecialization.ts, 0, 12)) >T : Symbol(T, Decl(superWithGenericSpecialization.ts, 0, 8)) } @@ -14,7 +14,7 @@ class D extends C { >C : Symbol(C, Decl(superWithGenericSpecialization.ts, 0, 0)) y: T; ->y : Symbol(y, Decl(superWithGenericSpecialization.ts, 4, 30)) +>y : Symbol(D.y, Decl(superWithGenericSpecialization.ts, 4, 30)) >T : Symbol(T, Decl(superWithGenericSpecialization.ts, 4, 8)) constructor() { diff --git a/tests/baselines/reference/superWithGenerics.symbols b/tests/baselines/reference/superWithGenerics.symbols index 43a7e7493b6..79bda5ab120 100644 --- a/tests/baselines/reference/superWithGenerics.symbols +++ b/tests/baselines/reference/superWithGenerics.symbols @@ -4,7 +4,7 @@ declare class B { >T : Symbol(T, Decl(superWithGenerics.ts, 0, 16)) m(): B; ->m : Symbol(m, Decl(superWithGenerics.ts, 0, 20)) +>m : Symbol(B.m, Decl(superWithGenerics.ts, 0, 20)) >U : Symbol(U, Decl(superWithGenerics.ts, 1, 6)) >B : Symbol(B, Decl(superWithGenerics.ts, 0, 0)) >U : Symbol(U, Decl(superWithGenerics.ts, 1, 6)) diff --git a/tests/baselines/reference/symbolType16.symbols b/tests/baselines/reference/symbolType16.symbols index a31a4e5c677..843bf3f68e6 100644 --- a/tests/baselines/reference/symbolType16.symbols +++ b/tests/baselines/reference/symbolType16.symbols @@ -3,7 +3,7 @@ interface Symbol { >Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(symbolType16.ts, 0, 0)) newSymbolProp: number; ->newSymbolProp : Symbol(newSymbolProp, Decl(symbolType16.ts, 0, 18)) +>newSymbolProp : Symbol(Symbol.newSymbolProp, Decl(symbolType16.ts, 0, 18)) } var sym: symbol; diff --git a/tests/baselines/reference/symbolType17.symbols b/tests/baselines/reference/symbolType17.symbols index fe77cb8d6b3..0f1ccc0e83a 100644 --- a/tests/baselines/reference/symbolType17.symbols +++ b/tests/baselines/reference/symbolType17.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolType17.ts === interface Foo { prop } >Foo : Symbol(Foo, Decl(symbolType17.ts, 0, 0)) ->prop : Symbol(prop, Decl(symbolType17.ts, 0, 15)) +>prop : Symbol(Foo.prop, Decl(symbolType17.ts, 0, 15)) var x: symbol | Foo; >x : Symbol(x, Decl(symbolType17.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType18.symbols b/tests/baselines/reference/symbolType18.symbols index d2121672b71..9dc8c824a85 100644 --- a/tests/baselines/reference/symbolType18.symbols +++ b/tests/baselines/reference/symbolType18.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolType18.ts === interface Foo { prop } >Foo : Symbol(Foo, Decl(symbolType18.ts, 0, 0)) ->prop : Symbol(prop, Decl(symbolType18.ts, 0, 15)) +>prop : Symbol(Foo.prop, Decl(symbolType18.ts, 0, 15)) var x: symbol | Foo; >x : Symbol(x, Decl(symbolType18.ts, 1, 3)) diff --git a/tests/baselines/reference/systemModuleWithSuperClass.symbols b/tests/baselines/reference/systemModuleWithSuperClass.symbols index 46354333479..415e7d1e99f 100644 --- a/tests/baselines/reference/systemModuleWithSuperClass.symbols +++ b/tests/baselines/reference/systemModuleWithSuperClass.symbols @@ -4,7 +4,7 @@ export class Foo { >Foo : Symbol(Foo, Decl(foo.ts, 0, 0)) a: string; ->a : Symbol(a, Decl(foo.ts, 1, 18)) +>a : Symbol(Foo.a, Decl(foo.ts, 1, 18)) } === tests/cases/compiler/bar.ts === @@ -16,5 +16,5 @@ export class Bar extends Foo { >Foo : Symbol(Foo, Decl(bar.ts, 0, 8)) b: string; ->b : Symbol(b, Decl(bar.ts, 1, 30)) +>b : Symbol(Bar.b, Decl(bar.ts, 1, 30)) } diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols index 24f75c49178..226729907de 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols @@ -8,7 +8,7 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 0, 0)) member: { ->member : Symbol(member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 43)) new (s: string): { >s : Symbol(s, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 3, 13)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols index cbe21173d55..6535e998808 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols @@ -8,7 +8,7 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 0, 0)) member: { ->member : Symbol(member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 43)) new (s: string): { >s : Symbol(s, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 3, 13)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols index 974410a7b1d..d3f85d8375a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols @@ -8,19 +8,19 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) g: I; ->g : Symbol(g, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 50)) +>g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 50)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) h: I; ->h : Symbol(h, Decl(taggedTemplateStringsWithTypedTags.ts, 2, 9)) +>h : Symbol(I.h, Decl(taggedTemplateStringsWithTypedTags.ts, 2, 9)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) member: I; ->member : Symbol(member, Decl(taggedTemplateStringsWithTypedTags.ts, 3, 9)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithTypedTags.ts, 3, 9)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) thisIsNotATag(x: string): void ->thisIsNotATag : Symbol(thisIsNotATag, Decl(taggedTemplateStringsWithTypedTags.ts, 4, 14)) +>thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithTypedTags.ts, 4, 14)) >x : Symbol(x, Decl(taggedTemplateStringsWithTypedTags.ts, 5, 18)) [x: number]: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols index a78e10c11e0..f0b088bd6f6 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols @@ -8,19 +8,19 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) g: I; ->g : Symbol(g, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 50)) +>g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 50)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) h: I; ->h : Symbol(h, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 2, 9)) +>h : Symbol(I.h, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 2, 9)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) member: I; ->member : Symbol(member, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 3, 9)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 3, 9)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) thisIsNotATag(x: string): void ->thisIsNotATag : Symbol(thisIsNotATag, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 4, 14)) +>thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 4, 14)) >x : Symbol(x, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 5, 18)) [x: number]: I; diff --git a/tests/baselines/reference/testContainerList.symbols b/tests/baselines/reference/testContainerList.symbols index aed56643448..79c7df0c82f 100644 --- a/tests/baselines/reference/testContainerList.symbols +++ b/tests/baselines/reference/testContainerList.symbols @@ -7,7 +7,7 @@ module A { >C : Symbol(C, Decl(testContainerList.ts, 1, 10)) constructor(public d: {}) { } ->d : Symbol(d, Decl(testContainerList.ts, 3, 20)) +>d : Symbol(C.d, Decl(testContainerList.ts, 3, 20)) } } diff --git a/tests/baselines/reference/testTypings.symbols b/tests/baselines/reference/testTypings.symbols index 5e3074a9585..4d91263142a 100644 --- a/tests/baselines/reference/testTypings.symbols +++ b/tests/baselines/reference/testTypings.symbols @@ -4,7 +4,7 @@ interface IComparable { >T : Symbol(T, Decl(testTypings.ts, 0, 22)) compareTo(other: T); ->compareTo : Symbol(compareTo, Decl(testTypings.ts, 0, 26)) +>compareTo : Symbol(IComparable.compareTo, Decl(testTypings.ts, 0, 26)) >other : Symbol(other, Decl(testTypings.ts, 1, 13)) >T : Symbol(T, Decl(testTypings.ts, 0, 22)) } diff --git a/tests/baselines/reference/thisBinding2.symbols b/tests/baselines/reference/thisBinding2.symbols index 60c11c2e959..cdef9b60b3e 100644 --- a/tests/baselines/reference/thisBinding2.symbols +++ b/tests/baselines/reference/thisBinding2.symbols @@ -3,27 +3,27 @@ class C { >C : Symbol(C, Decl(thisBinding2.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) constructor() { this.x = (() => { ->this.x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>this.x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) >this : Symbol(C, Decl(thisBinding2.ts, 0, 0)) ->x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) var x = 1; >x : Symbol(x, Decl(thisBinding2.ts, 4, 6)) return this.x; ->this.x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>this.x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) >this : Symbol(C, Decl(thisBinding2.ts, 0, 0)) ->x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) })(); this.x = function() { ->this.x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>this.x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) >this : Symbol(C, Decl(thisBinding2.ts, 0, 0)) ->x : Symbol(x, Decl(thisBinding2.ts, 0, 9)) +>x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) var x = 1; >x : Symbol(x, Decl(thisBinding2.ts, 8, 6)) diff --git a/tests/baselines/reference/thisCapture1.symbols b/tests/baselines/reference/thisCapture1.symbols index fade5bbeca3..7065eb0db1c 100644 --- a/tests/baselines/reference/thisCapture1.symbols +++ b/tests/baselines/reference/thisCapture1.symbols @@ -3,10 +3,10 @@ class X { >X : Symbol(X, Decl(thisCapture1.ts, 0, 0)) private y = 0; ->y : Symbol(y, Decl(thisCapture1.ts, 0, 9)) +>y : Symbol(X.y, Decl(thisCapture1.ts, 0, 9)) public getSettings(keys: string[]): any { ->getSettings : Symbol(getSettings, Decl(thisCapture1.ts, 1, 18)) +>getSettings : Symbol(X.getSettings, Decl(thisCapture1.ts, 1, 18)) >keys : Symbol(keys, Decl(thisCapture1.ts, 2, 23)) var ret: any; @@ -16,9 +16,9 @@ class X { >ret : Symbol(ret, Decl(thisCapture1.ts, 3, 11)) this.y = 0; ->this.y : Symbol(y, Decl(thisCapture1.ts, 0, 9)) +>this.y : Symbol(X.y, Decl(thisCapture1.ts, 0, 9)) >this : Symbol(X, Decl(thisCapture1.ts, 0, 0)) ->y : Symbol(y, Decl(thisCapture1.ts, 0, 9)) +>y : Symbol(X.y, Decl(thisCapture1.ts, 0, 9)) }).promise(); } diff --git a/tests/baselines/reference/thisExpressionOfGenericObject.symbols b/tests/baselines/reference/thisExpressionOfGenericObject.symbols index f923b675e5d..4f0affe548b 100644 --- a/tests/baselines/reference/thisExpressionOfGenericObject.symbols +++ b/tests/baselines/reference/thisExpressionOfGenericObject.symbols @@ -4,7 +4,7 @@ class MyClass1 { >T : Symbol(T, Decl(thisExpressionOfGenericObject.ts, 0, 15)) private obj: MyClass1; ->obj : Symbol(obj, Decl(thisExpressionOfGenericObject.ts, 0, 19)) +>obj : Symbol(MyClass1.obj, Decl(thisExpressionOfGenericObject.ts, 0, 19)) >MyClass1 : Symbol(MyClass1, Decl(thisExpressionOfGenericObject.ts, 0, 0)) constructor() { diff --git a/tests/baselines/reference/thisInInnerFunctions.symbols b/tests/baselines/reference/thisInInnerFunctions.symbols index 70c9106f9f8..c981180ec79 100644 --- a/tests/baselines/reference/thisInInnerFunctions.symbols +++ b/tests/baselines/reference/thisInInnerFunctions.symbols @@ -3,10 +3,10 @@ class Foo { >Foo : Symbol(Foo, Decl(thisInInnerFunctions.ts, 0, 0)) x = "hello"; ->x : Symbol(x, Decl(thisInInnerFunctions.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(thisInInnerFunctions.ts, 0, 11)) bar() { ->bar : Symbol(bar, Decl(thisInInnerFunctions.ts, 1, 16)) +>bar : Symbol(Foo.bar, Decl(thisInInnerFunctions.ts, 1, 16)) function inner() { >inner : Symbol(inner, Decl(thisInInnerFunctions.ts, 2, 11)) diff --git a/tests/baselines/reference/thisInInstanceMemberInitializer.symbols b/tests/baselines/reference/thisInInstanceMemberInitializer.symbols index 2690bb1b73e..00a0f92e439 100644 --- a/tests/baselines/reference/thisInInstanceMemberInitializer.symbols +++ b/tests/baselines/reference/thisInInstanceMemberInitializer.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(thisInInstanceMemberInitializer.ts, 0, 0)) x = this; ->x : Symbol(x, Decl(thisInInstanceMemberInitializer.ts, 0, 9)) +>x : Symbol(C.x, Decl(thisInInstanceMemberInitializer.ts, 0, 9)) >this : Symbol(C, Decl(thisInInstanceMemberInitializer.ts, 0, 0)) } @@ -12,10 +12,10 @@ class D { >T : Symbol(T, Decl(thisInInstanceMemberInitializer.ts, 4, 8)) x = this; ->x : Symbol(x, Decl(thisInInstanceMemberInitializer.ts, 4, 12)) +>x : Symbol(D.x, Decl(thisInInstanceMemberInitializer.ts, 4, 12)) >this : Symbol(D, Decl(thisInInstanceMemberInitializer.ts, 2, 1)) y: T; ->y : Symbol(y, Decl(thisInInstanceMemberInitializer.ts, 5, 13)) +>y : Symbol(D.y, Decl(thisInInstanceMemberInitializer.ts, 5, 13)) >T : Symbol(T, Decl(thisInInstanceMemberInitializer.ts, 4, 8)) } diff --git a/tests/baselines/reference/thisInLambda.symbols b/tests/baselines/reference/thisInLambda.symbols index e760c1b1c02..79a43a59037 100644 --- a/tests/baselines/reference/thisInLambda.symbols +++ b/tests/baselines/reference/thisInLambda.symbols @@ -3,21 +3,21 @@ class Foo { >Foo : Symbol(Foo, Decl(thisInLambda.ts, 0, 0)) x = "hello"; ->x : Symbol(x, Decl(thisInLambda.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(thisInLambda.ts, 0, 11)) bar() { ->bar : Symbol(bar, Decl(thisInLambda.ts, 1, 16)) +>bar : Symbol(Foo.bar, Decl(thisInLambda.ts, 1, 16)) this.x; // 'this' is type 'Foo' ->this.x : Symbol(x, Decl(thisInLambda.ts, 0, 11)) +>this.x : Symbol(Foo.x, Decl(thisInLambda.ts, 0, 11)) >this : Symbol(Foo, Decl(thisInLambda.ts, 0, 0)) ->x : Symbol(x, Decl(thisInLambda.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(thisInLambda.ts, 0, 11)) var f = () => this.x; // 'this' should be type 'Foo' as well >f : Symbol(f, Decl(thisInLambda.ts, 4, 11)) ->this.x : Symbol(x, Decl(thisInLambda.ts, 0, 11)) +>this.x : Symbol(Foo.x, Decl(thisInLambda.ts, 0, 11)) >this : Symbol(Foo, Decl(thisInLambda.ts, 0, 0)) ->x : Symbol(x, Decl(thisInLambda.ts, 0, 11)) +>x : Symbol(Foo.x, Decl(thisInLambda.ts, 0, 11)) } } diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols b/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols index 9d405b8f6f6..12d3b2db31e 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols @@ -3,7 +3,7 @@ class Bug { >Bug : Symbol(Bug, Decl(thisInPropertyBoundDeclarations.ts, 0, 0)) private name: string; ->name : Symbol(name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) +>name : Symbol(Bug.name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) private static func: Function[] = [ >func : Symbol(Bug.func, Decl(thisInPropertyBoundDeclarations.ts, 1, 25)) @@ -23,13 +23,13 @@ class Bug { ]; private foo(name: string) { ->foo : Symbol(foo, Decl(thisInPropertyBoundDeclarations.ts, 7, 6)) +>foo : Symbol(Bug.foo, Decl(thisInPropertyBoundDeclarations.ts, 7, 6)) >name : Symbol(name, Decl(thisInPropertyBoundDeclarations.ts, 9, 16)) this.name = name; ->this.name : Symbol(name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) +>this.name : Symbol(Bug.name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) >this : Symbol(Bug, Decl(thisInPropertyBoundDeclarations.ts, 0, 0)) ->name : Symbol(name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) +>name : Symbol(Bug.name, Decl(thisInPropertyBoundDeclarations.ts, 0, 11)) >name : Symbol(name, Decl(thisInPropertyBoundDeclarations.ts, 9, 16)) } } @@ -39,13 +39,13 @@ class A { >A : Symbol(A, Decl(thisInPropertyBoundDeclarations.ts, 12, 1)) prop1 = function() { ->prop1 : Symbol(prop1, Decl(thisInPropertyBoundDeclarations.ts, 15, 9)) +>prop1 : Symbol(A.prop1, Decl(thisInPropertyBoundDeclarations.ts, 15, 9)) this; }; prop2 = function() { ->prop2 : Symbol(prop2, Decl(thisInPropertyBoundDeclarations.ts, 18, 6)) +>prop2 : Symbol(A.prop2, Decl(thisInPropertyBoundDeclarations.ts, 18, 6)) function inner() { >inner : Symbol(inner, Decl(thisInPropertyBoundDeclarations.ts, 20, 24)) @@ -56,7 +56,7 @@ class A { }; prop3 = () => { ->prop3 : Symbol(prop3, Decl(thisInPropertyBoundDeclarations.ts, 25, 6)) +>prop3 : Symbol(A.prop3, Decl(thisInPropertyBoundDeclarations.ts, 25, 6)) function inner() { >inner : Symbol(inner, Decl(thisInPropertyBoundDeclarations.ts, 27, 19)) @@ -66,7 +66,7 @@ class A { }; prop4 = { ->prop4 : Symbol(prop4, Decl(thisInPropertyBoundDeclarations.ts, 31, 6)) +>prop4 : Symbol(A.prop4, Decl(thisInPropertyBoundDeclarations.ts, 31, 6)) a: function() { return this; }, >a : Symbol(a, Decl(thisInPropertyBoundDeclarations.ts, 33, 13)) @@ -74,7 +74,7 @@ class A { }; prop5 = () => { ->prop5 : Symbol(prop5, Decl(thisInPropertyBoundDeclarations.ts, 35, 6)) +>prop5 : Symbol(A.prop5, Decl(thisInPropertyBoundDeclarations.ts, 35, 6)) return { a: function() { return this; }, @@ -88,19 +88,19 @@ class B { >B : Symbol(B, Decl(thisInPropertyBoundDeclarations.ts, 42, 1)) prop1 = this; ->prop1 : Symbol(prop1, Decl(thisInPropertyBoundDeclarations.ts, 44, 9)) +>prop1 : Symbol(B.prop1, Decl(thisInPropertyBoundDeclarations.ts, 44, 9)) >this : Symbol(B, Decl(thisInPropertyBoundDeclarations.ts, 42, 1)) prop2 = () => this; ->prop2 : Symbol(prop2, Decl(thisInPropertyBoundDeclarations.ts, 45, 17)) +>prop2 : Symbol(B.prop2, Decl(thisInPropertyBoundDeclarations.ts, 45, 17)) >this : Symbol(B, Decl(thisInPropertyBoundDeclarations.ts, 42, 1)) prop3 = () => () => () => () => this; ->prop3 : Symbol(prop3, Decl(thisInPropertyBoundDeclarations.ts, 47, 23)) +>prop3 : Symbol(B.prop3, Decl(thisInPropertyBoundDeclarations.ts, 47, 23)) >this : Symbol(B, Decl(thisInPropertyBoundDeclarations.ts, 42, 1)) prop4 = ' ' + ->prop4 : Symbol(prop4, Decl(thisInPropertyBoundDeclarations.ts, 49, 41)) +>prop4 : Symbol(B.prop4, Decl(thisInPropertyBoundDeclarations.ts, 49, 41)) function() { } + @@ -109,7 +109,7 @@ class B { >this : Symbol(B, Decl(thisInPropertyBoundDeclarations.ts, 42, 1)) prop5 = { ->prop5 : Symbol(prop5, Decl(thisInPropertyBoundDeclarations.ts, 55, 29)) +>prop5 : Symbol(B.prop5, Decl(thisInPropertyBoundDeclarations.ts, 55, 29)) a: () => { return this; } >a : Symbol(a, Decl(thisInPropertyBoundDeclarations.ts, 57, 13)) @@ -118,7 +118,7 @@ class B { }; prop6 = () => { ->prop6 : Symbol(prop6, Decl(thisInPropertyBoundDeclarations.ts, 59, 6)) +>prop6 : Symbol(B.prop6, Decl(thisInPropertyBoundDeclarations.ts, 59, 6)) return { a: () => { return this; } diff --git a/tests/baselines/reference/thisTypeAndConstraints.symbols b/tests/baselines/reference/thisTypeAndConstraints.symbols index 5f93df22c1a..777a19a95fd 100644 --- a/tests/baselines/reference/thisTypeAndConstraints.symbols +++ b/tests/baselines/reference/thisTypeAndConstraints.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(thisTypeAndConstraints.ts, 0, 0)) self() { ->self : Symbol(self, Decl(thisTypeAndConstraints.ts, 0, 9)) +>self : Symbol(A.self, Decl(thisTypeAndConstraints.ts, 0, 9)) return this; >this : Symbol(A, Decl(thisTypeAndConstraints.ts, 0, 0)) @@ -43,7 +43,7 @@ class B { >A : Symbol(A, Decl(thisTypeAndConstraints.ts, 0, 0)) foo(x: T) { ->foo : Symbol(foo, Decl(thisTypeAndConstraints.ts, 13, 22)) +>foo : Symbol(B.foo, Decl(thisTypeAndConstraints.ts, 13, 22)) >x : Symbol(x, Decl(thisTypeAndConstraints.ts, 14, 8)) >T : Symbol(T, Decl(thisTypeAndConstraints.ts, 13, 8)) @@ -54,7 +54,7 @@ class B { >self : Symbol(A.self, Decl(thisTypeAndConstraints.ts, 0, 9)) } bar(x: U) { ->bar : Symbol(bar, Decl(thisTypeAndConstraints.ts, 16, 5)) +>bar : Symbol(B.bar, Decl(thisTypeAndConstraints.ts, 16, 5)) >U : Symbol(U, Decl(thisTypeAndConstraints.ts, 17, 8)) >T : Symbol(T, Decl(thisTypeAndConstraints.ts, 13, 8)) >x : Symbol(x, Decl(thisTypeAndConstraints.ts, 17, 21)) diff --git a/tests/baselines/reference/thisTypeAsConstraint.symbols b/tests/baselines/reference/thisTypeAsConstraint.symbols index 020dd966cad..ae1407bd253 100644 --- a/tests/baselines/reference/thisTypeAsConstraint.symbols +++ b/tests/baselines/reference/thisTypeAsConstraint.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(thisTypeAsConstraint.ts, 0, 0)) public m() { ->m : Symbol(m, Decl(thisTypeAsConstraint.ts, 0, 9)) +>m : Symbol(C.m, Decl(thisTypeAsConstraint.ts, 0, 9)) >T : Symbol(T, Decl(thisTypeAsConstraint.ts, 1, 11)) } } diff --git a/tests/baselines/reference/thisTypeInClasses.symbols b/tests/baselines/reference/thisTypeInClasses.symbols index 5ae45b923af..e10379dc785 100644 --- a/tests/baselines/reference/thisTypeInClasses.symbols +++ b/tests/baselines/reference/thisTypeInClasses.symbols @@ -3,10 +3,10 @@ class C1 { >C1 : Symbol(C1, Decl(thisTypeInClasses.ts, 0, 0)) x: this; ->x : Symbol(x, Decl(thisTypeInClasses.ts, 0, 10)) +>x : Symbol(C1.x, Decl(thisTypeInClasses.ts, 0, 10)) f(x: this): this { return undefined; } ->f : Symbol(f, Decl(thisTypeInClasses.ts, 1, 12)) +>f : Symbol(C1.f, Decl(thisTypeInClasses.ts, 1, 12)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 2, 6)) >undefined : Symbol(undefined) } @@ -23,51 +23,51 @@ interface Foo { >T : Symbol(T, Decl(thisTypeInClasses.ts, 9, 14)) x: T; ->x : Symbol(x, Decl(thisTypeInClasses.ts, 9, 18)) +>x : Symbol(Foo.x, Decl(thisTypeInClasses.ts, 9, 18)) >T : Symbol(T, Decl(thisTypeInClasses.ts, 9, 14)) y: this; ->y : Symbol(y, Decl(thisTypeInClasses.ts, 10, 9)) +>y : Symbol(Foo.y, Decl(thisTypeInClasses.ts, 10, 9)) } class C3 { >C3 : Symbol(C3, Decl(thisTypeInClasses.ts, 12, 1)) a: this[]; ->a : Symbol(a, Decl(thisTypeInClasses.ts, 14, 10)) +>a : Symbol(C3.a, Decl(thisTypeInClasses.ts, 14, 10)) b: [this, this]; ->b : Symbol(b, Decl(thisTypeInClasses.ts, 15, 14)) +>b : Symbol(C3.b, Decl(thisTypeInClasses.ts, 15, 14)) c: this | Date; ->c : Symbol(c, Decl(thisTypeInClasses.ts, 16, 20)) +>c : Symbol(C3.c, Decl(thisTypeInClasses.ts, 16, 20)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) d: this & Date; ->d : Symbol(d, Decl(thisTypeInClasses.ts, 17, 19)) +>d : Symbol(C3.d, Decl(thisTypeInClasses.ts, 17, 19)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) e: (((this))); ->e : Symbol(e, Decl(thisTypeInClasses.ts, 18, 19)) +>e : Symbol(C3.e, Decl(thisTypeInClasses.ts, 18, 19)) f: (x: this) => this; ->f : Symbol(f, Decl(thisTypeInClasses.ts, 19, 18)) +>f : Symbol(C3.f, Decl(thisTypeInClasses.ts, 19, 18)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 20, 8)) g: new (x: this) => this; ->g : Symbol(g, Decl(thisTypeInClasses.ts, 20, 25)) +>g : Symbol(C3.g, Decl(thisTypeInClasses.ts, 20, 25)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 21, 12)) h: Foo; ->h : Symbol(h, Decl(thisTypeInClasses.ts, 21, 29)) +>h : Symbol(C3.h, Decl(thisTypeInClasses.ts, 21, 29)) >Foo : Symbol(Foo, Decl(thisTypeInClasses.ts, 7, 1)) i: Foo this)>; ->i : Symbol(i, Decl(thisTypeInClasses.ts, 22, 17)) +>i : Symbol(C3.i, Decl(thisTypeInClasses.ts, 22, 17)) >Foo : Symbol(Foo, Decl(thisTypeInClasses.ts, 7, 1)) j: (x: any) => x is this; ->j : Symbol(j, Decl(thisTypeInClasses.ts, 23, 32)) +>j : Symbol(C3.j, Decl(thisTypeInClasses.ts, 23, 32)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 24, 8)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 24, 8)) } @@ -76,10 +76,10 @@ declare class C4 { >C4 : Symbol(C4, Decl(thisTypeInClasses.ts, 25, 1)) x: this; ->x : Symbol(x, Decl(thisTypeInClasses.ts, 27, 18)) +>x : Symbol(C4.x, Decl(thisTypeInClasses.ts, 27, 18)) f(x: this): this; ->f : Symbol(f, Decl(thisTypeInClasses.ts, 28, 12)) +>f : Symbol(C4.f, Decl(thisTypeInClasses.ts, 28, 12)) >x : Symbol(x, Decl(thisTypeInClasses.ts, 29, 6)) } @@ -87,7 +87,7 @@ class C5 { >C5 : Symbol(C5, Decl(thisTypeInClasses.ts, 30, 1)) foo() { ->foo : Symbol(foo, Decl(thisTypeInClasses.ts, 32, 10)) +>foo : Symbol(C5.foo, Decl(thisTypeInClasses.ts, 32, 10)) let f1 = (x: this): this => this; >f1 : Symbol(f1, Decl(thisTypeInClasses.ts, 34, 11)) @@ -122,7 +122,7 @@ class C5 { } } bar() { ->bar : Symbol(bar, Decl(thisTypeInClasses.ts, 43, 5)) +>bar : Symbol(C5.bar, Decl(thisTypeInClasses.ts, 43, 5)) let x1 = undefined; >x1 : Symbol(x1, Decl(thisTypeInClasses.ts, 45, 11)) diff --git a/tests/baselines/reference/thisTypeInInterfaces.symbols b/tests/baselines/reference/thisTypeInInterfaces.symbols index 4ab896ae6f6..b5aba20e1f0 100644 --- a/tests/baselines/reference/thisTypeInInterfaces.symbols +++ b/tests/baselines/reference/thisTypeInInterfaces.symbols @@ -3,10 +3,10 @@ interface I1 { >I1 : Symbol(I1, Decl(thisTypeInInterfaces.ts, 0, 0)) x: this; ->x : Symbol(x, Decl(thisTypeInInterfaces.ts, 0, 14)) +>x : Symbol(I1.x, Decl(thisTypeInInterfaces.ts, 0, 14)) f(x: this): this; ->f : Symbol(f, Decl(thisTypeInInterfaces.ts, 1, 12)) +>f : Symbol(I1.f, Decl(thisTypeInInterfaces.ts, 1, 12)) >x : Symbol(x, Decl(thisTypeInInterfaces.ts, 2, 6)) } @@ -28,51 +28,51 @@ interface Foo { >T : Symbol(T, Decl(thisTypeInInterfaces.ts, 11, 14)) x: T; ->x : Symbol(x, Decl(thisTypeInInterfaces.ts, 11, 18)) +>x : Symbol(Foo.x, Decl(thisTypeInInterfaces.ts, 11, 18)) >T : Symbol(T, Decl(thisTypeInInterfaces.ts, 11, 14)) y: this; ->y : Symbol(y, Decl(thisTypeInInterfaces.ts, 12, 9)) +>y : Symbol(Foo.y, Decl(thisTypeInInterfaces.ts, 12, 9)) } interface I3 { >I3 : Symbol(I3, Decl(thisTypeInInterfaces.ts, 14, 1)) a: this[]; ->a : Symbol(a, Decl(thisTypeInInterfaces.ts, 16, 14)) +>a : Symbol(I3.a, Decl(thisTypeInInterfaces.ts, 16, 14)) b: [this, this]; ->b : Symbol(b, Decl(thisTypeInInterfaces.ts, 17, 14)) +>b : Symbol(I3.b, Decl(thisTypeInInterfaces.ts, 17, 14)) c: this | Date; ->c : Symbol(c, Decl(thisTypeInInterfaces.ts, 18, 20)) +>c : Symbol(I3.c, Decl(thisTypeInInterfaces.ts, 18, 20)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) d: this & Date; ->d : Symbol(d, Decl(thisTypeInInterfaces.ts, 19, 19)) +>d : Symbol(I3.d, Decl(thisTypeInInterfaces.ts, 19, 19)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) e: (((this))); ->e : Symbol(e, Decl(thisTypeInInterfaces.ts, 20, 19)) +>e : Symbol(I3.e, Decl(thisTypeInInterfaces.ts, 20, 19)) f: (x: this) => this; ->f : Symbol(f, Decl(thisTypeInInterfaces.ts, 21, 18)) +>f : Symbol(I3.f, Decl(thisTypeInInterfaces.ts, 21, 18)) >x : Symbol(x, Decl(thisTypeInInterfaces.ts, 22, 8)) g: new (x: this) => this; ->g : Symbol(g, Decl(thisTypeInInterfaces.ts, 22, 25)) +>g : Symbol(I3.g, Decl(thisTypeInInterfaces.ts, 22, 25)) >x : Symbol(x, Decl(thisTypeInInterfaces.ts, 23, 12)) h: Foo; ->h : Symbol(h, Decl(thisTypeInInterfaces.ts, 23, 29)) +>h : Symbol(I3.h, Decl(thisTypeInInterfaces.ts, 23, 29)) >Foo : Symbol(Foo, Decl(thisTypeInInterfaces.ts, 9, 1)) i: Foo this)>; ->i : Symbol(i, Decl(thisTypeInInterfaces.ts, 24, 17)) +>i : Symbol(I3.i, Decl(thisTypeInInterfaces.ts, 24, 17)) >Foo : Symbol(Foo, Decl(thisTypeInInterfaces.ts, 9, 1)) j: (x: any) => x is this; ->j : Symbol(j, Decl(thisTypeInInterfaces.ts, 25, 32)) +>j : Symbol(I3.j, Decl(thisTypeInInterfaces.ts, 25, 32)) >x : Symbol(x, Decl(thisTypeInInterfaces.ts, 26, 8)) >x : Symbol(x, Decl(thisTypeInInterfaces.ts, 26, 8)) } diff --git a/tests/baselines/reference/thisTypeInTuples.symbols b/tests/baselines/reference/thisTypeInTuples.symbols index 256f182dd69..44f8660f691 100644 --- a/tests/baselines/reference/thisTypeInTuples.symbols +++ b/tests/baselines/reference/thisTypeInTuples.symbols @@ -4,7 +4,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 16)) slice(): this; ->slice : Symbol(slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) } let t: [number, string] = [42, "hello"]; diff --git a/tests/baselines/reference/throwInEnclosingStatements.symbols b/tests/baselines/reference/throwInEnclosingStatements.symbols index 42053c60efa..63ed9dde578 100644 --- a/tests/baselines/reference/throwInEnclosingStatements.symbols +++ b/tests/baselines/reference/throwInEnclosingStatements.symbols @@ -61,16 +61,16 @@ class C { >T : Symbol(T, Decl(throwInEnclosingStatements.ts, 29, 8)) private value: T; ->value : Symbol(value, Decl(throwInEnclosingStatements.ts, 29, 12)) +>value : Symbol(C.value, Decl(throwInEnclosingStatements.ts, 29, 12)) >T : Symbol(T, Decl(throwInEnclosingStatements.ts, 29, 8)) biz() { ->biz : Symbol(biz, Decl(throwInEnclosingStatements.ts, 30, 21)) +>biz : Symbol(C.biz, Decl(throwInEnclosingStatements.ts, 30, 21)) throw this.value; ->this.value : Symbol(value, Decl(throwInEnclosingStatements.ts, 29, 12)) +>this.value : Symbol(C.value, Decl(throwInEnclosingStatements.ts, 29, 12)) >this : Symbol(C, Decl(throwInEnclosingStatements.ts, 27, 26)) ->value : Symbol(value, Decl(throwInEnclosingStatements.ts, 29, 12)) +>value : Symbol(C.value, Decl(throwInEnclosingStatements.ts, 29, 12)) } constructor() { diff --git a/tests/baselines/reference/throwStatements.symbols b/tests/baselines/reference/throwStatements.symbols index adf9cb461cf..ddda19ef3dc 100644 --- a/tests/baselines/reference/throwStatements.symbols +++ b/tests/baselines/reference/throwStatements.symbols @@ -6,7 +6,7 @@ interface I { >I : Symbol(I, Decl(throwStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(throwStatements.ts, 3, 13)) +>id : Symbol(I.id, Decl(throwStatements.ts, 3, 13)) } class C implements I { @@ -14,7 +14,7 @@ class C implements I { >I : Symbol(I, Decl(throwStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(throwStatements.ts, 7, 22)) +>id : Symbol(C.id, Decl(throwStatements.ts, 7, 22)) } class D{ @@ -22,16 +22,16 @@ class D{ >T : Symbol(T, Decl(throwStatements.ts, 11, 8)) source: T; ->source : Symbol(source, Decl(throwStatements.ts, 11, 11)) +>source : Symbol(D.source, Decl(throwStatements.ts, 11, 11)) >T : Symbol(T, Decl(throwStatements.ts, 11, 8)) recurse: D; ->recurse : Symbol(recurse, Decl(throwStatements.ts, 12, 14)) +>recurse : Symbol(D.recurse, Decl(throwStatements.ts, 12, 14)) >D : Symbol(D, Decl(throwStatements.ts, 9, 1)) >T : Symbol(T, Decl(throwStatements.ts, 11, 8)) wrapped: D> ->wrapped : Symbol(wrapped, Decl(throwStatements.ts, 13, 18)) +>wrapped : Symbol(D.wrapped, Decl(throwStatements.ts, 13, 18)) >D : Symbol(D, Decl(throwStatements.ts, 9, 1)) >D : Symbol(D, Decl(throwStatements.ts, 9, 1)) >T : Symbol(T, Decl(throwStatements.ts, 11, 8)) @@ -48,7 +48,7 @@ module M { >A : Symbol(A, Decl(throwStatements.ts, 19, 10)) name: string; ->name : Symbol(name, Decl(throwStatements.ts, 20, 20)) +>name : Symbol(A.name, Decl(throwStatements.ts, 20, 20)) } export function F2(x: number): string { return x.toString(); } diff --git a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols index 752e75d4901..9a6549577d2 100644 --- a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols +++ b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols @@ -5,17 +5,17 @@ interface Collection { >U : Symbol(U, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 23)) length: number; ->length : Symbol(length, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 28)) +>length : Symbol(Collection.length, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 28)) add(x: T, y: U): void; ->add : Symbol(add, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 1, 19)) +>add : Symbol(Collection.add, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 1, 19)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 2, 8)) >T : Symbol(T, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 21)) >y : Symbol(y, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 2, 13)) >U : Symbol(U, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 23)) remove(x: T, y: U): boolean; ->remove : Symbol(remove, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 2, 26)) +>remove : Symbol(Collection.remove, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 2, 26)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 3, 11)) >T : Symbol(T, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 0, 21)) >y : Symbol(y, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 3, 16)) @@ -25,7 +25,7 @@ interface Combinators { >Combinators : Symbol(Combinators, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 4, 1)) map(c: Collection, f: (x: T, y: U) => V): Collection; ->map : Symbol(map, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 5, 23), Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 77)) +>map : Symbol(Combinators.map, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 5, 23), Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 77)) >T : Symbol(T, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 8)) >U : Symbol(U, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 10)) >V : Symbol(V, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 13)) @@ -44,7 +44,7 @@ interface Combinators { >V : Symbol(V, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 13)) map(c: Collection, f: (x: T, y: U) => any): Collection; ->map : Symbol(map, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 5, 23), Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 77)) +>map : Symbol(Combinators.map, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 5, 23), Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 77)) >T : Symbol(T, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 7, 8)) >U : Symbol(U, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 7, 10)) >c : Symbol(c, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 7, 14)) diff --git a/tests/baselines/reference/topLevel.symbols b/tests/baselines/reference/topLevel.symbols index ebca65a13cf..a98b51d2b87 100644 --- a/tests/baselines/reference/topLevel.symbols +++ b/tests/baselines/reference/topLevel.symbols @@ -3,10 +3,10 @@ interface IPoint { >IPoint : Symbol(IPoint, Decl(topLevel.ts, 0, 0)) x:number; ->x : Symbol(x, Decl(topLevel.ts, 0, 18)) +>x : Symbol(IPoint.x, Decl(topLevel.ts, 0, 18)) y:number; ->y : Symbol(y, Decl(topLevel.ts, 1, 13)) +>y : Symbol(IPoint.y, Decl(topLevel.ts, 1, 13)) } class Point implements IPoint { @@ -14,39 +14,39 @@ class Point implements IPoint { >IPoint : Symbol(IPoint, Decl(topLevel.ts, 0, 0)) constructor(public x,public y){} ->x : Symbol(x, Decl(topLevel.ts, 6, 16)) ->y : Symbol(y, Decl(topLevel.ts, 6, 25)) +>x : Symbol(Point.x, Decl(topLevel.ts, 6, 16)) +>y : Symbol(Point.y, Decl(topLevel.ts, 6, 25)) public move(xo:number,yo:number) { ->move : Symbol(move, Decl(topLevel.ts, 6, 36)) +>move : Symbol(Point.move, Decl(topLevel.ts, 6, 36)) >xo : Symbol(xo, Decl(topLevel.ts, 7, 16)) >yo : Symbol(yo, Decl(topLevel.ts, 7, 26)) this.x+=xo; ->this.x : Symbol(x, Decl(topLevel.ts, 6, 16)) +>this.x : Symbol(Point.x, Decl(topLevel.ts, 6, 16)) >this : Symbol(Point, Decl(topLevel.ts, 3, 1)) ->x : Symbol(x, Decl(topLevel.ts, 6, 16)) +>x : Symbol(Point.x, Decl(topLevel.ts, 6, 16)) >xo : Symbol(xo, Decl(topLevel.ts, 7, 16)) this.y+=yo; ->this.y : Symbol(y, Decl(topLevel.ts, 6, 25)) +>this.y : Symbol(Point.y, Decl(topLevel.ts, 6, 25)) >this : Symbol(Point, Decl(topLevel.ts, 3, 1)) ->y : Symbol(y, Decl(topLevel.ts, 6, 25)) +>y : Symbol(Point.y, Decl(topLevel.ts, 6, 25)) >yo : Symbol(yo, Decl(topLevel.ts, 7, 26)) return this; >this : Symbol(Point, Decl(topLevel.ts, 3, 1)) } public toString() { ->toString : Symbol(toString, Decl(topLevel.ts, 11, 5)) +>toString : Symbol(Point.toString, Decl(topLevel.ts, 11, 5)) return ("("+this.x+","+this.y+")"); ->this.x : Symbol(x, Decl(topLevel.ts, 6, 16)) +>this.x : Symbol(Point.x, Decl(topLevel.ts, 6, 16)) >this : Symbol(Point, Decl(topLevel.ts, 3, 1)) ->x : Symbol(x, Decl(topLevel.ts, 6, 16)) ->this.y : Symbol(y, Decl(topLevel.ts, 6, 25)) +>x : Symbol(Point.x, Decl(topLevel.ts, 6, 16)) +>this.y : Symbol(Point.y, Decl(topLevel.ts, 6, 25)) >this : Symbol(Point, Decl(topLevel.ts, 3, 1)) ->y : Symbol(y, Decl(topLevel.ts, 6, 25)) +>y : Symbol(Point.y, Decl(topLevel.ts, 6, 25)) } } diff --git a/tests/baselines/reference/transitiveTypeArgumentInference1.symbols b/tests/baselines/reference/transitiveTypeArgumentInference1.symbols index 625857e11be..912e0d94f35 100644 --- a/tests/baselines/reference/transitiveTypeArgumentInference1.symbols +++ b/tests/baselines/reference/transitiveTypeArgumentInference1.symbols @@ -5,7 +5,7 @@ interface I1 { >U : Symbol(U, Decl(transitiveTypeArgumentInference1.ts, 0, 15)) m(value: T): U; ->m : Symbol(m, Decl(transitiveTypeArgumentInference1.ts, 0, 20)) +>m : Symbol(I1.m, Decl(transitiveTypeArgumentInference1.ts, 0, 20)) >value : Symbol(value, Decl(transitiveTypeArgumentInference1.ts, 1, 3)) >T : Symbol(T, Decl(transitiveTypeArgumentInference1.ts, 0, 13)) >U : Symbol(U, Decl(transitiveTypeArgumentInference1.ts, 0, 15)) diff --git a/tests/baselines/reference/tsxAttributeResolution.symbols b/tests/baselines/reference/tsxAttributeResolution.symbols index a40be3861b3..bb0c5e7878f 100644 --- a/tests/baselines/reference/tsxAttributeResolution.symbols +++ b/tests/baselines/reference/tsxAttributeResolution.symbols @@ -7,7 +7,7 @@ declare namespace JSX { >IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxAttributeResolution.tsx, 1, 23)) x: { y: number; z: string; }; ->x : Symbol(x, Decl(tsxAttributeResolution.tsx, 2, 30)) +>x : Symbol(IntrinsicElements.x, Decl(tsxAttributeResolution.tsx, 2, 30)) >y : Symbol(y, Decl(tsxAttributeResolution.tsx, 3, 6)) >z : Symbol(z, Decl(tsxAttributeResolution.tsx, 3, 17)) } diff --git a/tests/baselines/reference/tsxAttributeResolution8.symbols b/tests/baselines/reference/tsxAttributeResolution8.symbols index 58629c15b6f..354905faeec 100644 --- a/tests/baselines/reference/tsxAttributeResolution8.symbols +++ b/tests/baselines/reference/tsxAttributeResolution8.symbols @@ -9,7 +9,7 @@ declare module JSX { >IntrinsicElements : Symbol(IntrinsicElements, Decl(file.tsx, 1, 22)) test1: {x: string}; ->test1 : Symbol(test1, Decl(file.tsx, 2, 30)) +>test1 : Symbol(IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >x : Symbol(x, Decl(file.tsx, 3, 10)) } } diff --git a/tests/baselines/reference/tsxElementResolution.symbols b/tests/baselines/reference/tsxElementResolution.symbols index 4cdd0c23cf1..e9756e9efc9 100644 --- a/tests/baselines/reference/tsxElementResolution.symbols +++ b/tests/baselines/reference/tsxElementResolution.symbols @@ -7,7 +7,7 @@ declare namespace JSX { >IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxElementResolution.tsx, 1, 23)) foundFirst: { x: string }; ->foundFirst : Symbol(foundFirst, Decl(tsxElementResolution.tsx, 2, 30)) +>foundFirst : Symbol(IntrinsicElements.foundFirst, Decl(tsxElementResolution.tsx, 2, 30)) >x : Symbol(x, Decl(tsxElementResolution.tsx, 3, 15)) 'string_named'; diff --git a/tests/baselines/reference/tsxElementResolution13.symbols b/tests/baselines/reference/tsxElementResolution13.symbols index 4b6a5b4f4e7..9122f553a88 100644 --- a/tests/baselines/reference/tsxElementResolution13.symbols +++ b/tests/baselines/reference/tsxElementResolution13.symbols @@ -7,8 +7,8 @@ declare module JSX { interface ElementAttributesProperty { pr1: any; pr2: any; } >ElementAttributesProperty : Symbol(ElementAttributesProperty, Decl(file.tsx, 1, 22)) ->pr1 : Symbol(pr1, Decl(file.tsx, 2, 38)) ->pr2 : Symbol(pr2, Decl(file.tsx, 2, 48)) +>pr1 : Symbol(ElementAttributesProperty.pr1, Decl(file.tsx, 2, 38)) +>pr2 : Symbol(ElementAttributesProperty.pr2, Decl(file.tsx, 2, 48)) } interface Obj1 { diff --git a/tests/baselines/reference/tsxElementResolution9.symbols b/tests/baselines/reference/tsxElementResolution9.symbols index 0aec19a8094..d6b0da12e6f 100644 --- a/tests/baselines/reference/tsxElementResolution9.symbols +++ b/tests/baselines/reference/tsxElementResolution9.symbols @@ -4,7 +4,7 @@ declare module JSX { interface Element { something; } >Element : Symbol(Element, Decl(file.tsx, 0, 20)) ->something : Symbol(something, Decl(file.tsx, 1, 20)) +>something : Symbol(Element.something, Decl(file.tsx, 1, 20)) interface IntrinsicElements { } >IntrinsicElements : Symbol(IntrinsicElements, Decl(file.tsx, 1, 33)) diff --git a/tests/baselines/reference/tsxEmit1.symbols b/tests/baselines/reference/tsxEmit1.symbols index 9d373bc62be..9e32354b184 100644 --- a/tests/baselines/reference/tsxEmit1.symbols +++ b/tests/baselines/reference/tsxEmit1.symbols @@ -93,7 +93,7 @@ class SomeClass { >SomeClass : Symbol(SomeClass, Decl(file.tsx, 20, 43)) f() { ->f : Symbol(f, Decl(file.tsx, 22, 17)) +>f : Symbol(SomeClass.f, Decl(file.tsx, 22, 17)) var rewrites1 =
{() => this}
; >rewrites1 : Symbol(rewrites1, Decl(file.tsx, 24, 5)) diff --git a/tests/baselines/reference/tsxExternalModuleEmit1.symbols b/tests/baselines/reference/tsxExternalModuleEmit1.symbols index 79e20684b99..261a9035216 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit1.symbols +++ b/tests/baselines/reference/tsxExternalModuleEmit1.symbols @@ -22,7 +22,7 @@ export class App extends React.Component { >Component : Symbol(React.Component, Decl(react.d.ts, 1, 24)) render() { ->render : Symbol(render, Decl(app.tsx, 5, 52)) +>render : Symbol(App.render, Decl(app.tsx, 5, 52)) return ; >button : Symbol(unknown) diff --git a/tests/baselines/reference/tsxGenericArrowFunctionParsing.symbols b/tests/baselines/reference/tsxGenericArrowFunctionParsing.symbols index d2af8f5f32f..510e9e127a8 100644 --- a/tests/baselines/reference/tsxGenericArrowFunctionParsing.symbols +++ b/tests/baselines/reference/tsxGenericArrowFunctionParsing.symbols @@ -4,7 +4,7 @@ declare module JSX { interface Element { isElement; } >Element : Symbol(Element, Decl(file.tsx, 0, 20)) ->isElement : Symbol(isElement, Decl(file.tsx, 1, 20)) +>isElement : Symbol(Element.isElement, Decl(file.tsx, 1, 20)) } var T, T1, T2; diff --git a/tests/baselines/reference/tsxInArrowFunction.symbols b/tests/baselines/reference/tsxInArrowFunction.symbols index 5896dfa1eef..ff80428cf74 100644 --- a/tests/baselines/reference/tsxInArrowFunction.symbols +++ b/tests/baselines/reference/tsxInArrowFunction.symbols @@ -10,7 +10,7 @@ declare namespace JSX { >IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxInArrowFunction.tsx, 2, 25)) div: { ->div : Symbol(div, Decl(tsxInArrowFunction.tsx, 3, 33)) +>div : Symbol(IntrinsicElements.div, Decl(tsxInArrowFunction.tsx, 3, 33)) text?: string; >text : Symbol(text, Decl(tsxInArrowFunction.tsx, 4, 14)) diff --git a/tests/baselines/reference/tsxParseTests1.symbols b/tests/baselines/reference/tsxParseTests1.symbols index 0ee595a9a3d..905a7f4860b 100644 --- a/tests/baselines/reference/tsxParseTests1.symbols +++ b/tests/baselines/reference/tsxParseTests1.symbols @@ -7,8 +7,8 @@ declare module JSX { interface IntrinsicElements { div; span; } >IntrinsicElements : Symbol(IntrinsicElements, Decl(file.tsx, 1, 22)) ->div : Symbol(div, Decl(file.tsx, 2, 30)) ->span : Symbol(span, Decl(file.tsx, 2, 35)) +>div : Symbol(IntrinsicElements.div, Decl(file.tsx, 2, 30)) +>span : Symbol(IntrinsicElements.span, Decl(file.tsx, 2, 35)) } var x =
; diff --git a/tests/baselines/reference/tsxParseTests2.symbols b/tests/baselines/reference/tsxParseTests2.symbols index 690bc183ddd..396edca4a0a 100644 --- a/tests/baselines/reference/tsxParseTests2.symbols +++ b/tests/baselines/reference/tsxParseTests2.symbols @@ -7,8 +7,8 @@ declare module JSX { interface IntrinsicElements { div; span; } >IntrinsicElements : Symbol(IntrinsicElements, Decl(file.tsx, 1, 22)) ->div : Symbol(div, Decl(file.tsx, 2, 30)) ->span : Symbol(span, Decl(file.tsx, 2, 35)) +>div : Symbol(IntrinsicElements.div, Decl(file.tsx, 2, 30)) +>span : Symbol(IntrinsicElements.span, Decl(file.tsx, 2, 35)) } var x = ; diff --git a/tests/baselines/reference/tsxReactEmit1.symbols b/tests/baselines/reference/tsxReactEmit1.symbols index 640f666c0d8..6887a9550c0 100644 --- a/tests/baselines/reference/tsxReactEmit1.symbols +++ b/tests/baselines/reference/tsxReactEmit1.symbols @@ -97,7 +97,7 @@ class SomeClass { >SomeClass : Symbol(SomeClass, Decl(file.tsx, 21, 45)) f() { ->f : Symbol(f, Decl(file.tsx, 23, 17)) +>f : Symbol(SomeClass.f, Decl(file.tsx, 23, 17)) var rewrites1 =
{() => this}
; >rewrites1 : Symbol(rewrites1, Decl(file.tsx, 25, 5)) diff --git a/tests/baselines/reference/tsxTypeErrors.symbols b/tests/baselines/reference/tsxTypeErrors.symbols index 2b87e994477..062442cda16 100644 --- a/tests/baselines/reference/tsxTypeErrors.symbols +++ b/tests/baselines/reference/tsxTypeErrors.symbols @@ -34,7 +34,7 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(tsxTypeErrors.tsx, 12, 31)) props: { ->props : Symbol(props, Decl(tsxTypeErrors.tsx, 15, 15)) +>props : Symbol(MyClass.props, Decl(tsxTypeErrors.tsx, 15, 15)) pt?: { x: number; y: number; }; >pt : Symbol(pt, Decl(tsxTypeErrors.tsx, 16, 10)) diff --git a/tests/baselines/reference/tupleTypeInference.symbols b/tests/baselines/reference/tupleTypeInference.symbols index 4dbed73e395..ec825e81f4b 100644 --- a/tests/baselines/reference/tupleTypeInference.symbols +++ b/tests/baselines/reference/tupleTypeInference.symbols @@ -7,7 +7,7 @@ interface IQService { >IQService : Symbol(IQService, Decl(tupleTypeInference.ts, 0, 26)) all(x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; ->all : Symbol(all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) +>all : Symbol(IQService.all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) >T1 : Symbol(T1, Decl(tupleTypeInference.ts, 3, 8)) >T2 : Symbol(T2, Decl(tupleTypeInference.ts, 3, 11)) >T3 : Symbol(T3, Decl(tupleTypeInference.ts, 3, 15)) @@ -24,7 +24,7 @@ interface IQService { >T3 : Symbol(T3, Decl(tupleTypeInference.ts, 3, 15)) all(x: [IPromise, IPromise]): IPromise<[T1, T2]>; ->all : Symbol(all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) +>all : Symbol(IQService.all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) >T1 : Symbol(T1, Decl(tupleTypeInference.ts, 4, 8)) >T2 : Symbol(T2, Decl(tupleTypeInference.ts, 4, 11)) >x : Symbol(x, Decl(tupleTypeInference.ts, 4, 16)) @@ -37,7 +37,7 @@ interface IQService { >T2 : Symbol(T2, Decl(tupleTypeInference.ts, 4, 11)) all(x: [IPromise]): IPromise<[T1]>; ->all : Symbol(all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) +>all : Symbol(IQService.all, Decl(tupleTypeInference.ts, 2, 21), Decl(tupleTypeInference.ts, 3, 91), Decl(tupleTypeInference.ts, 4, 69)) >T1 : Symbol(T1, Decl(tupleTypeInference.ts, 5, 8)) >x : Symbol(x, Decl(tupleTypeInference.ts, 5, 12)) >IPromise : Symbol(IPromise, Decl(tupleTypeInference.ts, 7, 1)) @@ -46,7 +46,7 @@ interface IQService { >T1 : Symbol(T1, Decl(tupleTypeInference.ts, 5, 8)) when(t?: T): IPromise; ->when : Symbol(when, Decl(tupleTypeInference.ts, 5, 47)) +>when : Symbol(IQService.when, Decl(tupleTypeInference.ts, 5, 47)) >T : Symbol(T, Decl(tupleTypeInference.ts, 6, 9)) >t : Symbol(t, Decl(tupleTypeInference.ts, 6, 12)) >T : Symbol(T, Decl(tupleTypeInference.ts, 6, 9)) @@ -59,7 +59,7 @@ interface IPromise { >T : Symbol(T, Decl(tupleTypeInference.ts, 9, 19)) then(callback: (t: T) => TResult): IPromise; ->then : Symbol(then, Decl(tupleTypeInference.ts, 9, 23)) +>then : Symbol(IPromise.then, Decl(tupleTypeInference.ts, 9, 23)) >TResult : Symbol(TResult, Decl(tupleTypeInference.ts, 10, 9)) >callback : Symbol(callback, Decl(tupleTypeInference.ts, 10, 18)) >t : Symbol(t, Decl(tupleTypeInference.ts, 10, 29)) diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols index 5d46be73518..36b7775d585 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols @@ -5,11 +5,11 @@ interface A { >A : Symbol(A, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 0, 0), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 5, 1)) foo(x: number): number; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) +>foo : Symbol(A.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) +>foo : Symbol(A.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 4, 8)) } @@ -17,7 +17,7 @@ interface A { >A : Symbol(A, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 0, 0), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 5, 1)) foo(x: Date): Date; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) +>foo : Symbol(A.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 8, 8)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) @@ -28,12 +28,12 @@ interface B { >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 12)) foo(x: T): number; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) +>foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 8)) >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 12)) foo(x: string): string; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) +>foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 13, 8)) } @@ -42,13 +42,13 @@ interface B { >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 12)) foo(x: T): Date; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) +>foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 8)) >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 12)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: Date): string; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) +>foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 18, 8)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -70,14 +70,14 @@ interface C { >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 14)) foo(x: T, y: U): string; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) +>foo : Symbol(C.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 8)) >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 12)) >y : Symbol(y, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 13)) >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 14)) foo(x: string, y: string): number; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) +>foo : Symbol(C.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 27, 8)) >y : Symbol(y, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 27, 18)) } @@ -88,7 +88,7 @@ interface C { >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 14)) foo(x: W, y: W): W; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) +>foo : Symbol(C.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 25, 19), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 26, 28), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 30, 19)) >W : Symbol(W, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 31, 8)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 31, 11)) >W : Symbol(W, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 31, 8)) @@ -115,15 +115,15 @@ interface D { >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 14)) a: T; ->a : Symbol(a, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 19)) +>a : Symbol(D.a, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 19)) >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 12)) b: U; ->b : Symbol(b, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 39, 9)) +>b : Symbol(D.b, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 39, 9)) >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 14)) foo
(x: A, y: A): U; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 40, 9), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 19)) +>foo : Symbol(D.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 40, 9), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 19)) >A : Symbol(A, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 41, 8)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 41, 11)) >A : Symbol(A, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 41, 8)) @@ -138,7 +138,7 @@ interface D { >U : Symbol(U, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 38, 14), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 14)) foo(x: W, y: W): T; ->foo : Symbol(foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 40, 9), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 19)) +>foo : Symbol(D.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 40, 9), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 44, 19)) >W : Symbol(W, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 45, 8)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 45, 11)) >W : Symbol(W, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 45, 8)) diff --git a/tests/baselines/reference/typeAliases.symbols b/tests/baselines/reference/typeAliases.symbols index 02cc5027b04..bedd6c8bb69 100644 --- a/tests/baselines/reference/typeAliases.symbols +++ b/tests/baselines/reference/typeAliases.symbols @@ -53,7 +53,7 @@ var x5: T5; interface I6 { x : string } >I6 : Symbol(I6, Decl(typeAliases.ts, 20, 11)) ->x : Symbol(x, Decl(typeAliases.ts, 22, 14)) +>x : Symbol(I6.x, Decl(typeAliases.ts, 22, 14)) type T6 = I6; >T6 : Symbol(T6, Decl(typeAliases.ts, 22, 27)) @@ -69,7 +69,7 @@ var x6: T6; class C7 { x: boolean } >C7 : Symbol(C7, Decl(typeAliases.ts, 25, 11)) ->x : Symbol(x, Decl(typeAliases.ts, 27, 10)) +>x : Symbol(C7.x, Decl(typeAliases.ts, 27, 10)) type T7 = C7; >T7 : Symbol(T7, Decl(typeAliases.ts, 27, 23)) @@ -127,7 +127,7 @@ var x11: T11; interface I13 { x: string }; >I13 : Symbol(I13, Decl(typeAliases.ts, 46, 13)) ->x : Symbol(x, Decl(typeAliases.ts, 48, 15)) +>x : Symbol(I13.x, Decl(typeAliases.ts, 48, 15)) type T13 = I13; >T13 : Symbol(T13, Decl(typeAliases.ts, 48, 28)) diff --git a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.symbols b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.symbols index f172c91f265..1e7604b44e7 100644 --- a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.symbols +++ b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.symbols @@ -3,22 +3,22 @@ interface IMenuItem { >IMenuItem : Symbol(IMenuItem, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 0, 0)) id: string; ->id : Symbol(id, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 0, 21)) +>id : Symbol(IMenuItem.id, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 0, 21)) type: string; ->type : Symbol(type, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 1, 15)) +>type : Symbol(IMenuItem.type, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 1, 15)) link?: string; ->link : Symbol(link, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 2, 17)) +>link : Symbol(IMenuItem.link, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 2, 17)) classes?: string; ->classes : Symbol(classes, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 3, 18)) +>classes : Symbol(IMenuItem.classes, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 3, 18)) text?: string; ->text : Symbol(text, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 4, 21)) +>text : Symbol(IMenuItem.text, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 4, 21)) icon?: string; ->icon : Symbol(icon, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 5, 18)) +>icon : Symbol(IMenuItem.icon, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 5, 18)) } var menuData: IMenuItem[] = [ >menuData : Symbol(menuData, Decl(typeAnnotationBestCommonTypeInArrayLiteral.ts, 8, 3)) diff --git a/tests/baselines/reference/typeArgInference.symbols b/tests/baselines/reference/typeArgInference.symbols index 37318e35906..3801b996ed7 100644 --- a/tests/baselines/reference/typeArgInference.symbols +++ b/tests/baselines/reference/typeArgInference.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(typeArgInference.ts, 0, 0)) f(a1: { a: T; b: U }[], a2: { a: T; b: U }[]): { c: T; d: U }; ->f : Symbol(f, Decl(typeArgInference.ts, 0, 13)) +>f : Symbol(I.f, Decl(typeArgInference.ts, 0, 13)) >T : Symbol(T, Decl(typeArgInference.ts, 1, 6)) >U : Symbol(U, Decl(typeArgInference.ts, 1, 8)) >a1 : Symbol(a1, Decl(typeArgInference.ts, 1, 12)) @@ -22,7 +22,7 @@ interface I { >U : Symbol(U, Decl(typeArgInference.ts, 1, 8)) g(...arg: { a: T; b: U }[][]): { c: T; d: U }; ->g : Symbol(g, Decl(typeArgInference.ts, 1, 72)) +>g : Symbol(I.g, Decl(typeArgInference.ts, 1, 72)) >T : Symbol(T, Decl(typeArgInference.ts, 2, 6)) >U : Symbol(U, Decl(typeArgInference.ts, 2, 8)) >arg : Symbol(arg, Decl(typeArgInference.ts, 2, 12)) diff --git a/tests/baselines/reference/typeArgumentInferenceOrdering.symbols b/tests/baselines/reference/typeArgumentInferenceOrdering.symbols index 963be8731ec..630aebcf185 100644 --- a/tests/baselines/reference/typeArgumentInferenceOrdering.symbols +++ b/tests/baselines/reference/typeArgumentInferenceOrdering.symbols @@ -18,7 +18,7 @@ class C { >C : Symbol(C, Decl(typeArgumentInferenceOrdering.ts, 1, 23)) y: I; ->y : Symbol(y, Decl(typeArgumentInferenceOrdering.ts, 3, 9)) +>y : Symbol(C.y, Decl(typeArgumentInferenceOrdering.ts, 3, 9)) >I : Symbol(I, Decl(typeArgumentInferenceOrdering.ts, 5, 1)) } @@ -26,7 +26,7 @@ interface I { >I : Symbol(I, Decl(typeArgumentInferenceOrdering.ts, 5, 1)) x(): Goo; ->x : Symbol(x, Decl(typeArgumentInferenceOrdering.ts, 7, 13)) +>x : Symbol(I.x, Decl(typeArgumentInferenceOrdering.ts, 7, 13)) >Goo : Symbol(Goo, Decl(typeArgumentInferenceOrdering.ts, 9, 1)) } @@ -34,6 +34,6 @@ interface Goo { >Goo : Symbol(Goo, Decl(typeArgumentInferenceOrdering.ts, 9, 1)) p: string; ->p : Symbol(p, Decl(typeArgumentInferenceOrdering.ts, 11, 15)) +>p : Symbol(Goo.p, Decl(typeArgumentInferenceOrdering.ts, 11, 15)) } diff --git a/tests/baselines/reference/typeConstraintsWithConstructSignatures.symbols b/tests/baselines/reference/typeConstraintsWithConstructSignatures.symbols index f8848afcfab..6c6450ffd0e 100644 --- a/tests/baselines/reference/typeConstraintsWithConstructSignatures.symbols +++ b/tests/baselines/reference/typeConstraintsWithConstructSignatures.symbols @@ -11,25 +11,25 @@ class C { >Constructable : Symbol(Constructable, Decl(typeConstraintsWithConstructSignatures.ts, 0, 0)) constructor(public data: T, public data2: Constructable) { } ->data : Symbol(data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) +>data : Symbol(C.data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) >T : Symbol(T, Decl(typeConstraintsWithConstructSignatures.ts, 4, 8)) ->data2 : Symbol(data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) +>data2 : Symbol(C.data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) >Constructable : Symbol(Constructable, Decl(typeConstraintsWithConstructSignatures.ts, 0, 0)) create() { ->create : Symbol(create, Decl(typeConstraintsWithConstructSignatures.ts, 5, 64)) +>create : Symbol(C.create, Decl(typeConstraintsWithConstructSignatures.ts, 5, 64)) var x = new this.data(); // should not error >x : Symbol(x, Decl(typeConstraintsWithConstructSignatures.ts, 7, 11)) ->this.data : Symbol(data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) +>this.data : Symbol(C.data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) >this : Symbol(C, Decl(typeConstraintsWithConstructSignatures.ts, 2, 1)) ->data : Symbol(data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) +>data : Symbol(C.data, Decl(typeConstraintsWithConstructSignatures.ts, 5, 16)) var x2 = new this.data2(); // should not error >x2 : Symbol(x2, Decl(typeConstraintsWithConstructSignatures.ts, 8, 11)) ->this.data2 : Symbol(data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) +>this.data2 : Symbol(C.data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) >this : Symbol(C, Decl(typeConstraintsWithConstructSignatures.ts, 2, 1)) ->data2 : Symbol(data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) +>data2 : Symbol(C.data2, Decl(typeConstraintsWithConstructSignatures.ts, 5, 31)) } } diff --git a/tests/baselines/reference/typeGuardFunction.symbols b/tests/baselines/reference/typeGuardFunction.symbols index 13ad30de5c5..83bb3e713dd 100644 --- a/tests/baselines/reference/typeGuardFunction.symbols +++ b/tests/baselines/reference/typeGuardFunction.symbols @@ -4,14 +4,14 @@ class A { >A : Symbol(A, Decl(typeGuardFunction.ts, 0, 0)) propA: number; ->propA : Symbol(propA, Decl(typeGuardFunction.ts, 1, 9)) +>propA : Symbol(A.propA, Decl(typeGuardFunction.ts, 1, 9)) } class B { >B : Symbol(B, Decl(typeGuardFunction.ts, 3, 1)) propB: number; ->propB : Symbol(propB, Decl(typeGuardFunction.ts, 5, 9)) +>propB : Symbol(B.propB, Decl(typeGuardFunction.ts, 5, 9)) } class C extends A { @@ -19,7 +19,7 @@ class C extends A { >A : Symbol(A, Decl(typeGuardFunction.ts, 0, 0)) propC: number; ->propC : Symbol(propC, Decl(typeGuardFunction.ts, 9, 19)) +>propC : Symbol(C.propC, Decl(typeGuardFunction.ts, 9, 19)) } declare function isA(p1: any): p1 is A; @@ -139,7 +139,7 @@ class D { >D : Symbol(D, Decl(typeGuardFunction.ts, 54, 1)) method1(p1: A): p1 is C { ->method1 : Symbol(method1, Decl(typeGuardFunction.ts, 55, 9)) +>method1 : Symbol(D.method1, Decl(typeGuardFunction.ts, 55, 9)) >p1 : Symbol(p1, Decl(typeGuardFunction.ts, 56, 12)) >A : Symbol(A, Decl(typeGuardFunction.ts, 0, 0)) >p1 : Symbol(p1, Decl(typeGuardFunction.ts, 56, 12)) diff --git a/tests/baselines/reference/typeGuardFunctionGenerics.symbols b/tests/baselines/reference/typeGuardFunctionGenerics.symbols index 100d610070d..45debfcf73d 100644 --- a/tests/baselines/reference/typeGuardFunctionGenerics.symbols +++ b/tests/baselines/reference/typeGuardFunctionGenerics.symbols @@ -4,14 +4,14 @@ class A { >A : Symbol(A, Decl(typeGuardFunctionGenerics.ts, 0, 0)) propA: number; ->propA : Symbol(propA, Decl(typeGuardFunctionGenerics.ts, 1, 9)) +>propA : Symbol(A.propA, Decl(typeGuardFunctionGenerics.ts, 1, 9)) } class B { >B : Symbol(B, Decl(typeGuardFunctionGenerics.ts, 3, 1)) propB: number; ->propB : Symbol(propB, Decl(typeGuardFunctionGenerics.ts, 5, 9)) +>propB : Symbol(B.propB, Decl(typeGuardFunctionGenerics.ts, 5, 9)) } class C extends A { @@ -19,7 +19,7 @@ class C extends A { >A : Symbol(A, Decl(typeGuardFunctionGenerics.ts, 0, 0)) propC: number; ->propC : Symbol(propC, Decl(typeGuardFunctionGenerics.ts, 9, 19)) +>propC : Symbol(C.propC, Decl(typeGuardFunctionGenerics.ts, 9, 19)) } declare function isB(p1): p1 is B; diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThis.symbols b/tests/baselines/reference/typeGuardFunctionOfFormThis.symbols index 2968063dc51..4f08201ba64 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThis.symbols +++ b/tests/baselines/reference/typeGuardFunctionOfFormThis.symbols @@ -3,7 +3,7 @@ class RoyalGuard { >RoyalGuard : Symbol(RoyalGuard, Decl(typeGuardFunctionOfFormThis.ts, 0, 0)) isLeader(): this is LeadGuard { ->isLeader : Symbol(isLeader, Decl(typeGuardFunctionOfFormThis.ts, 0, 18)) +>isLeader : Symbol(RoyalGuard.isLeader, Decl(typeGuardFunctionOfFormThis.ts, 0, 18)) >LeadGuard : Symbol(LeadGuard, Decl(typeGuardFunctionOfFormThis.ts, 7, 1)) return this instanceof LeadGuard; @@ -11,7 +11,7 @@ class RoyalGuard { >LeadGuard : Symbol(LeadGuard, Decl(typeGuardFunctionOfFormThis.ts, 7, 1)) } isFollower(): this is FollowerGuard { ->isFollower : Symbol(isFollower, Decl(typeGuardFunctionOfFormThis.ts, 3, 5)) +>isFollower : Symbol(RoyalGuard.isFollower, Decl(typeGuardFunctionOfFormThis.ts, 3, 5)) >FollowerGuard : Symbol(FollowerGuard, Decl(typeGuardFunctionOfFormThis.ts, 11, 1)) return this instanceof FollowerGuard; @@ -25,7 +25,7 @@ class LeadGuard extends RoyalGuard { >RoyalGuard : Symbol(RoyalGuard, Decl(typeGuardFunctionOfFormThis.ts, 0, 0)) lead(): void {}; ->lead : Symbol(lead, Decl(typeGuardFunctionOfFormThis.ts, 9, 36)) +>lead : Symbol(LeadGuard.lead, Decl(typeGuardFunctionOfFormThis.ts, 9, 36)) } class FollowerGuard extends RoyalGuard { @@ -33,7 +33,7 @@ class FollowerGuard extends RoyalGuard { >RoyalGuard : Symbol(RoyalGuard, Decl(typeGuardFunctionOfFormThis.ts, 0, 0)) follow(): void {}; ->follow : Symbol(follow, Decl(typeGuardFunctionOfFormThis.ts, 13, 40)) +>follow : Symbol(FollowerGuard.follow, Decl(typeGuardFunctionOfFormThis.ts, 13, 40)) } let a: RoyalGuard = new FollowerGuard(); @@ -158,7 +158,7 @@ class ArrowGuard { >ArrowGuard : Symbol(ArrowGuard, Decl(typeGuardFunctionOfFormThis.ts, 56, 1)) isElite = (): this is ArrowElite => { ->isElite : Symbol(isElite, Decl(typeGuardFunctionOfFormThis.ts, 58, 18)) +>isElite : Symbol(ArrowGuard.isElite, Decl(typeGuardFunctionOfFormThis.ts, 58, 18)) >ArrowElite : Symbol(ArrowElite, Decl(typeGuardFunctionOfFormThis.ts, 65, 1)) return this instanceof ArrowElite; @@ -166,7 +166,7 @@ class ArrowGuard { >ArrowElite : Symbol(ArrowElite, Decl(typeGuardFunctionOfFormThis.ts, 65, 1)) } isMedic = (): this is ArrowMedic => { ->isMedic : Symbol(isMedic, Decl(typeGuardFunctionOfFormThis.ts, 61, 5)) +>isMedic : Symbol(ArrowGuard.isMedic, Decl(typeGuardFunctionOfFormThis.ts, 61, 5)) >ArrowMedic : Symbol(ArrowMedic, Decl(typeGuardFunctionOfFormThis.ts, 69, 1)) return this instanceof ArrowMedic; @@ -180,7 +180,7 @@ class ArrowElite extends ArrowGuard { >ArrowGuard : Symbol(ArrowGuard, Decl(typeGuardFunctionOfFormThis.ts, 56, 1)) defend(): void {} ->defend : Symbol(defend, Decl(typeGuardFunctionOfFormThis.ts, 67, 37)) +>defend : Symbol(ArrowElite.defend, Decl(typeGuardFunctionOfFormThis.ts, 67, 37)) } class ArrowMedic extends ArrowGuard { @@ -188,7 +188,7 @@ class ArrowMedic extends ArrowGuard { >ArrowGuard : Symbol(ArrowGuard, Decl(typeGuardFunctionOfFormThis.ts, 56, 1)) heal(): void {} ->heal : Symbol(heal, Decl(typeGuardFunctionOfFormThis.ts, 71, 37)) +>heal : Symbol(ArrowMedic.heal, Decl(typeGuardFunctionOfFormThis.ts, 71, 37)) } let guard = new ArrowGuard(); @@ -220,14 +220,14 @@ interface Supplies { >Supplies : Symbol(Supplies, Decl(typeGuardFunctionOfFormThis.ts, 81, 1)) spoiled: boolean; ->spoiled : Symbol(spoiled, Decl(typeGuardFunctionOfFormThis.ts, 83, 20)) +>spoiled : Symbol(Supplies.spoiled, Decl(typeGuardFunctionOfFormThis.ts, 83, 20)) } interface Sundries { >Sundries : Symbol(Sundries, Decl(typeGuardFunctionOfFormThis.ts, 85, 1)) broken: boolean; ->broken : Symbol(broken, Decl(typeGuardFunctionOfFormThis.ts, 87, 20)) +>broken : Symbol(Sundries.broken, Decl(typeGuardFunctionOfFormThis.ts, 87, 20)) } interface Crate { @@ -235,19 +235,19 @@ interface Crate { >T : Symbol(T, Decl(typeGuardFunctionOfFormThis.ts, 91, 16)) contents: T; ->contents : Symbol(contents, Decl(typeGuardFunctionOfFormThis.ts, 91, 20)) +>contents : Symbol(Crate.contents, Decl(typeGuardFunctionOfFormThis.ts, 91, 20)) >T : Symbol(T, Decl(typeGuardFunctionOfFormThis.ts, 91, 16)) volume: number; ->volume : Symbol(volume, Decl(typeGuardFunctionOfFormThis.ts, 92, 16)) +>volume : Symbol(Crate.volume, Decl(typeGuardFunctionOfFormThis.ts, 92, 16)) isSupplies(): this is Crate; ->isSupplies : Symbol(isSupplies, Decl(typeGuardFunctionOfFormThis.ts, 93, 19)) +>isSupplies : Symbol(Crate.isSupplies, Decl(typeGuardFunctionOfFormThis.ts, 93, 19)) >Crate : Symbol(Crate, Decl(typeGuardFunctionOfFormThis.ts, 89, 1)) >Supplies : Symbol(Supplies, Decl(typeGuardFunctionOfFormThis.ts, 81, 1)) isSundries(): this is Crate; ->isSundries : Symbol(isSundries, Decl(typeGuardFunctionOfFormThis.ts, 94, 42)) +>isSundries : Symbol(Crate.isSundries, Decl(typeGuardFunctionOfFormThis.ts, 94, 42)) >Crate : Symbol(Crate, Decl(typeGuardFunctionOfFormThis.ts, 89, 1)) >Sundries : Symbol(Sundries, Decl(typeGuardFunctionOfFormThis.ts, 85, 1)) } @@ -303,13 +303,13 @@ class MimicGuard { >MimicGuard : Symbol(MimicGuard, Decl(typeGuardFunctionOfFormThis.ts, 110, 24)) isLeader(): this is MimicLeader { return this instanceof MimicLeader; }; ->isLeader : Symbol(isLeader, Decl(typeGuardFunctionOfFormThis.ts, 112, 18)) +>isLeader : Symbol(MimicGuard.isLeader, Decl(typeGuardFunctionOfFormThis.ts, 112, 18)) >MimicLeader : Symbol(MimicLeader, Decl(typeGuardFunctionOfFormThis.ts, 115, 1)) >this : Symbol(MimicGuard, Decl(typeGuardFunctionOfFormThis.ts, 110, 24)) >MimicLeader : Symbol(MimicLeader, Decl(typeGuardFunctionOfFormThis.ts, 115, 1)) isFollower(): this is MimicFollower { return this instanceof MimicFollower; }; ->isFollower : Symbol(isFollower, Decl(typeGuardFunctionOfFormThis.ts, 113, 76)) +>isFollower : Symbol(MimicGuard.isFollower, Decl(typeGuardFunctionOfFormThis.ts, 113, 76)) >MimicFollower : Symbol(MimicFollower, Decl(typeGuardFunctionOfFormThis.ts, 119, 1)) >this : Symbol(MimicGuard, Decl(typeGuardFunctionOfFormThis.ts, 110, 24)) >MimicFollower : Symbol(MimicFollower, Decl(typeGuardFunctionOfFormThis.ts, 119, 1)) @@ -320,7 +320,7 @@ class MimicLeader extends MimicGuard { >MimicGuard : Symbol(MimicGuard, Decl(typeGuardFunctionOfFormThis.ts, 110, 24)) lead(): void {} ->lead : Symbol(lead, Decl(typeGuardFunctionOfFormThis.ts, 117, 38)) +>lead : Symbol(MimicLeader.lead, Decl(typeGuardFunctionOfFormThis.ts, 117, 38)) } class MimicFollower extends MimicGuard { @@ -328,7 +328,7 @@ class MimicFollower extends MimicGuard { >MimicGuard : Symbol(MimicGuard, Decl(typeGuardFunctionOfFormThis.ts, 110, 24)) follow(): void {} ->follow : Symbol(follow, Decl(typeGuardFunctionOfFormThis.ts, 121, 40)) +>follow : Symbol(MimicFollower.follow, Decl(typeGuardFunctionOfFormThis.ts, 121, 40)) } let mimic = new MimicGuard(); @@ -375,11 +375,11 @@ interface MimicGuardInterface { >MimicGuardInterface : Symbol(MimicGuardInterface, Decl(typeGuardFunctionOfFormThis.ts, 133, 1)) isLeader(): this is LeadGuard; ->isLeader : Symbol(isLeader, Decl(typeGuardFunctionOfFormThis.ts, 136, 31)) +>isLeader : Symbol(MimicGuardInterface.isLeader, Decl(typeGuardFunctionOfFormThis.ts, 136, 31)) >LeadGuard : Symbol(LeadGuard, Decl(typeGuardFunctionOfFormThis.ts, 7, 1)) isFollower(): this is FollowerGuard; ->isFollower : Symbol(isFollower, Decl(typeGuardFunctionOfFormThis.ts, 137, 34)) +>isFollower : Symbol(MimicGuardInterface.isFollower, Decl(typeGuardFunctionOfFormThis.ts, 137, 34)) >FollowerGuard : Symbol(FollowerGuard, Decl(typeGuardFunctionOfFormThis.ts, 11, 1)) } diff --git a/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.symbols b/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.symbols index b8db746ef91..3e8f00143ed 100644 --- a/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.symbols +++ b/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.symbols @@ -19,7 +19,7 @@ var numOrBool: number | boolean; class C { private p; } >C : Symbol(C, Decl(typeGuardOfFormExpr1AndExpr2.ts, 5, 32)) ->p : Symbol(p, Decl(typeGuardOfFormExpr1AndExpr2.ts, 6, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormExpr1AndExpr2.ts, 6, 9)) var c: C; >c : Symbol(c, Decl(typeGuardOfFormExpr1AndExpr2.ts, 7, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.symbols b/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.symbols index f38b74b69b9..32a5422a393 100644 --- a/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.symbols +++ b/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.symbols @@ -19,7 +19,7 @@ var numOrBool: number | boolean; class C { private p; } >C : Symbol(C, Decl(typeGuardOfFormExpr1OrExpr2.ts, 5, 32)) ->p : Symbol(p, Decl(typeGuardOfFormExpr1OrExpr2.ts, 6, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormExpr1OrExpr2.ts, 6, 9)) var c: C; >c : Symbol(c, Decl(typeGuardOfFormExpr1OrExpr2.ts, 7, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormInstanceOf.symbols b/tests/baselines/reference/typeGuardOfFormInstanceOf.symbols index 0dd2844f6ad..42797cc369f 100644 --- a/tests/baselines/reference/typeGuardOfFormInstanceOf.symbols +++ b/tests/baselines/reference/typeGuardOfFormInstanceOf.symbols @@ -9,26 +9,26 @@ class C1 { >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0)) p1: string; ->p1 : Symbol(p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10)) +>p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10)) } class C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1)) p2: number; ->p2 : Symbol(p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10)) +>p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10)) } class D1 extends C1 { >D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1)) >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0)) p3: number; ->p3 : Symbol(p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21)) +>p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21)) } class C3 { >C3 : Symbol(C3, Decl(typeGuardOfFormInstanceOf.ts, 14, 1)) p4: number; ->p4 : Symbol(p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10)) +>p4 : Symbol(C3.p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10)) } var str: string; >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 18, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.symbols b/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.symbols index aa634144399..177664ba339 100644 --- a/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.symbols +++ b/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.symbols @@ -12,11 +12,11 @@ interface C1 { >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 0, 0)) prototype: C1; ->prototype : Symbol(prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 7, 11)) +>prototype : Symbol(C1.prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 7, 11)) >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 0, 0)) p1: string; ->p1 : Symbol(p1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 8, 18)) +>p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 8, 18)) } interface C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 10, 1)) @@ -25,22 +25,22 @@ interface C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 10, 1)) prototype: C2; ->prototype : Symbol(prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 12, 11)) +>prototype : Symbol(C2.prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 12, 11)) >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 10, 1)) p2: number; ->p2 : Symbol(p2, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 13, 18)) +>p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 13, 18)) } interface D1 extends C1 { >D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 15, 1)) >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 0, 0)) prototype: D1; ->prototype : Symbol(prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 16, 25)) +>prototype : Symbol(D1.prototype, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 16, 25)) >D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 15, 1)) p3: number; ->p3 : Symbol(p3, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 17, 18)) +>p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 17, 18)) } var str: string; >str : Symbol(str, Decl(typeGuardOfFormInstanceOfOnInterface.ts, 20, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormIsType.symbols b/tests/baselines/reference/typeGuardOfFormIsType.symbols index e7e8965673d..faa825daeb4 100644 --- a/tests/baselines/reference/typeGuardOfFormIsType.symbols +++ b/tests/baselines/reference/typeGuardOfFormIsType.symbols @@ -4,20 +4,20 @@ class C1 { >C1 : Symbol(C1, Decl(typeGuardOfFormIsType.ts, 0, 0)) p1: string; ->p1 : Symbol(p1, Decl(typeGuardOfFormIsType.ts, 1, 10)) +>p1 : Symbol(C1.p1, Decl(typeGuardOfFormIsType.ts, 1, 10)) } class C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormIsType.ts, 3, 1)) p2: number; ->p2 : Symbol(p2, Decl(typeGuardOfFormIsType.ts, 4, 10)) +>p2 : Symbol(C2.p2, Decl(typeGuardOfFormIsType.ts, 4, 10)) } class D1 extends C1 { >D1 : Symbol(D1, Decl(typeGuardOfFormIsType.ts, 6, 1)) >C1 : Symbol(C1, Decl(typeGuardOfFormIsType.ts, 0, 0)) p3: number; ->p3 : Symbol(p3, Decl(typeGuardOfFormIsType.ts, 7, 21)) +>p3 : Symbol(D1.p3, Decl(typeGuardOfFormIsType.ts, 7, 21)) } var str: string; >str : Symbol(str, Decl(typeGuardOfFormIsType.ts, 10, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.symbols b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.symbols index 641d20d95cd..64ecc01d6f1 100644 --- a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.symbols +++ b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.symbols @@ -7,11 +7,11 @@ interface C1 { >C1 : Symbol(C1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 0, 0)) prototype: C1; ->prototype : Symbol(prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 2, 11)) +>prototype : Symbol(C1.prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 2, 11)) >C1 : Symbol(C1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 0, 0)) p1: string; ->p1 : Symbol(p1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 3, 18)) +>p1 : Symbol(C1.p1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 3, 18)) } interface C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 5, 1)) @@ -20,22 +20,22 @@ interface C2 { >C2 : Symbol(C2, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 5, 1)) prototype: C2; ->prototype : Symbol(prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 7, 11)) +>prototype : Symbol(C2.prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 7, 11)) >C2 : Symbol(C2, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 5, 1)) p2: number; ->p2 : Symbol(p2, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 8, 18)) +>p2 : Symbol(C2.p2, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 8, 18)) } interface D1 extends C1 { >D1 : Symbol(D1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 10, 1)) >C1 : Symbol(C1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 0, 0)) prototype: D1; ->prototype : Symbol(prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 11, 25)) +>prototype : Symbol(D1.prototype, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 11, 25)) >D1 : Symbol(D1, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 10, 1)) p3: number; ->p3 : Symbol(p3, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 12, 18)) +>p3 : Symbol(D1.p3, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 12, 18)) } var str: string; >str : Symbol(str, Decl(typeGuardOfFormIsTypeOnInterfaces.ts, 15, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.symbols index 7cb38bfdeaf..d3879519228 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfBoolean.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfBoolean.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfBoolean.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfBoolean.ts, 0, 9)) var str: string; >str : Symbol(str, Decl(typeGuardOfFormTypeOfBoolean.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols index 69e0dc78738..bf79fb6a1d6 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 9)) var strOrNum: string | number; >strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols index b22f1e313a4..7988b7196ef 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 9)) var strOrNum: string | number; >strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNumber.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfNumber.symbols index 0052fb90880..2fd48389ae8 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNumber.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNumber.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNumber.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfNumber.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfNumber.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfNumber.ts, 0, 9)) var str: string; >str : Symbol(str, Decl(typeGuardOfFormTypeOfNumber.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols index eb120d468dc..ba759871a9b 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfOther.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfOther.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfOther.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfOther.ts, 0, 9)) var str: string; >str : Symbol(str, Decl(typeGuardOfFormTypeOfOther.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfString.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfString.symbols index 54684f715a4..d3209189f83 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfString.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfString.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfString.ts === class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfString.ts, 0, 0)) ->p : Symbol(p, Decl(typeGuardOfFormTypeOfString.ts, 0, 9)) +>p : Symbol(C.p, Decl(typeGuardOfFormTypeOfString.ts, 0, 9)) var str: string; >str : Symbol(str, Decl(typeGuardOfFormTypeOfString.ts, 2, 3)) diff --git a/tests/baselines/reference/typeGuardsInClassAccessors.symbols b/tests/baselines/reference/typeGuardsInClassAccessors.symbols index d38c3040e01..5f28ed4498c 100644 --- a/tests/baselines/reference/typeGuardsInClassAccessors.symbols +++ b/tests/baselines/reference/typeGuardsInClassAccessors.symbols @@ -18,7 +18,7 @@ class ClassWithAccessors { // Inside public accessor getter get p1() { ->p1 : Symbol(p1, Decl(typeGuardsInClassAccessors.ts, 8, 26), Decl(typeGuardsInClassAccessors.ts, 19, 5)) +>p1 : Symbol(ClassWithAccessors.p1, Decl(typeGuardsInClassAccessors.ts, 8, 26), Decl(typeGuardsInClassAccessors.ts, 19, 5)) // global vars in function declaration num = typeof var1 === "string" && var1.length; // string @@ -44,7 +44,7 @@ class ClassWithAccessors { } // Inside public accessor setter set p1(param: string | number) { ->p1 : Symbol(p1, Decl(typeGuardsInClassAccessors.ts, 8, 26), Decl(typeGuardsInClassAccessors.ts, 19, 5)) +>p1 : Symbol(ClassWithAccessors.p1, Decl(typeGuardsInClassAccessors.ts, 8, 26), Decl(typeGuardsInClassAccessors.ts, 19, 5)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 21, 11)) // global vars in function declaration @@ -76,7 +76,7 @@ class ClassWithAccessors { } // Inside private accessor getter private get pp1() { ->pp1 : Symbol(pp1, Decl(typeGuardsInClassAccessors.ts, 31, 5), Decl(typeGuardsInClassAccessors.ts, 42, 5)) +>pp1 : Symbol(ClassWithAccessors.pp1, Decl(typeGuardsInClassAccessors.ts, 31, 5), Decl(typeGuardsInClassAccessors.ts, 42, 5)) // global vars in function declaration num = typeof var1 === "string" && var1.length; // string @@ -102,7 +102,7 @@ class ClassWithAccessors { } // Inside private accessor setter private set pp1(param: string | number) { ->pp1 : Symbol(pp1, Decl(typeGuardsInClassAccessors.ts, 31, 5), Decl(typeGuardsInClassAccessors.ts, 42, 5)) +>pp1 : Symbol(ClassWithAccessors.pp1, Decl(typeGuardsInClassAccessors.ts, 31, 5), Decl(typeGuardsInClassAccessors.ts, 42, 5)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 44, 20)) // global vars in function declaration diff --git a/tests/baselines/reference/typeGuardsInClassMethods.symbols b/tests/baselines/reference/typeGuardsInClassMethods.symbols index 30f01d3619f..1808b97be47 100644 --- a/tests/baselines/reference/typeGuardsInClassMethods.symbols +++ b/tests/baselines/reference/typeGuardsInClassMethods.symbols @@ -44,7 +44,7 @@ class C1 { } // Inside function declaration private p1(param: string | number) { ->p1 : Symbol(p1, Decl(typeGuardsInClassMethods.ts, 17, 5)) +>p1 : Symbol(C1.p1, Decl(typeGuardsInClassMethods.ts, 17, 5)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 19, 15)) // global vars in function declaration @@ -76,7 +76,7 @@ class C1 { } // Inside function declaration p2(param: string | number) { ->p2 : Symbol(p2, Decl(typeGuardsInClassMethods.ts, 29, 5)) +>p2 : Symbol(C1.p2, Decl(typeGuardsInClassMethods.ts, 29, 5)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 31, 7)) // global vars in function declaration diff --git a/tests/baselines/reference/typeGuardsInProperties.symbols b/tests/baselines/reference/typeGuardsInProperties.symbols index 61a4a9c2fdb..86faad794fe 100644 --- a/tests/baselines/reference/typeGuardsInProperties.symbols +++ b/tests/baselines/reference/typeGuardsInProperties.symbols @@ -13,47 +13,47 @@ class C1 { >C1 : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) private pp1: string | number; ->pp1 : Symbol(pp1, Decl(typeGuardsInProperties.ts, 6, 10)) +>pp1 : Symbol(C1.pp1, Decl(typeGuardsInProperties.ts, 6, 10)) pp2: string | number; ->pp2 : Symbol(pp2, Decl(typeGuardsInProperties.ts, 7, 33)) +>pp2 : Symbol(C1.pp2, Decl(typeGuardsInProperties.ts, 7, 33)) // Inside public accessor getter get pp3() { ->pp3 : Symbol(pp3, Decl(typeGuardsInProperties.ts, 8, 25)) +>pp3 : Symbol(C1.pp3, Decl(typeGuardsInProperties.ts, 8, 25)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsInProperties.ts, 5, 3)) } method() { ->method : Symbol(method, Decl(typeGuardsInProperties.ts, 12, 5)) +>method : Symbol(C1.method, Decl(typeGuardsInProperties.ts, 12, 5)) strOrNum = typeof this.pp1 === "string" && this.pp1; // string | number >strOrNum : Symbol(strOrNum, Decl(typeGuardsInProperties.ts, 5, 3)) ->this.pp1 : Symbol(pp1, Decl(typeGuardsInProperties.ts, 6, 10)) +>this.pp1 : Symbol(C1.pp1, Decl(typeGuardsInProperties.ts, 6, 10)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp1 : Symbol(pp1, Decl(typeGuardsInProperties.ts, 6, 10)) ->this.pp1 : Symbol(pp1, Decl(typeGuardsInProperties.ts, 6, 10)) +>pp1 : Symbol(C1.pp1, Decl(typeGuardsInProperties.ts, 6, 10)) +>this.pp1 : Symbol(C1.pp1, Decl(typeGuardsInProperties.ts, 6, 10)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp1 : Symbol(pp1, Decl(typeGuardsInProperties.ts, 6, 10)) +>pp1 : Symbol(C1.pp1, Decl(typeGuardsInProperties.ts, 6, 10)) strOrNum = typeof this.pp2 === "string" && this.pp2; // string | number >strOrNum : Symbol(strOrNum, Decl(typeGuardsInProperties.ts, 5, 3)) ->this.pp2 : Symbol(pp2, Decl(typeGuardsInProperties.ts, 7, 33)) +>this.pp2 : Symbol(C1.pp2, Decl(typeGuardsInProperties.ts, 7, 33)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp2 : Symbol(pp2, Decl(typeGuardsInProperties.ts, 7, 33)) ->this.pp2 : Symbol(pp2, Decl(typeGuardsInProperties.ts, 7, 33)) +>pp2 : Symbol(C1.pp2, Decl(typeGuardsInProperties.ts, 7, 33)) +>this.pp2 : Symbol(C1.pp2, Decl(typeGuardsInProperties.ts, 7, 33)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp2 : Symbol(pp2, Decl(typeGuardsInProperties.ts, 7, 33)) +>pp2 : Symbol(C1.pp2, Decl(typeGuardsInProperties.ts, 7, 33)) strOrNum = typeof this.pp3 === "string" && this.pp3; // string | number >strOrNum : Symbol(strOrNum, Decl(typeGuardsInProperties.ts, 5, 3)) ->this.pp3 : Symbol(pp3, Decl(typeGuardsInProperties.ts, 8, 25)) +>this.pp3 : Symbol(C1.pp3, Decl(typeGuardsInProperties.ts, 8, 25)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp3 : Symbol(pp3, Decl(typeGuardsInProperties.ts, 8, 25)) ->this.pp3 : Symbol(pp3, Decl(typeGuardsInProperties.ts, 8, 25)) +>pp3 : Symbol(C1.pp3, Decl(typeGuardsInProperties.ts, 8, 25)) +>this.pp3 : Symbol(C1.pp3, Decl(typeGuardsInProperties.ts, 8, 25)) >this : Symbol(C1, Decl(typeGuardsInProperties.ts, 5, 30)) ->pp3 : Symbol(pp3, Decl(typeGuardsInProperties.ts, 8, 25)) +>pp3 : Symbol(C1.pp3, Decl(typeGuardsInProperties.ts, 8, 25)) } } var c1: C1; diff --git a/tests/baselines/reference/typeGuardsWithInstanceOf.symbols b/tests/baselines/reference/typeGuardsWithInstanceOf.symbols index 81efb5d5b1d..cc2695e6aea 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOf.symbols +++ b/tests/baselines/reference/typeGuardsWithInstanceOf.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOf.ts === interface I { global: string; } >I : Symbol(I, Decl(typeGuardsWithInstanceOf.ts, 0, 0)) ->global : Symbol(global, Decl(typeGuardsWithInstanceOf.ts, 0, 13)) +>global : Symbol(I.global, Decl(typeGuardsWithInstanceOf.ts, 0, 13)) var result: I; >result : Symbol(result, Decl(typeGuardsWithInstanceOf.ts, 1, 3)) diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.symbols b/tests/baselines/reference/typeInferenceReturnTypeCallback.symbols index a7322f7e69b..5e65945f9ad 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.symbols +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.symbols @@ -4,7 +4,7 @@ interface IList { >A : Symbol(A, Decl(typeInferenceReturnTypeCallback.ts, 0, 16)) map(f: (t: A) => B): IList; ->map : Symbol(map, Decl(typeInferenceReturnTypeCallback.ts, 0, 20)) +>map : Symbol(IList.map, Decl(typeInferenceReturnTypeCallback.ts, 0, 20)) >B : Symbol(B, Decl(typeInferenceReturnTypeCallback.ts, 1, 8)) >f : Symbol(f, Decl(typeInferenceReturnTypeCallback.ts, 1, 11)) >t : Symbol(t, Decl(typeInferenceReturnTypeCallback.ts, 1, 15)) @@ -21,7 +21,7 @@ class Nil implements IList{ >C : Symbol(C, Decl(typeInferenceReturnTypeCallback.ts, 4, 10)) map(f: (t: C) => D): IList { ->map : Symbol(map, Decl(typeInferenceReturnTypeCallback.ts, 4, 33)) +>map : Symbol(Nil.map, Decl(typeInferenceReturnTypeCallback.ts, 4, 33)) >D : Symbol(D, Decl(typeInferenceReturnTypeCallback.ts, 5, 8)) >f : Symbol(f, Decl(typeInferenceReturnTypeCallback.ts, 5, 11)) >t : Symbol(t, Decl(typeInferenceReturnTypeCallback.ts, 5, 15)) @@ -41,7 +41,7 @@ class Cons implements IList{ >T : Symbol(T, Decl(typeInferenceReturnTypeCallback.ts, 10, 11)) map(f: (t: T) => U): IList { ->map : Symbol(map, Decl(typeInferenceReturnTypeCallback.ts, 10, 34)) +>map : Symbol(Cons.map, Decl(typeInferenceReturnTypeCallback.ts, 10, 34)) >U : Symbol(U, Decl(typeInferenceReturnTypeCallback.ts, 11, 8)) >f : Symbol(f, Decl(typeInferenceReturnTypeCallback.ts, 11, 11)) >t : Symbol(t, Decl(typeInferenceReturnTypeCallback.ts, 11, 15)) @@ -51,9 +51,9 @@ class Cons implements IList{ >U : Symbol(U, Decl(typeInferenceReturnTypeCallback.ts, 11, 8)) return this.foldRight(new Nil(), (t, acc) => { ->this.foldRight : Symbol(foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) +>this.foldRight : Symbol(Cons.foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) >this : Symbol(Cons, Decl(typeInferenceReturnTypeCallback.ts, 8, 1)) ->foldRight : Symbol(foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) +>foldRight : Symbol(Cons.foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) >Nil : Symbol(Nil, Decl(typeInferenceReturnTypeCallback.ts, 2, 1)) >U : Symbol(U, Decl(typeInferenceReturnTypeCallback.ts, 11, 8)) >t : Symbol(t, Decl(typeInferenceReturnTypeCallback.ts, 12, 45)) @@ -67,7 +67,7 @@ class Cons implements IList{ } foldRight(z: E, f: (t: T, acc: E) => E): E { ->foldRight : Symbol(foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) +>foldRight : Symbol(Cons.foldRight, Decl(typeInferenceReturnTypeCallback.ts, 15, 5)) >E : Symbol(E, Decl(typeInferenceReturnTypeCallback.ts, 17, 14)) >z : Symbol(z, Decl(typeInferenceReturnTypeCallback.ts, 17, 17)) >E : Symbol(E, Decl(typeInferenceReturnTypeCallback.ts, 17, 14)) diff --git a/tests/baselines/reference/typeLiteralCallback.symbols b/tests/baselines/reference/typeLiteralCallback.symbols index 14bdd240612..824998a3a99 100644 --- a/tests/baselines/reference/typeLiteralCallback.symbols +++ b/tests/baselines/reference/typeLiteralCallback.symbols @@ -4,7 +4,7 @@ interface Foo { >T : Symbol(T, Decl(typeLiteralCallback.ts, 0, 14)) reject(arg: T): void ; ->reject : Symbol(reject, Decl(typeLiteralCallback.ts, 0, 18)) +>reject : Symbol(Foo.reject, Decl(typeLiteralCallback.ts, 0, 18)) >arg : Symbol(arg, Decl(typeLiteralCallback.ts, 1, 11)) >T : Symbol(T, Decl(typeLiteralCallback.ts, 0, 14)) } @@ -17,13 +17,13 @@ interface bar { >T : Symbol(T, Decl(typeLiteralCallback.ts, 5, 14)) fail(func: (arg: T) => void ): void ; ->fail : Symbol(fail, Decl(typeLiteralCallback.ts, 5, 18)) +>fail : Symbol(bar.fail, Decl(typeLiteralCallback.ts, 5, 18)) >func : Symbol(func, Decl(typeLiteralCallback.ts, 6, 9)) >arg : Symbol(arg, Decl(typeLiteralCallback.ts, 6, 16)) >T : Symbol(T, Decl(typeLiteralCallback.ts, 5, 14)) fail2(func: { (arg: T): void ; }): void ; ->fail2 : Symbol(fail2, Decl(typeLiteralCallback.ts, 6, 41)) +>fail2 : Symbol(bar.fail2, Decl(typeLiteralCallback.ts, 6, 41)) >func : Symbol(func, Decl(typeLiteralCallback.ts, 7, 10)) >arg : Symbol(arg, Decl(typeLiteralCallback.ts, 7, 19)) >T : Symbol(T, Decl(typeLiteralCallback.ts, 5, 14)) diff --git a/tests/baselines/reference/typeOfPrototype.symbols b/tests/baselines/reference/typeOfPrototype.symbols index ee44b3c9ae0..f6ba0d1600e 100644 --- a/tests/baselines/reference/typeOfPrototype.symbols +++ b/tests/baselines/reference/typeOfPrototype.symbols @@ -3,7 +3,7 @@ class Foo { >Foo : Symbol(Foo, Decl(typeOfPrototype.ts, 0, 0)) bar = 3; ->bar : Symbol(bar, Decl(typeOfPrototype.ts, 0, 11)) +>bar : Symbol(Foo.bar, Decl(typeOfPrototype.ts, 0, 11)) static bar = ''; >bar : Symbol(Foo.bar, Decl(typeOfPrototype.ts, 1, 12)) diff --git a/tests/baselines/reference/typeOfThisInFunctionExpression.symbols b/tests/baselines/reference/typeOfThisInFunctionExpression.symbols index 59a7b11bc9f..4b6bd18509b 100644 --- a/tests/baselines/reference/typeOfThisInFunctionExpression.symbols +++ b/tests/baselines/reference/typeOfThisInFunctionExpression.symbols @@ -36,7 +36,7 @@ class C { >C : Symbol(C, Decl(typeOfThisInFunctionExpression.ts, 15, 1)) x = function () { ->x : Symbol(x, Decl(typeOfThisInFunctionExpression.ts, 17, 9)) +>x : Symbol(C.x, Decl(typeOfThisInFunctionExpression.ts, 17, 9)) var q: any; >q : Symbol(q, Decl(typeOfThisInFunctionExpression.ts, 19, 11), Decl(typeOfThisInFunctionExpression.ts, 20, 11)) @@ -45,7 +45,7 @@ class C { >q : Symbol(q, Decl(typeOfThisInFunctionExpression.ts, 19, 11), Decl(typeOfThisInFunctionExpression.ts, 20, 11)) } y = function ff() { ->y : Symbol(y, Decl(typeOfThisInFunctionExpression.ts, 21, 5)) +>y : Symbol(C.y, Decl(typeOfThisInFunctionExpression.ts, 21, 5)) >ff : Symbol(ff, Decl(typeOfThisInFunctionExpression.ts, 22, 7)) var q: any; diff --git a/tests/baselines/reference/typeOfThisInMemberFunctions.symbols b/tests/baselines/reference/typeOfThisInMemberFunctions.symbols index c0a860af4f7..3641add1bd9 100644 --- a/tests/baselines/reference/typeOfThisInMemberFunctions.symbols +++ b/tests/baselines/reference/typeOfThisInMemberFunctions.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(typeOfThisInMemberFunctions.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(typeOfThisInMemberFunctions.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(typeOfThisInMemberFunctions.ts, 0, 9)) var r = this; >r : Symbol(r, Decl(typeOfThisInMemberFunctions.ts, 2, 11)) @@ -24,11 +24,11 @@ class D { >T : Symbol(T, Decl(typeOfThisInMemberFunctions.ts, 10, 8)) x: T; ->x : Symbol(x, Decl(typeOfThisInMemberFunctions.ts, 10, 12)) +>x : Symbol(D.x, Decl(typeOfThisInMemberFunctions.ts, 10, 12)) >T : Symbol(T, Decl(typeOfThisInMemberFunctions.ts, 10, 8)) foo() { ->foo : Symbol(foo, Decl(typeOfThisInMemberFunctions.ts, 11, 9)) +>foo : Symbol(D.foo, Decl(typeOfThisInMemberFunctions.ts, 11, 9)) var r = this; >r : Symbol(r, Decl(typeOfThisInMemberFunctions.ts, 13, 11)) @@ -50,11 +50,11 @@ class E { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) x: T; ->x : Symbol(x, Decl(typeOfThisInMemberFunctions.ts, 21, 25)) +>x : Symbol(E.x, Decl(typeOfThisInMemberFunctions.ts, 21, 25)) >T : Symbol(T, Decl(typeOfThisInMemberFunctions.ts, 21, 8)) foo() { ->foo : Symbol(foo, Decl(typeOfThisInMemberFunctions.ts, 22, 9)) +>foo : Symbol(E.foo, Decl(typeOfThisInMemberFunctions.ts, 22, 9)) var r = this; >r : Symbol(r, Decl(typeOfThisInMemberFunctions.ts, 24, 11)) diff --git a/tests/baselines/reference/typeParameterAsTypeArgument.symbols b/tests/baselines/reference/typeParameterAsTypeArgument.symbols index a0e03fcf639..cfff8926e55 100644 --- a/tests/baselines/reference/typeParameterAsTypeArgument.symbols +++ b/tests/baselines/reference/typeParameterAsTypeArgument.symbols @@ -29,7 +29,7 @@ class C { >U : Symbol(U, Decl(typeParameterAsTypeArgument.ts, 7, 10)) x: T; ->x : Symbol(x, Decl(typeParameterAsTypeArgument.ts, 7, 15)) +>x : Symbol(C.x, Decl(typeParameterAsTypeArgument.ts, 7, 15)) >T : Symbol(T, Decl(typeParameterAsTypeArgument.ts, 7, 8)) } @@ -39,7 +39,7 @@ interface I { >U : Symbol(U, Decl(typeParameterAsTypeArgument.ts, 11, 14)) x: C; ->x : Symbol(x, Decl(typeParameterAsTypeArgument.ts, 11, 19)) +>x : Symbol(I.x, Decl(typeParameterAsTypeArgument.ts, 11, 19)) >C : Symbol(C, Decl(typeParameterAsTypeArgument.ts, 5, 1)) >U : Symbol(U, Decl(typeParameterAsTypeArgument.ts, 11, 14)) >T : Symbol(T, Decl(typeParameterAsTypeArgument.ts, 11, 12)) diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.symbols b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.symbols index 569b37e64d1..a530a6c7864 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.symbols +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.symbols @@ -26,14 +26,14 @@ interface A { >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraint.ts, 6, 19)) foo: string; ->foo : Symbol(foo, Decl(typeParameterAsTypeParameterConstraint.ts, 8, 13)) +>foo : Symbol(A.foo, Decl(typeParameterAsTypeParameterConstraint.ts, 8, 13)) } interface B extends A { >B : Symbol(B, Decl(typeParameterAsTypeParameterConstraint.ts, 10, 1)) >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraint.ts, 6, 19)) bar: number; ->bar : Symbol(bar, Decl(typeParameterAsTypeParameterConstraint.ts, 11, 23)) +>bar : Symbol(B.bar, Decl(typeParameterAsTypeParameterConstraint.ts, 11, 23)) } var a: A; >a : Symbol(a, Decl(typeParameterAsTypeParameterConstraint.ts, 14, 3)) diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.symbols b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.symbols index 90276a96b3d..6739f6930f1 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.symbols +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.symbols @@ -4,17 +4,17 @@ interface A { foo: number } >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 0, 0)) ->foo : Symbol(foo, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 3, 13)) +>foo : Symbol(A.foo, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 3, 13)) interface B extends A { bar: string; } >B : Symbol(B, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 3, 27)) >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 0, 0)) ->bar : Symbol(bar, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 4, 23)) +>bar : Symbol(B.bar, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 4, 23)) interface C extends B { baz: boolean; } >C : Symbol(C, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 4, 38)) >B : Symbol(B, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 3, 27)) ->baz : Symbol(baz, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 5, 23)) +>baz : Symbol(C.baz, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 5, 23)) var a: A; >a : Symbol(a, Decl(typeParameterAsTypeParameterConstraintTransitively.ts, 6, 3)) diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.symbols b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.symbols index 5635d0e61ed..f0fbba60d9a 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.symbols +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.symbols @@ -4,17 +4,17 @@ interface A { foo: number } >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 0, 0)) ->foo : Symbol(foo, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 3, 13)) +>foo : Symbol(A.foo, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 3, 13)) interface B extends A { bar: string; } >B : Symbol(B, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 3, 27)) >A : Symbol(A, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 0, 0)) ->bar : Symbol(bar, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 4, 23)) +>bar : Symbol(B.bar, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 4, 23)) interface C extends B { baz: boolean; } >C : Symbol(C, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 4, 38)) >B : Symbol(B, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 3, 27)) ->baz : Symbol(baz, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 5, 23)) +>baz : Symbol(C.baz, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 5, 23)) var a: A; >a : Symbol(a, Decl(typeParameterAsTypeParameterConstraintTransitively2.ts, 6, 3)) diff --git a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.symbols b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.symbols index eb1aeeaca27..d7d4980d21d 100644 --- a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.symbols +++ b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.symbols @@ -20,7 +20,7 @@ export interface I { >I : Symbol(I, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 5, 1)) x(y: T): T; ->x : Symbol(x, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 6, 20)) +>x : Symbol(I.x, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 6, 20)) >T : Symbol(T, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 7, 5)) >y : Symbol(y, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 7, 8)) >T : Symbol(T, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 7, 5)) @@ -30,7 +30,7 @@ export interface I2 { >I2 : Symbol(I2, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 8, 1)) x(y: any): any; ->x : Symbol(x, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 9, 21)) +>x : Symbol(I2.x, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 9, 21)) >y : Symbol(y, Decl(typeParameterCompatibilityAccrossDeclarations.ts, 10, 5)) } diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.symbols b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.symbols index cd6cefc5ec0..0d9365e4753 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.symbols +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.symbols @@ -4,7 +4,7 @@ interface A { >T : Symbol(T, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 0, 12)) foo(x: A>) ->foo : Symbol(foo, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 0, 16)) +>foo : Symbol(A.foo, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 0, 16)) >U : Symbol(U, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 1, 8)) >T : Symbol(T, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 0, 12)) >x : Symbol(x, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 1, 21)) @@ -18,7 +18,7 @@ interface B { >T : Symbol(T, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 4, 12)) foo(x: B>) ->foo : Symbol(foo, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 4, 16)) +>foo : Symbol(B.foo, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 4, 16)) >U : Symbol(U, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 5, 8)) >T : Symbol(T, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 4, 12)) >x : Symbol(x, Decl(typeParameterConstrainedToOuterTypeParameter2.ts, 5, 21)) diff --git a/tests/baselines/reference/typeParameterConstraintInstantiation.symbols b/tests/baselines/reference/typeParameterConstraintInstantiation.symbols index 9103d65c0e9..f3b5a01eef9 100644 --- a/tests/baselines/reference/typeParameterConstraintInstantiation.symbols +++ b/tests/baselines/reference/typeParameterConstraintInstantiation.symbols @@ -6,7 +6,7 @@ interface Mapper { >T : Symbol(T, Decl(typeParameterConstraintInstantiation.ts, 2, 17)) map(f: (item: T) => U): V; ->map : Symbol(map, Decl(typeParameterConstraintInstantiation.ts, 2, 21)) +>map : Symbol(Mapper.map, Decl(typeParameterConstraintInstantiation.ts, 2, 21)) >U : Symbol(U, Decl(typeParameterConstraintInstantiation.ts, 3, 8)) >T : Symbol(T, Decl(typeParameterConstraintInstantiation.ts, 2, 17)) >V : Symbol(V, Decl(typeParameterConstraintInstantiation.ts, 3, 20)) diff --git a/tests/baselines/reference/typeParameterEquality.symbols b/tests/baselines/reference/typeParameterEquality.symbols index 562d6277d93..711d6264c48 100644 --- a/tests/baselines/reference/typeParameterEquality.symbols +++ b/tests/baselines/reference/typeParameterEquality.symbols @@ -3,14 +3,14 @@ class C { >C : Symbol(C, Decl(typeParameterEquality.ts, 0, 0)) get x(): (a: T) => T { return null; } ->x : Symbol(x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) +>x : Symbol(C.x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) >T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) >a : Symbol(a, Decl(typeParameterEquality.ts, 1, 17)) >T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) >T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) set x(p: (a: U) => U) {} ->x : Symbol(x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) +>x : Symbol(C.x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) >p : Symbol(p, Decl(typeParameterEquality.ts, 2, 10)) >U : Symbol(U, Decl(typeParameterEquality.ts, 2, 14)) >a : Symbol(a, Decl(typeParameterEquality.ts, 2, 17)) diff --git a/tests/baselines/reference/typeParameterExtendingUnion1.symbols b/tests/baselines/reference/typeParameterExtendingUnion1.symbols index 39b67e6428c..0538dcf91e0 100644 --- a/tests/baselines/reference/typeParameterExtendingUnion1.symbols +++ b/tests/baselines/reference/typeParameterExtendingUnion1.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/typeParameterExtendingUnion1.ts === class Animal { run() { } } >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion1.ts, 0, 0)) ->run : Symbol(run, Decl(typeParameterExtendingUnion1.ts, 0, 14)) +>run : Symbol(Animal.run, Decl(typeParameterExtendingUnion1.ts, 0, 14)) class Cat extends Animal { meow } >Cat : Symbol(Cat, Decl(typeParameterExtendingUnion1.ts, 0, 26)) >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion1.ts, 0, 0)) ->meow : Symbol(meow, Decl(typeParameterExtendingUnion1.ts, 1, 26)) +>meow : Symbol(Cat.meow, Decl(typeParameterExtendingUnion1.ts, 1, 26)) class Dog extends Animal { woof } >Dog : Symbol(Dog, Decl(typeParameterExtendingUnion1.ts, 1, 33)) >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion1.ts, 0, 0)) ->woof : Symbol(woof, Decl(typeParameterExtendingUnion1.ts, 2, 26)) +>woof : Symbol(Dog.woof, Decl(typeParameterExtendingUnion1.ts, 2, 26)) function run(a: Animal) { >run : Symbol(run, Decl(typeParameterExtendingUnion1.ts, 2, 33)) diff --git a/tests/baselines/reference/typeParameterExtendingUnion2.symbols b/tests/baselines/reference/typeParameterExtendingUnion2.symbols index 44d47692a82..f29f12f6f09 100644 --- a/tests/baselines/reference/typeParameterExtendingUnion2.symbols +++ b/tests/baselines/reference/typeParameterExtendingUnion2.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/typeParameterExtendingUnion2.ts === class Animal { run() { } } >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion2.ts, 0, 0)) ->run : Symbol(run, Decl(typeParameterExtendingUnion2.ts, 0, 14)) +>run : Symbol(Animal.run, Decl(typeParameterExtendingUnion2.ts, 0, 14)) class Cat extends Animal { meow } >Cat : Symbol(Cat, Decl(typeParameterExtendingUnion2.ts, 0, 26)) >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion2.ts, 0, 0)) ->meow : Symbol(meow, Decl(typeParameterExtendingUnion2.ts, 1, 26)) +>meow : Symbol(Cat.meow, Decl(typeParameterExtendingUnion2.ts, 1, 26)) class Dog extends Animal { woof } >Dog : Symbol(Dog, Decl(typeParameterExtendingUnion2.ts, 1, 33)) >Animal : Symbol(Animal, Decl(typeParameterExtendingUnion2.ts, 0, 0)) ->woof : Symbol(woof, Decl(typeParameterExtendingUnion2.ts, 2, 26)) +>woof : Symbol(Dog.woof, Decl(typeParameterExtendingUnion2.ts, 2, 26)) function run(a: Cat | Dog) { >run : Symbol(run, Decl(typeParameterExtendingUnion2.ts, 2, 33)) diff --git a/tests/baselines/reference/typeParameterFixingWithConstraints.symbols b/tests/baselines/reference/typeParameterFixingWithConstraints.symbols index 94e1b8172cb..4b998238130 100644 --- a/tests/baselines/reference/typeParameterFixingWithConstraints.symbols +++ b/tests/baselines/reference/typeParameterFixingWithConstraints.symbols @@ -10,7 +10,7 @@ interface IFoo { >IFoo : Symbol(IFoo, Decl(typeParameterFixingWithConstraints.ts, 2, 1)) foo(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar): TBar; ->foo : Symbol(foo, Decl(typeParameterFixingWithConstraints.ts, 4, 16)) +>foo : Symbol(IFoo.foo, Decl(typeParameterFixingWithConstraints.ts, 4, 16)) >TBar : Symbol(TBar, Decl(typeParameterFixingWithConstraints.ts, 5, 8)) >IBar : Symbol(IBar, Decl(typeParameterFixingWithConstraints.ts, 0, 0)) >bar : Symbol(bar, Decl(typeParameterFixingWithConstraints.ts, 5, 27)) diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.symbols b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.symbols index fcf8fcb8dc4..d5dad41b449 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.symbols +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.symbols @@ -19,13 +19,13 @@ function f(y: T, f: (x: T) => U, x: T): [T, U] { return [y, f(x)]; } interface A { a: A; } >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 0, 74)) ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 1, 13)) +>a : Symbol(A.a, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 1, 13)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 0, 74)) interface B extends A { b; } >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 1, 21)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 0, 74)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 2, 23)) +>b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 2, 23)) var a: A, b: B; >a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments.ts, 4, 3)) diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.symbols b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.symbols index d8f7abea606..1e50e4a18e3 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.symbols +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.symbols @@ -23,13 +23,13 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return interface A { a: A; } >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 0, 93)) ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 1, 13)) +>a : Symbol(A.a, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 1, 13)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 0, 93)) interface B extends A { b; } >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 1, 21)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 0, 93)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 2, 23)) +>b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 2, 23)) var a: A, b: B; >a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments4.ts, 4, 3)) diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.symbols b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.symbols index 5ba8aee8dba..1f9711a19ab 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.symbols +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.symbols @@ -23,13 +23,13 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r interface A { a: A; } >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102)) ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 13)) +>a : Symbol(A.a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 13)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102)) interface B extends A { b: any; } >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 21)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 2, 23)) +>b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 2, 23)) var a: A, b: B; >a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 4, 3)) diff --git a/tests/baselines/reference/typeParameterOrderReversal.symbols b/tests/baselines/reference/typeParameterOrderReversal.symbols index 6b17ac1da55..1c8fbad5550 100644 --- a/tests/baselines/reference/typeParameterOrderReversal.symbols +++ b/tests/baselines/reference/typeParameterOrderReversal.symbols @@ -4,7 +4,7 @@ interface X { >T : Symbol(T, Decl(typeParameterOrderReversal.ts, 0, 12)) n: T; ->n : Symbol(n, Decl(typeParameterOrderReversal.ts, 0, 16)) +>n : Symbol(X.n, Decl(typeParameterOrderReversal.ts, 0, 16)) >T : Symbol(T, Decl(typeParameterOrderReversal.ts, 0, 12)) } diff --git a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.symbols b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.symbols index 5142fc44af9..afd41a6ee94 100644 --- a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.symbols +++ b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.symbols @@ -29,19 +29,19 @@ interface I { >V : Symbol(V, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 17)) x: T; ->x : Symbol(x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 22)) +>x : Symbol(I.x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 22)) >T : Symbol(T, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 12)) y: U; ->y : Symbol(y, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 24, 9)) +>y : Symbol(I.y, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 24, 9)) >U : Symbol(U, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 14)) z: V; ->z : Symbol(z, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 25, 9)) +>z : Symbol(I.z, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 25, 9)) >V : Symbol(V, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 17)) foo(x: W): T; ->foo : Symbol(foo, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 26, 9)) +>foo : Symbol(I.foo, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 26, 9)) >W : Symbol(W, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 27, 8)) >V : Symbol(V, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 23, 17)) >x : Symbol(x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 27, 21)) @@ -56,19 +56,19 @@ interface I2 { >U : Symbol(U, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 18)) x: T; ->x : Symbol(x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 23)) +>x : Symbol(I2.x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 23)) >T : Symbol(T, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 15)) y: U; ->y : Symbol(y, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 31, 9)) +>y : Symbol(I2.y, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 31, 9)) >U : Symbol(U, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 18)) z: V; ->z : Symbol(z, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 32, 9)) +>z : Symbol(I2.z, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 32, 9)) >V : Symbol(V, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 13)) foo(x: W): T; ->foo : Symbol(foo, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 33, 9)) +>foo : Symbol(I2.foo, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 33, 9)) >W : Symbol(W, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 34, 8)) >V : Symbol(V, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 30, 13)) >x : Symbol(x, Decl(typeParameterUsedAsTypeParameterConstraint3.ts, 34, 21)) diff --git a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols index e50bce9e043..edbfab9c8e9 100644 --- a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols +++ b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols @@ -85,22 +85,22 @@ class C { >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) foo1(x: T); ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) +>foo1 : Symbol(C.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 21, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) foo1(x: T); // error, same T ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) +>foo1 : Symbol(C.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 22, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) foo1(x: T) { } ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) +>foo1 : Symbol(C.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 12), Decl(typeParametersAreIdenticalToThemselves.ts, 21, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 22, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) foo2(a: T, x: U); ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) +>foo2 : Symbol(C.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 25, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 25, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) @@ -108,7 +108,7 @@ class C { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 25, 9)) foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) +>foo2 : Symbol(C.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 26, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 26, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) @@ -116,7 +116,7 @@ class C { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 26, 9)) foo2(a: T, x: U) { } ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) +>foo2 : Symbol(C.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 23, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 25, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 26, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 20, 8)) @@ -124,39 +124,39 @@ class C { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 9)) foo3(x: T); ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) +>foo3 : Symbol(C.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 29, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 29, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 29, 9)) foo3(x: T); // no error, different declaration for each T ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) +>foo3 : Symbol(C.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 30, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 30, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 30, 9)) foo3(x: T) { } ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) +>foo3 : Symbol(C.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 27, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 29, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 30, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 9)) foo4(x: T); ->foo4 : Symbol(foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) +>foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 9)) foo4(x: T); // no error, different declaration for each T ->foo4 : Symbol(foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) +>foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 9)) foo4(x: T) { } ->foo4 : Symbol(foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) +>foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 35, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 35, 25)) @@ -169,22 +169,22 @@ class C2 { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo1(x: T); ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) +>foo1 : Symbol(C2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 39, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) foo1(x: T); // error, same T ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) +>foo1 : Symbol(C2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 40, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) foo1(x: T) { } ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) +>foo1 : Symbol(C2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) foo2(a: T, x: U); ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) +>foo2 : Symbol(C2.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 43, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 43, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) @@ -192,7 +192,7 @@ class C2 { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 43, 9)) foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) +>foo2 : Symbol(C2.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 44, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 44, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) @@ -200,7 +200,7 @@ class C2 { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 44, 9)) foo2(a: T, x: U) { } ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) +>foo2 : Symbol(C2.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 41, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 43, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 44, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) @@ -208,19 +208,19 @@ class C2 { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 9)) foo3(x: T); ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) +>foo3 : Symbol(C2.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 47, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 47, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 47, 9)) foo3(x: T); // no error, different declaration for each T ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) +>foo3 : Symbol(C2.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 48, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 48, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 48, 9)) foo3(x: T) { } ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) +>foo3 : Symbol(C2.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 45, 27), Decl(typeParametersAreIdenticalToThemselves.ts, 47, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 48, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 49, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 49, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 49, 9)) @@ -231,17 +231,17 @@ interface I { >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 12)) foo1(x: T); ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 16), Decl(typeParametersAreIdenticalToThemselves.ts, 53, 15)) +>foo1 : Symbol(I.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 16), Decl(typeParametersAreIdenticalToThemselves.ts, 53, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 53, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 12)) foo1(x: T); // error, same T ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 16), Decl(typeParametersAreIdenticalToThemselves.ts, 53, 15)) +>foo1 : Symbol(I.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 16), Decl(typeParametersAreIdenticalToThemselves.ts, 53, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 54, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 12)) foo2(a: T, x: U); ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 54, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 56, 24)) +>foo2 : Symbol(I.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 54, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 56, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 56, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 56, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 12)) @@ -249,7 +249,7 @@ interface I { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 56, 9)) foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 54, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 56, 24)) +>foo2 : Symbol(I.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 54, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 56, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 52, 12)) @@ -257,26 +257,26 @@ interface I { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 9)) foo3(x: T); ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 59, 18)) +>foo3 : Symbol(I.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 59, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 59, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 59, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 59, 9)) foo3(x: T); // no error, different declaration for each T ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 59, 18)) +>foo3 : Symbol(I.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 57, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 59, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 9)) foo4(x: T); ->foo4 : Symbol(foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) +>foo4 : Symbol(I.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 9)) foo4(x: T); // no error, different declaration for each T ->foo4 : Symbol(foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) +>foo4 : Symbol(I.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 63, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 63, 25)) @@ -289,17 +289,17 @@ interface I2 { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo1(x: T); ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 30), Decl(typeParametersAreIdenticalToThemselves.ts, 67, 15)) +>foo1 : Symbol(I2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 30), Decl(typeParametersAreIdenticalToThemselves.ts, 67, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 67, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 13)) foo1(x: T); // error, same T ->foo1 : Symbol(foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 30), Decl(typeParametersAreIdenticalToThemselves.ts, 67, 15)) +>foo1 : Symbol(I2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 30), Decl(typeParametersAreIdenticalToThemselves.ts, 67, 15)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 68, 9)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 13)) foo2(a: T, x: U); ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 68, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 70, 24)) +>foo2 : Symbol(I2.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 68, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 70, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 70, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 70, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 13)) @@ -307,7 +307,7 @@ interface I2 { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 70, 9)) foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : Symbol(foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 68, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 70, 24)) +>foo2 : Symbol(I2.foo2, Decl(typeParametersAreIdenticalToThemselves.ts, 68, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 70, 24)) >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 9)) >a : Symbol(a, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 13)) @@ -315,13 +315,13 @@ interface I2 { >U : Symbol(U, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 9)) foo3(x: T); ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 73, 18)) +>foo3 : Symbol(I2.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 73, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 73, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 73, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 73, 9)) foo3(x: T); // no error, different declaration for each T ->foo3 : Symbol(foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 73, 18)) +>foo3 : Symbol(I2.foo3, Decl(typeParametersAreIdenticalToThemselves.ts, 71, 24), Decl(typeParametersAreIdenticalToThemselves.ts, 73, 18)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 74, 9)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 74, 12)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 74, 9)) diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope.symbols b/tests/baselines/reference/typeParametersAvailableInNestedScope.symbols index 905ccba8f3f..d9b3661ace9 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope.symbols +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope.symbols @@ -4,11 +4,11 @@ class C { >T : Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8)) data: T; ->data : Symbol(data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12)) +>data : Symbol(C.data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12)) >T : Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8)) x = (a: U) => { ->x : Symbol(x, Decl(typeParametersAvailableInNestedScope.ts, 1, 12)) +>x : Symbol(C.x, Decl(typeParametersAvailableInNestedScope.ts, 1, 12)) >U : Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 3, 9)) >a : Symbol(a, Decl(typeParametersAvailableInNestedScope.ts, 3, 12)) >U : Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 3, 9)) @@ -22,7 +22,7 @@ class C { } foo() { ->foo : Symbol(foo, Decl(typeParametersAvailableInNestedScope.ts, 6, 5)) +>foo : Symbol(C.foo, Decl(typeParametersAvailableInNestedScope.ts, 6, 5)) function temp(a: U) { >temp : Symbol(temp, Decl(typeParametersAvailableInNestedScope.ts, 8, 11)) diff --git a/tests/baselines/reference/typePredicateASI.symbols b/tests/baselines/reference/typePredicateASI.symbols index c451c4caf06..b3a9c3fd030 100644 --- a/tests/baselines/reference/typePredicateASI.symbols +++ b/tests/baselines/reference/typePredicateASI.symbols @@ -3,12 +3,12 @@ interface I { >I : Symbol(I, Decl(typePredicateASI.ts, 0, 0)) foo(callback: (a: any, b: any) => void): I ->foo : Symbol(foo, Decl(typePredicateASI.ts, 0, 13)) +>foo : Symbol(I.foo, Decl(typePredicateASI.ts, 0, 13)) >callback : Symbol(callback, Decl(typePredicateASI.ts, 1, 8)) >a : Symbol(a, Decl(typePredicateASI.ts, 1, 19)) >b : Symbol(b, Decl(typePredicateASI.ts, 1, 26)) >I : Symbol(I, Decl(typePredicateASI.ts, 0, 0)) is(): boolean; ->is : Symbol(is, Decl(typePredicateASI.ts, 1, 46)) +>is : Symbol(I.is, Decl(typePredicateASI.ts, 1, 46)) } diff --git a/tests/baselines/reference/typeQueryWithReservedWords.symbols b/tests/baselines/reference/typeQueryWithReservedWords.symbols index c8c04e3c2aa..e804d9dddaa 100644 --- a/tests/baselines/reference/typeQueryWithReservedWords.symbols +++ b/tests/baselines/reference/typeQueryWithReservedWords.symbols @@ -3,13 +3,13 @@ class Controller { >Controller : Symbol(Controller, Decl(typeQueryWithReservedWords.ts, 0, 0)) create() { ->create : Symbol(create, Decl(typeQueryWithReservedWords.ts, 0, 18)) +>create : Symbol(Controller.create, Decl(typeQueryWithReservedWords.ts, 0, 18)) } delete() { ->delete : Symbol(delete, Decl(typeQueryWithReservedWords.ts, 2, 5)) +>delete : Symbol(Controller.delete, Decl(typeQueryWithReservedWords.ts, 2, 5)) } var() { ->var : Symbol(var, Decl(typeQueryWithReservedWords.ts, 4, 5)) +>var : Symbol(Controller.var, Decl(typeQueryWithReservedWords.ts, 4, 5)) } } @@ -17,7 +17,7 @@ interface IScope { >IScope : Symbol(IScope, Decl(typeQueryWithReservedWords.ts, 7, 1)) create: typeof Controller.prototype.create; ->create : Symbol(create, Decl(typeQueryWithReservedWords.ts, 9, 18)) +>create : Symbol(IScope.create, Decl(typeQueryWithReservedWords.ts, 9, 18)) >Controller.prototype.create : Symbol(Controller.create, Decl(typeQueryWithReservedWords.ts, 0, 18)) >Controller.prototype : Symbol(Controller.prototype) >Controller : Symbol(Controller, Decl(typeQueryWithReservedWords.ts, 0, 0)) @@ -25,7 +25,7 @@ interface IScope { >create : Symbol(Controller.create, Decl(typeQueryWithReservedWords.ts, 0, 18)) delete: typeof Controller.prototype.delete; // Should not error ->delete : Symbol(delete, Decl(typeQueryWithReservedWords.ts, 10, 47)) +>delete : Symbol(IScope.delete, Decl(typeQueryWithReservedWords.ts, 10, 47)) >Controller.prototype.delete : Symbol(Controller.delete, Decl(typeQueryWithReservedWords.ts, 2, 5)) >Controller.prototype : Symbol(Controller.prototype) >Controller : Symbol(Controller, Decl(typeQueryWithReservedWords.ts, 0, 0)) @@ -33,7 +33,7 @@ interface IScope { >delete : Symbol(Controller.delete, Decl(typeQueryWithReservedWords.ts, 2, 5)) var: typeof Controller.prototype.var; // Should not error ->var : Symbol(var, Decl(typeQueryWithReservedWords.ts, 11, 47)) +>var : Symbol(IScope.var, Decl(typeQueryWithReservedWords.ts, 11, 47)) >Controller.prototype.var : Symbol(Controller.var, Decl(typeQueryWithReservedWords.ts, 4, 5)) >Controller.prototype : Symbol(Controller.prototype) >Controller : Symbol(Controller, Decl(typeQueryWithReservedWords.ts, 0, 0)) diff --git a/tests/baselines/reference/typeResolution.symbols b/tests/baselines/reference/typeResolution.symbols index aa0d611e52e..b967bd3d7ff 100644 --- a/tests/baselines/reference/typeResolution.symbols +++ b/tests/baselines/reference/typeResolution.symbols @@ -12,7 +12,7 @@ export module TopLevelModule1 { >ClassA : Symbol(ClassA, Decl(typeResolution.ts, 2, 37)) public AisIn1_1_1() { ->AisIn1_1_1 : Symbol(AisIn1_1_1, Decl(typeResolution.ts, 3, 33)) +>AisIn1_1_1 : Symbol(ClassA.AisIn1_1_1, Decl(typeResolution.ts, 3, 33)) // Try all qualified names of this type var a1: ClassA; a1.AisIn1_1_1(); @@ -99,7 +99,7 @@ export module TopLevelModule1 { >ClassB : Symbol(ClassB, Decl(typeResolution.ts, 22, 13)) public BisIn1_1_1() { ->BisIn1_1_1 : Symbol(BisIn1_1_1, Decl(typeResolution.ts, 23, 33)) +>BisIn1_1_1 : Symbol(ClassB.BisIn1_1_1, Decl(typeResolution.ts, 23, 33)) /** Exactly the same as above in AisIn1_1_1 **/ @@ -195,7 +195,7 @@ export module TopLevelModule1 { } export interface InterfaceX { XisIn1_1_1(); } >InterfaceX : Symbol(InterfaceX, Decl(typeResolution.ts, 45, 13)) ->XisIn1_1_1 : Symbol(XisIn1_1_1, Decl(typeResolution.ts, 46, 41)) +>XisIn1_1_1 : Symbol(InterfaceX.XisIn1_1_1, Decl(typeResolution.ts, 46, 41)) class NonExportedClassQ { >NonExportedClassQ : Symbol(NonExportedClassQ, Decl(typeResolution.ts, 46, 57)) @@ -302,19 +302,19 @@ export module TopLevelModule1 { // No code here since these are the mirror of the above calls export class ClassA { public AisIn1_2_2() { } } >ClassA : Symbol(ClassA, Decl(typeResolution.ts, 76, 37)) ->AisIn1_2_2 : Symbol(AisIn1_2_2, Decl(typeResolution.ts, 78, 33)) +>AisIn1_2_2 : Symbol(ClassA.AisIn1_2_2, Decl(typeResolution.ts, 78, 33)) export class ClassB { public BisIn1_2_2() { } } >ClassB : Symbol(ClassB, Decl(typeResolution.ts, 78, 59)) ->BisIn1_2_2 : Symbol(BisIn1_2_2, Decl(typeResolution.ts, 79, 33)) +>BisIn1_2_2 : Symbol(ClassB.BisIn1_2_2, Decl(typeResolution.ts, 79, 33)) export class ClassC { public CisIn1_2_2() { } } >ClassC : Symbol(ClassC, Decl(typeResolution.ts, 79, 59)) ->CisIn1_2_2 : Symbol(CisIn1_2_2, Decl(typeResolution.ts, 80, 33)) +>CisIn1_2_2 : Symbol(ClassC.CisIn1_2_2, Decl(typeResolution.ts, 80, 33)) export interface InterfaceY { YisIn1_2_2(); } >InterfaceY : Symbol(InterfaceY, Decl(typeResolution.ts, 80, 59)) ->YisIn1_2_2 : Symbol(YisIn1_2_2, Decl(typeResolution.ts, 81, 41)) +>YisIn1_2_2 : Symbol(InterfaceY.YisIn1_2_2, Decl(typeResolution.ts, 81, 41)) interface NonExportedInterfaceQ { } >NonExportedInterfaceQ : Symbol(NonExportedInterfaceQ, Decl(typeResolution.ts, 81, 57)) @@ -322,21 +322,21 @@ export module TopLevelModule1 { export interface InterfaceY { YisIn1_2(); } >InterfaceY : Symbol(InterfaceY, Decl(typeResolution.ts, 83, 9)) ->YisIn1_2 : Symbol(YisIn1_2, Decl(typeResolution.ts, 85, 37)) +>YisIn1_2 : Symbol(InterfaceY.YisIn1_2, Decl(typeResolution.ts, 85, 37)) } class ClassA { >ClassA : Symbol(ClassA, Decl(typeResolution.ts, 86, 5)) public AisIn1() { } ->AisIn1 : Symbol(AisIn1, Decl(typeResolution.ts, 88, 18)) +>AisIn1 : Symbol(ClassA.AisIn1, Decl(typeResolution.ts, 88, 18)) } interface InterfaceY { >InterfaceY : Symbol(InterfaceY, Decl(typeResolution.ts, 90, 5)) YisIn1(); ->YisIn1 : Symbol(YisIn1, Decl(typeResolution.ts, 92, 26)) +>YisIn1 : Symbol(InterfaceY.YisIn1, Decl(typeResolution.ts, 92, 26)) } module NotExportedModule { @@ -357,7 +357,7 @@ module TopLevelModule2 { >ClassA : Symbol(ClassA, Decl(typeResolution.ts, 102, 30)) public AisIn2_3() { } ->AisIn2_3 : Symbol(AisIn2_3, Decl(typeResolution.ts, 103, 29)) +>AisIn2_3 : Symbol(ClassA.AisIn2_3, Decl(typeResolution.ts, 103, 29)) } } } diff --git a/tests/baselines/reference/typeVal.symbols b/tests/baselines/reference/typeVal.symbols index 353b187a48e..42c8b7158e2 100644 --- a/tests/baselines/reference/typeVal.symbols +++ b/tests/baselines/reference/typeVal.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(typeVal.ts, 0, 0), Decl(typeVal.ts, 4, 3)) I:number; ->I : Symbol(I, Decl(typeVal.ts, 0, 13)) +>I : Symbol(I.I, Decl(typeVal.ts, 0, 13)) } var I:I = { I: 3}; diff --git a/tests/baselines/reference/typedGenericPrototypeMember.symbols b/tests/baselines/reference/typedGenericPrototypeMember.symbols index ee1d6a1c9f6..e733ea63bdf 100644 --- a/tests/baselines/reference/typedGenericPrototypeMember.symbols +++ b/tests/baselines/reference/typedGenericPrototypeMember.symbols @@ -4,7 +4,7 @@ class List { >T : Symbol(T, Decl(typedGenericPrototypeMember.ts, 0, 11)) add(item: T) { } ->add : Symbol(add, Decl(typedGenericPrototypeMember.ts, 0, 15)) +>add : Symbol(List.add, Decl(typedGenericPrototypeMember.ts, 0, 15)) >item : Symbol(item, Decl(typedGenericPrototypeMember.ts, 1, 7)) >T : Symbol(T, Decl(typedGenericPrototypeMember.ts, 0, 11)) } diff --git a/tests/baselines/reference/typeofClass2.symbols b/tests/baselines/reference/typeofClass2.symbols index 9f06726d368..bd306596f66 100644 --- a/tests/baselines/reference/typeofClass2.symbols +++ b/tests/baselines/reference/typeofClass2.symbols @@ -38,7 +38,7 @@ class D extends C { >x : Symbol(x, Decl(typeofClass2.ts, 13, 15)) foo() { } ->foo : Symbol(foo, Decl(typeofClass2.ts, 13, 29)) +>foo : Symbol(D.foo, Decl(typeofClass2.ts, 13, 29)) } var d: D; diff --git a/tests/baselines/reference/typeofInterface.symbols b/tests/baselines/reference/typeofInterface.symbols index 9aa305e0a30..267b8c0926c 100644 --- a/tests/baselines/reference/typeofInterface.symbols +++ b/tests/baselines/reference/typeofInterface.symbols @@ -7,10 +7,10 @@ interface I { >I : Symbol(I, Decl(typeofInterface.ts, 0, 3), Decl(typeofInterface.ts, 0, 20)) I: number; ->I : Symbol(I, Decl(typeofInterface.ts, 2, 13)) +>I : Symbol(I.I, Decl(typeofInterface.ts, 2, 13)) foo: typeof I; ->foo : Symbol(foo, Decl(typeofInterface.ts, 3, 14)) +>foo : Symbol(I.foo, Decl(typeofInterface.ts, 3, 14)) >I : Symbol(I, Decl(typeofInterface.ts, 0, 3), Decl(typeofInterface.ts, 0, 20)) } diff --git a/tests/baselines/reference/typeofModuleWithoutExports.symbols b/tests/baselines/reference/typeofModuleWithoutExports.symbols index 7ad01e1eda7..747bff96bf5 100644 --- a/tests/baselines/reference/typeofModuleWithoutExports.symbols +++ b/tests/baselines/reference/typeofModuleWithoutExports.symbols @@ -9,7 +9,7 @@ module M { >C : Symbol(C, Decl(typeofModuleWithoutExports.ts, 1, 14)) foo: number; ->foo : Symbol(foo, Decl(typeofModuleWithoutExports.ts, 2, 13)) +>foo : Symbol(C.foo, Decl(typeofModuleWithoutExports.ts, 2, 13)) } } diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.symbols b/tests/baselines/reference/typeofOperatorWithBooleanType.symbols index 0167a14ae03..33589277e01 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.symbols @@ -11,7 +11,7 @@ class A { >A : Symbol(A, Decl(typeofOperatorWithBooleanType.ts, 4, 40)) public a: boolean; ->a : Symbol(a, Decl(typeofOperatorWithBooleanType.ts, 6, 9)) +>a : Symbol(A.a, Decl(typeofOperatorWithBooleanType.ts, 6, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(typeofOperatorWithBooleanType.ts, 7, 22)) diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.symbols b/tests/baselines/reference/typeofOperatorWithNumberType.symbols index df49b7dccb6..b413c6e2af8 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.symbols +++ b/tests/baselines/reference/typeofOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(typeofOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(typeofOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(typeofOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/typesWithOptionalProperty.symbols b/tests/baselines/reference/typesWithOptionalProperty.symbols index 9c546101099..07af97da644 100644 --- a/tests/baselines/reference/typesWithOptionalProperty.symbols +++ b/tests/baselines/reference/typesWithOptionalProperty.symbols @@ -5,13 +5,13 @@ interface I { >I : Symbol(I, Decl(typesWithOptionalProperty.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(typesWithOptionalProperty.ts, 2, 13)) +>foo : Symbol(I.foo, Decl(typesWithOptionalProperty.ts, 2, 13)) bar?: number; ->bar : Symbol(bar, Decl(typesWithOptionalProperty.ts, 3, 16)) +>bar : Symbol(I.bar, Decl(typesWithOptionalProperty.ts, 3, 16)) baz? (): string; ->baz : Symbol(baz, Decl(typesWithOptionalProperty.ts, 4, 17)) +>baz : Symbol(I.baz, Decl(typesWithOptionalProperty.ts, 4, 17)) } var a: { diff --git a/tests/baselines/reference/typesWithSpecializedCallSignatures.symbols b/tests/baselines/reference/typesWithSpecializedCallSignatures.symbols index 87aa18e3564..f51f9322913 100644 --- a/tests/baselines/reference/typesWithSpecializedCallSignatures.symbols +++ b/tests/baselines/reference/typesWithSpecializedCallSignatures.symbols @@ -3,38 +3,38 @@ class Base { foo: string } >Base : Symbol(Base, Decl(typesWithSpecializedCallSignatures.ts, 0, 0)) ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(typesWithSpecializedCallSignatures.ts, 2, 12)) class Derived1 extends Base { bar: string } >Derived1 : Symbol(Derived1, Decl(typesWithSpecializedCallSignatures.ts, 2, 26)) >Base : Symbol(Base, Decl(typesWithSpecializedCallSignatures.ts, 0, 0)) ->bar : Symbol(bar, Decl(typesWithSpecializedCallSignatures.ts, 3, 29)) +>bar : Symbol(Derived1.bar, Decl(typesWithSpecializedCallSignatures.ts, 3, 29)) class Derived2 extends Base { baz: string } >Derived2 : Symbol(Derived2, Decl(typesWithSpecializedCallSignatures.ts, 3, 43)) >Base : Symbol(Base, Decl(typesWithSpecializedCallSignatures.ts, 0, 0)) ->baz : Symbol(baz, Decl(typesWithSpecializedCallSignatures.ts, 4, 29)) +>baz : Symbol(Derived2.baz, Decl(typesWithSpecializedCallSignatures.ts, 4, 29)) class C { >C : Symbol(C, Decl(typesWithSpecializedCallSignatures.ts, 4, 43)) foo(x: 'hi'): Derived1; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) +>foo : Symbol(C.foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 7, 8)) >Derived1 : Symbol(Derived1, Decl(typesWithSpecializedCallSignatures.ts, 2, 26)) foo(x: 'bye'): Derived2; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) +>foo : Symbol(C.foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 8, 8)) >Derived2 : Symbol(Derived2, Decl(typesWithSpecializedCallSignatures.ts, 3, 43)) foo(x: string): Base; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) +>foo : Symbol(C.foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 9, 8)) >Base : Symbol(Base, Decl(typesWithSpecializedCallSignatures.ts, 0, 0)) foo(x) { ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) +>foo : Symbol(C.foo, Decl(typesWithSpecializedCallSignatures.ts, 6, 9), Decl(typesWithSpecializedCallSignatures.ts, 7, 27), Decl(typesWithSpecializedCallSignatures.ts, 8, 28), Decl(typesWithSpecializedCallSignatures.ts, 9, 25)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 10, 8)) return x; @@ -49,17 +49,17 @@ interface I { >I : Symbol(I, Decl(typesWithSpecializedCallSignatures.ts, 14, 16)) foo(x: 'hi'): Derived1; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) +>foo : Symbol(I.foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 17, 8)) >Derived1 : Symbol(Derived1, Decl(typesWithSpecializedCallSignatures.ts, 2, 26)) foo(x: 'bye'): Derived2; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) +>foo : Symbol(I.foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 18, 8)) >Derived2 : Symbol(Derived2, Decl(typesWithSpecializedCallSignatures.ts, 3, 43)) foo(x: string): Base; ->foo : Symbol(foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) +>foo : Symbol(I.foo, Decl(typesWithSpecializedCallSignatures.ts, 16, 13), Decl(typesWithSpecializedCallSignatures.ts, 17, 27), Decl(typesWithSpecializedCallSignatures.ts, 18, 28)) >x : Symbol(x, Decl(typesWithSpecializedCallSignatures.ts, 19, 8)) >Base : Symbol(Base, Decl(typesWithSpecializedCallSignatures.ts, 0, 0)) } diff --git a/tests/baselines/reference/typesWithSpecializedConstructSignatures.symbols b/tests/baselines/reference/typesWithSpecializedConstructSignatures.symbols index 428be5f7438..1adb4e6d96c 100644 --- a/tests/baselines/reference/typesWithSpecializedConstructSignatures.symbols +++ b/tests/baselines/reference/typesWithSpecializedConstructSignatures.symbols @@ -3,17 +3,17 @@ class Base { foo: string } >Base : Symbol(Base, Decl(typesWithSpecializedConstructSignatures.ts, 0, 0)) ->foo : Symbol(foo, Decl(typesWithSpecializedConstructSignatures.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(typesWithSpecializedConstructSignatures.ts, 2, 12)) class Derived1 extends Base { bar: string } >Derived1 : Symbol(Derived1, Decl(typesWithSpecializedConstructSignatures.ts, 2, 26)) >Base : Symbol(Base, Decl(typesWithSpecializedConstructSignatures.ts, 0, 0)) ->bar : Symbol(bar, Decl(typesWithSpecializedConstructSignatures.ts, 3, 29)) +>bar : Symbol(Derived1.bar, Decl(typesWithSpecializedConstructSignatures.ts, 3, 29)) class Derived2 extends Base { baz: string } >Derived2 : Symbol(Derived2, Decl(typesWithSpecializedConstructSignatures.ts, 3, 43)) >Base : Symbol(Base, Decl(typesWithSpecializedConstructSignatures.ts, 0, 0)) ->baz : Symbol(baz, Decl(typesWithSpecializedConstructSignatures.ts, 4, 29)) +>baz : Symbol(Derived2.baz, Decl(typesWithSpecializedConstructSignatures.ts, 4, 29)) class C { >C : Symbol(C, Decl(typesWithSpecializedConstructSignatures.ts, 4, 43)) diff --git a/tests/baselines/reference/umd-augmentation-1.symbols b/tests/baselines/reference/umd-augmentation-1.symbols index 15dab071bb4..645511350a9 100644 --- a/tests/baselines/reference/umd-augmentation-1.symbols +++ b/tests/baselines/reference/umd-augmentation-1.symbols @@ -44,10 +44,10 @@ export interface Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) x: number; ->x : Symbol(x, Decl(index.d.ts, 3, 24)) +>x : Symbol(Point.x, Decl(index.d.ts, 3, 24)) y: number; ->y : Symbol(y, Decl(index.d.ts, 4, 11)) +>y : Symbol(Point.y, Decl(index.d.ts, 4, 11)) } export class Vector implements Point { @@ -55,17 +55,17 @@ export class Vector implements Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) x: number; ->x : Symbol(x, Decl(index.d.ts, 8, 38)) +>x : Symbol(Vector.x, Decl(index.d.ts, 8, 38)) y: number; ->y : Symbol(y, Decl(index.d.ts, 9, 11)) +>y : Symbol(Vector.y, Decl(index.d.ts, 9, 11)) constructor(x: number, y: number); >x : Symbol(x, Decl(index.d.ts, 11, 13)) >y : Symbol(y, Decl(index.d.ts, 11, 23)) translate(dx: number, dy: number): Vector; ->translate : Symbol(translate, Decl(index.d.ts, 11, 35)) +>translate : Symbol(Vector.translate, Decl(index.d.ts, 11, 35)) >dx : Symbol(dx, Decl(index.d.ts, 13, 11)) >dy : Symbol(dy, Decl(index.d.ts, 13, 22)) >Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) @@ -87,7 +87,7 @@ declare module 'math2d' { >Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) reverse(): Math2d.Point; ->reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) >Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) } diff --git a/tests/baselines/reference/umd-augmentation-2.symbols b/tests/baselines/reference/umd-augmentation-2.symbols index 4e5163f7499..bd6584d3d74 100644 --- a/tests/baselines/reference/umd-augmentation-2.symbols +++ b/tests/baselines/reference/umd-augmentation-2.symbols @@ -42,10 +42,10 @@ export interface Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) x: number; ->x : Symbol(x, Decl(index.d.ts, 3, 24)) +>x : Symbol(Point.x, Decl(index.d.ts, 3, 24)) y: number; ->y : Symbol(y, Decl(index.d.ts, 4, 11)) +>y : Symbol(Point.y, Decl(index.d.ts, 4, 11)) } export class Vector implements Point { @@ -53,17 +53,17 @@ export class Vector implements Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) x: number; ->x : Symbol(x, Decl(index.d.ts, 8, 38)) +>x : Symbol(Vector.x, Decl(index.d.ts, 8, 38)) y: number; ->y : Symbol(y, Decl(index.d.ts, 9, 11)) +>y : Symbol(Vector.y, Decl(index.d.ts, 9, 11)) constructor(x: number, y: number); >x : Symbol(x, Decl(index.d.ts, 11, 13)) >y : Symbol(y, Decl(index.d.ts, 11, 23)) translate(dx: number, dy: number): Vector; ->translate : Symbol(translate, Decl(index.d.ts, 11, 35)) +>translate : Symbol(Vector.translate, Decl(index.d.ts, 11, 35)) >dx : Symbol(dx, Decl(index.d.ts, 13, 11)) >dy : Symbol(dy, Decl(index.d.ts, 13, 22)) >Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) @@ -85,7 +85,7 @@ declare module 'math2d' { >Vector : Symbol(Vector, Decl(index.d.ts, 6, 1), Decl(math2d-augment.d.ts, 2, 25)) reverse(): Math2d.Point; ->reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) >Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) } diff --git a/tests/baselines/reference/umd-augmentation-3.symbols b/tests/baselines/reference/umd-augmentation-3.symbols index 049630e647a..4923c17954f 100644 --- a/tests/baselines/reference/umd-augmentation-3.symbols +++ b/tests/baselines/reference/umd-augmentation-3.symbols @@ -50,10 +50,10 @@ declare namespace M2D { >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) x: number; ->x : Symbol(x, Decl(index.d.ts, 6, 18)) +>x : Symbol(Point.x, Decl(index.d.ts, 6, 18)) y: number; ->y : Symbol(y, Decl(index.d.ts, 7, 12)) +>y : Symbol(Point.y, Decl(index.d.ts, 7, 12)) } class Vector implements Point { @@ -61,17 +61,17 @@ declare namespace M2D { >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) x: number; ->x : Symbol(x, Decl(index.d.ts, 11, 32)) +>x : Symbol(Vector.x, Decl(index.d.ts, 11, 32)) y: number; ->y : Symbol(y, Decl(index.d.ts, 12, 12)) +>y : Symbol(Vector.y, Decl(index.d.ts, 12, 12)) constructor(x: number, y: number); >x : Symbol(x, Decl(index.d.ts, 14, 14)) >y : Symbol(y, Decl(index.d.ts, 14, 24)) translate(dx: number, dy: number): Vector; ->translate : Symbol(translate, Decl(index.d.ts, 14, 36)) +>translate : Symbol(Vector.translate, Decl(index.d.ts, 14, 36)) >dx : Symbol(dx, Decl(index.d.ts, 16, 12)) >dy : Symbol(dy, Decl(index.d.ts, 16, 23)) >Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) @@ -96,7 +96,7 @@ declare module 'math2d' { >Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) reverse(): Math2d.Point; ->reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) >Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) } diff --git a/tests/baselines/reference/umd-augmentation-4.symbols b/tests/baselines/reference/umd-augmentation-4.symbols index ea36e0c7992..3f2cc913d86 100644 --- a/tests/baselines/reference/umd-augmentation-4.symbols +++ b/tests/baselines/reference/umd-augmentation-4.symbols @@ -48,10 +48,10 @@ declare namespace M2D { >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) x: number; ->x : Symbol(x, Decl(index.d.ts, 6, 18)) +>x : Symbol(Point.x, Decl(index.d.ts, 6, 18)) y: number; ->y : Symbol(y, Decl(index.d.ts, 7, 12)) +>y : Symbol(Point.y, Decl(index.d.ts, 7, 12)) } class Vector implements Point { @@ -59,17 +59,17 @@ declare namespace M2D { >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) x: number; ->x : Symbol(x, Decl(index.d.ts, 11, 32)) +>x : Symbol(Vector.x, Decl(index.d.ts, 11, 32)) y: number; ->y : Symbol(y, Decl(index.d.ts, 12, 12)) +>y : Symbol(Vector.y, Decl(index.d.ts, 12, 12)) constructor(x: number, y: number); >x : Symbol(x, Decl(index.d.ts, 14, 14)) >y : Symbol(y, Decl(index.d.ts, 14, 24)) translate(dx: number, dy: number): Vector; ->translate : Symbol(translate, Decl(index.d.ts, 14, 36)) +>translate : Symbol(Vector.translate, Decl(index.d.ts, 14, 36)) >dx : Symbol(dx, Decl(index.d.ts, 16, 12)) >dy : Symbol(dy, Decl(index.d.ts, 16, 23)) >Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) @@ -94,7 +94,7 @@ declare module 'math2d' { >Vector : Symbol(Vector, Decl(index.d.ts, 9, 2), Decl(math2d-augment.d.ts, 2, 25)) reverse(): Math2d.Point; ->reverse : Symbol(reverse, Decl(math2d-augment.d.ts, 4, 19)) +>reverse : Symbol(Vector.reverse, Decl(math2d-augment.d.ts, 4, 19)) >Math2d : Symbol(Math2d, Decl(math2d-augment.d.ts, 0, 6)) >Point : Symbol(Point, Decl(index.d.ts, 5, 23)) } diff --git a/tests/baselines/reference/umd1.symbols b/tests/baselines/reference/umd1.symbols index cccc777e3e3..9b964456bcf 100644 --- a/tests/baselines/reference/umd1.symbols +++ b/tests/baselines/reference/umd1.symbols @@ -26,7 +26,7 @@ export function fn(): void; export interface Thing { n: typeof x } >Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) ->n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>n : Symbol(Thing.n, Decl(foo.d.ts, 3, 24)) >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; diff --git a/tests/baselines/reference/umd3.symbols b/tests/baselines/reference/umd3.symbols index 82db9e0b29a..165fd81597a 100644 --- a/tests/baselines/reference/umd3.symbols +++ b/tests/baselines/reference/umd3.symbols @@ -28,7 +28,7 @@ export function fn(): void; export interface Thing { n: typeof x } >Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) ->n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>n : Symbol(Thing.n, Decl(foo.d.ts, 3, 24)) >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; diff --git a/tests/baselines/reference/umd4.symbols b/tests/baselines/reference/umd4.symbols index 8ad987a1272..8403187198b 100644 --- a/tests/baselines/reference/umd4.symbols +++ b/tests/baselines/reference/umd4.symbols @@ -28,7 +28,7 @@ export function fn(): void; export interface Thing { n: typeof x } >Thing : Symbol(Thing, Decl(foo.d.ts, 2, 27)) ->n : Symbol(n, Decl(foo.d.ts, 3, 24)) +>n : Symbol(Thing.n, Decl(foo.d.ts, 3, 24)) >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; diff --git a/tests/baselines/reference/umd8.symbols b/tests/baselines/reference/umd8.symbols index 347038e6b33..8c38f267a2a 100644 --- a/tests/baselines/reference/umd8.symbols +++ b/tests/baselines/reference/umd8.symbols @@ -16,7 +16,7 @@ declare class Thing { >Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) foo(): number; ->foo : Symbol(foo, Decl(foo.d.ts, 1, 21)) +>foo : Symbol(Thing.foo, Decl(foo.d.ts, 1, 21)) } export = Thing; >Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) diff --git a/tests/baselines/reference/undefinedAssignableToEveryType.symbols b/tests/baselines/reference/undefinedAssignableToEveryType.symbols index f511231515e..81a7d906cdf 100644 --- a/tests/baselines/reference/undefinedAssignableToEveryType.symbols +++ b/tests/baselines/reference/undefinedAssignableToEveryType.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(undefinedAssignableToEveryType.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(undefinedAssignableToEveryType.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(undefinedAssignableToEveryType.ts, 0, 9)) } var ac: C; >ac : Symbol(ac, Decl(undefinedAssignableToEveryType.ts, 3, 3)) @@ -13,7 +13,7 @@ interface I { >I : Symbol(I, Decl(undefinedAssignableToEveryType.ts, 3, 10)) foo: string; ->foo : Symbol(foo, Decl(undefinedAssignableToEveryType.ts, 4, 13)) +>foo : Symbol(I.foo, Decl(undefinedAssignableToEveryType.ts, 4, 13)) } var ai: I; >ai : Symbol(ai, Decl(undefinedAssignableToEveryType.ts, 7, 3)) diff --git a/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols b/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols index de4f6f0da05..b9e17147d51 100644 --- a/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols +++ b/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols @@ -5,7 +5,7 @@ class Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: typeof undefined; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(undefinedIsSubtypeOfEverything.ts, 2, 12)) >undefined : Symbol(undefined) } @@ -14,7 +14,7 @@ class D0 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: any; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 6, 23)) +>foo : Symbol(D0.foo, Decl(undefinedIsSubtypeOfEverything.ts, 6, 23)) } class DA extends Base { @@ -22,7 +22,7 @@ class DA extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: typeof undefined; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 10, 23)) +>foo : Symbol(DA.foo, Decl(undefinedIsSubtypeOfEverything.ts, 10, 23)) >undefined : Symbol(undefined) } @@ -31,7 +31,7 @@ class D1 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 14, 23)) +>foo : Symbol(D1.foo, Decl(undefinedIsSubtypeOfEverything.ts, 14, 23)) } class D1A extends Base { @@ -39,7 +39,7 @@ class D1A extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: String; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 18, 24)) +>foo : Symbol(D1A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 18, 24)) >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -49,7 +49,7 @@ class D2 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 23, 23)) +>foo : Symbol(D2.foo, Decl(undefinedIsSubtypeOfEverything.ts, 23, 23)) } class D2A extends Base { @@ -57,7 +57,7 @@ class D2A extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: Number; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 27, 24)) +>foo : Symbol(D2A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 27, 24)) >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -67,7 +67,7 @@ class D3 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: boolean; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 32, 23)) +>foo : Symbol(D3.foo, Decl(undefinedIsSubtypeOfEverything.ts, 32, 23)) } class D3A extends Base { @@ -75,7 +75,7 @@ class D3A extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: Boolean; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 36, 24)) +>foo : Symbol(D3A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 36, 24)) >Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -85,7 +85,7 @@ class D4 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: RegExp; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 41, 23)) +>foo : Symbol(D4.foo, Decl(undefinedIsSubtypeOfEverything.ts, 41, 23)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -94,7 +94,7 @@ class D5 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: Date; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 45, 23)) +>foo : Symbol(D5.foo, Decl(undefinedIsSubtypeOfEverything.ts, 45, 23)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -104,7 +104,7 @@ class D6 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: number[]; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 50, 23)) +>foo : Symbol(D6.foo, Decl(undefinedIsSubtypeOfEverything.ts, 50, 23)) } class D7 extends Base { @@ -112,7 +112,7 @@ class D7 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: { bar: number }; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 54, 23)) +>foo : Symbol(D7.foo, Decl(undefinedIsSubtypeOfEverything.ts, 54, 23)) >bar : Symbol(bar, Decl(undefinedIsSubtypeOfEverything.ts, 55, 10)) } @@ -122,7 +122,7 @@ class D8 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: D7; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 59, 23)) +>foo : Symbol(D8.foo, Decl(undefinedIsSubtypeOfEverything.ts, 59, 23)) >D7 : Symbol(D7, Decl(undefinedIsSubtypeOfEverything.ts, 52, 1)) } @@ -130,14 +130,14 @@ interface I1 { >I1 : Symbol(I1, Decl(undefinedIsSubtypeOfEverything.ts, 61, 1)) bar: string; ->bar : Symbol(bar, Decl(undefinedIsSubtypeOfEverything.ts, 63, 14)) +>bar : Symbol(I1.bar, Decl(undefinedIsSubtypeOfEverything.ts, 63, 14)) } class D9 extends Base { >D9 : Symbol(D9, Decl(undefinedIsSubtypeOfEverything.ts, 65, 1)) >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: I1; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 66, 23)) +>foo : Symbol(D9.foo, Decl(undefinedIsSubtypeOfEverything.ts, 66, 23)) >I1 : Symbol(I1, Decl(undefinedIsSubtypeOfEverything.ts, 61, 1)) } @@ -147,7 +147,7 @@ class D10 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: () => number; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 71, 24)) +>foo : Symbol(D10.foo, Decl(undefinedIsSubtypeOfEverything.ts, 71, 24)) } enum E { A } @@ -159,7 +159,7 @@ class D11 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: E; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 76, 24)) +>foo : Symbol(D11.foo, Decl(undefinedIsSubtypeOfEverything.ts, 76, 24)) >E : Symbol(E, Decl(undefinedIsSubtypeOfEverything.ts, 73, 1)) } @@ -177,14 +177,14 @@ class D12 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: typeof f; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 84, 24)) +>foo : Symbol(D12.foo, Decl(undefinedIsSubtypeOfEverything.ts, 84, 24)) >f : Symbol(f, Decl(undefinedIsSubtypeOfEverything.ts, 78, 1), Decl(undefinedIsSubtypeOfEverything.ts, 80, 16)) } class c { baz: string } >c : Symbol(c, Decl(undefinedIsSubtypeOfEverything.ts, 86, 1), Decl(undefinedIsSubtypeOfEverything.ts, 89, 23)) ->baz : Symbol(baz, Decl(undefinedIsSubtypeOfEverything.ts, 89, 9)) +>baz : Symbol(c.baz, Decl(undefinedIsSubtypeOfEverything.ts, 89, 9)) module c { >c : Symbol(c, Decl(undefinedIsSubtypeOfEverything.ts, 86, 1), Decl(undefinedIsSubtypeOfEverything.ts, 89, 23)) @@ -197,7 +197,7 @@ class D13 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: typeof c; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 93, 24)) +>foo : Symbol(D13.foo, Decl(undefinedIsSubtypeOfEverything.ts, 93, 24)) >c : Symbol(c, Decl(undefinedIsSubtypeOfEverything.ts, 86, 1), Decl(undefinedIsSubtypeOfEverything.ts, 89, 23)) } @@ -208,7 +208,7 @@ class D14 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: T; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 98, 27)) +>foo : Symbol(D14.foo, Decl(undefinedIsSubtypeOfEverything.ts, 98, 27)) >T : Symbol(T, Decl(undefinedIsSubtypeOfEverything.ts, 98, 10)) } @@ -220,7 +220,7 @@ class D15 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: U; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 103, 30)) +>foo : Symbol(D15.foo, Decl(undefinedIsSubtypeOfEverything.ts, 103, 30)) >U : Symbol(U, Decl(undefinedIsSubtypeOfEverything.ts, 103, 12)) } @@ -234,7 +234,7 @@ class D16 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: Object; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 112, 24)) +>foo : Symbol(D16.foo, Decl(undefinedIsSubtypeOfEverything.ts, 112, 24)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -244,6 +244,6 @@ class D17 extends Base { >Base : Symbol(Base, Decl(undefinedIsSubtypeOfEverything.ts, 0, 0)) foo: {}; ->foo : Symbol(foo, Decl(undefinedIsSubtypeOfEverything.ts, 117, 24)) +>foo : Symbol(D17.foo, Decl(undefinedIsSubtypeOfEverything.ts, 117, 24)) } diff --git a/tests/baselines/reference/underscoreMapFirst.symbols b/tests/baselines/reference/underscoreMapFirst.symbols index e926121db57..9b08a7ab4eb 100644 --- a/tests/baselines/reference/underscoreMapFirst.symbols +++ b/tests/baselines/reference/underscoreMapFirst.symbols @@ -17,7 +17,7 @@ declare module _ { >T : Symbol(T, Decl(underscoreMapFirst.ts, 2, 19)) length: number; ->length : Symbol(length, Decl(underscoreMapFirst.ts, 3, 27)) +>length : Symbol(List.length, Decl(underscoreMapFirst.ts, 3, 27)) } interface ListIterator { @@ -89,14 +89,14 @@ declare class View { >View : Symbol(View, Decl(underscoreMapFirst.ts, 24, 1)) model: any; ->model : Symbol(model, Decl(underscoreMapFirst.ts, 26, 20)) +>model : Symbol(View.model, Decl(underscoreMapFirst.ts, 26, 20)) } interface IData { >IData : Symbol(IData, Decl(underscoreMapFirst.ts, 28, 1)) series: ISeries[]; ->series : Symbol(series, Decl(underscoreMapFirst.ts, 30, 17)) +>series : Symbol(IData.series, Decl(underscoreMapFirst.ts, 30, 17)) >ISeries : Symbol(ISeries, Decl(underscoreMapFirst.ts, 32, 1)) } @@ -104,10 +104,10 @@ interface ISeries { >ISeries : Symbol(ISeries, Decl(underscoreMapFirst.ts, 32, 1)) items: any[]; ->items : Symbol(items, Decl(underscoreMapFirst.ts, 34, 19)) +>items : Symbol(ISeries.items, Decl(underscoreMapFirst.ts, 34, 19)) key: string; ->key : Symbol(key, Decl(underscoreMapFirst.ts, 35, 17)) +>key : Symbol(ISeries.key, Decl(underscoreMapFirst.ts, 35, 17)) } class MyView extends View { @@ -115,7 +115,7 @@ class MyView extends View { >View : Symbol(View, Decl(underscoreMapFirst.ts, 24, 1)) public getDataSeries(): ISeries[] { ->getDataSeries : Symbol(getDataSeries, Decl(underscoreMapFirst.ts, 39, 27)) +>getDataSeries : Symbol(MyView.getDataSeries, Decl(underscoreMapFirst.ts, 39, 27)) >ISeries : Symbol(ISeries, Decl(underscoreMapFirst.ts, 32, 1)) var data: IData[] = this.model.get("data"); diff --git a/tests/baselines/reference/underscoreTest1.symbols b/tests/baselines/reference/underscoreTest1.symbols index ee8460e16ed..0184e5dc577 100644 --- a/tests/baselines/reference/underscoreTest1.symbols +++ b/tests/baselines/reference/underscoreTest1.symbols @@ -1063,110 +1063,110 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) keys(): string[]; ->keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 31, 39)) +>keys : Symbol(WrappedObject.keys, Decl(underscoreTest1_underscore.ts, 31, 39)) values(): any[]; ->values : Symbol(values, Decl(underscoreTest1_underscore.ts, 32, 25)) +>values : Symbol(WrappedObject.values, Decl(underscoreTest1_underscore.ts, 32, 25)) pairs(): any[][]; ->pairs : Symbol(pairs, Decl(underscoreTest1_underscore.ts, 33, 24)) +>pairs : Symbol(WrappedObject.pairs, Decl(underscoreTest1_underscore.ts, 33, 24)) invert(): any; ->invert : Symbol(invert, Decl(underscoreTest1_underscore.ts, 34, 25)) +>invert : Symbol(WrappedObject.invert, Decl(underscoreTest1_underscore.ts, 34, 25)) functions(): string[]; ->functions : Symbol(functions, Decl(underscoreTest1_underscore.ts, 35, 22)) +>functions : Symbol(WrappedObject.functions, Decl(underscoreTest1_underscore.ts, 35, 22)) methods(): string[]; ->methods : Symbol(methods, Decl(underscoreTest1_underscore.ts, 36, 30)) +>methods : Symbol(WrappedObject.methods, Decl(underscoreTest1_underscore.ts, 36, 30)) extend(...sources: any[]): T; ->extend : Symbol(extend, Decl(underscoreTest1_underscore.ts, 37, 28)) +>extend : Symbol(WrappedObject.extend, Decl(underscoreTest1_underscore.ts, 37, 28)) >sources : Symbol(sources, Decl(underscoreTest1_underscore.ts, 38, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) pick(...keys: string[]): T; ->pick : Symbol(pick, Decl(underscoreTest1_underscore.ts, 38, 37)) +>pick : Symbol(WrappedObject.pick, Decl(underscoreTest1_underscore.ts, 38, 37)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 39, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) omit(...keys: string[]): T; ->omit : Symbol(omit, Decl(underscoreTest1_underscore.ts, 39, 35)) +>omit : Symbol(WrappedObject.omit, Decl(underscoreTest1_underscore.ts, 39, 35)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 40, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) defaults(...defaults: any[]): T; ->defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 40, 35)) +>defaults : Symbol(WrappedObject.defaults, Decl(underscoreTest1_underscore.ts, 40, 35)) >defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 41, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) clone(): T; ->clone : Symbol(clone, Decl(underscoreTest1_underscore.ts, 41, 40)) +>clone : Symbol(WrappedObject.clone, Decl(underscoreTest1_underscore.ts, 41, 40)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) tap(interceptor: (object: T) => void): T; ->tap : Symbol(tap, Decl(underscoreTest1_underscore.ts, 42, 19)) +>tap : Symbol(WrappedObject.tap, Decl(underscoreTest1_underscore.ts, 42, 19)) >interceptor : Symbol(interceptor, Decl(underscoreTest1_underscore.ts, 43, 12)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 43, 26)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) has(key: string): boolean; ->has : Symbol(has, Decl(underscoreTest1_underscore.ts, 43, 49)) +>has : Symbol(WrappedObject.has, Decl(underscoreTest1_underscore.ts, 43, 49)) >key : Symbol(key, Decl(underscoreTest1_underscore.ts, 44, 12)) isEqual(other: T): boolean; ->isEqual : Symbol(isEqual, Decl(underscoreTest1_underscore.ts, 44, 34)) +>isEqual : Symbol(WrappedObject.isEqual, Decl(underscoreTest1_underscore.ts, 44, 34)) >other : Symbol(other, Decl(underscoreTest1_underscore.ts, 45, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) isEmpty(): boolean; ->isEmpty : Symbol(isEmpty, Decl(underscoreTest1_underscore.ts, 45, 35)) +>isEmpty : Symbol(WrappedObject.isEmpty, Decl(underscoreTest1_underscore.ts, 45, 35)) isElement(): boolean; ->isElement : Symbol(isElement, Decl(underscoreTest1_underscore.ts, 46, 27)) +>isElement : Symbol(WrappedObject.isElement, Decl(underscoreTest1_underscore.ts, 46, 27)) isArray(): boolean; ->isArray : Symbol(isArray, Decl(underscoreTest1_underscore.ts, 47, 29)) +>isArray : Symbol(WrappedObject.isArray, Decl(underscoreTest1_underscore.ts, 47, 29)) isObject(): boolean; ->isObject : Symbol(isObject, Decl(underscoreTest1_underscore.ts, 48, 27)) +>isObject : Symbol(WrappedObject.isObject, Decl(underscoreTest1_underscore.ts, 48, 27)) isArguments(): boolean; ->isArguments : Symbol(isArguments, Decl(underscoreTest1_underscore.ts, 49, 28)) +>isArguments : Symbol(WrappedObject.isArguments, Decl(underscoreTest1_underscore.ts, 49, 28)) isFunction(): boolean; ->isFunction : Symbol(isFunction, Decl(underscoreTest1_underscore.ts, 50, 31)) +>isFunction : Symbol(WrappedObject.isFunction, Decl(underscoreTest1_underscore.ts, 50, 31)) isString(): boolean; ->isString : Symbol(isString, Decl(underscoreTest1_underscore.ts, 51, 30)) +>isString : Symbol(WrappedObject.isString, Decl(underscoreTest1_underscore.ts, 51, 30)) isNumber(): boolean; ->isNumber : Symbol(isNumber, Decl(underscoreTest1_underscore.ts, 52, 28)) +>isNumber : Symbol(WrappedObject.isNumber, Decl(underscoreTest1_underscore.ts, 52, 28)) isFinite(): boolean; ->isFinite : Symbol(isFinite, Decl(underscoreTest1_underscore.ts, 53, 28)) +>isFinite : Symbol(WrappedObject.isFinite, Decl(underscoreTest1_underscore.ts, 53, 28)) isBoolean(): boolean; ->isBoolean : Symbol(isBoolean, Decl(underscoreTest1_underscore.ts, 54, 28)) +>isBoolean : Symbol(WrappedObject.isBoolean, Decl(underscoreTest1_underscore.ts, 54, 28)) isDate(): boolean; ->isDate : Symbol(isDate, Decl(underscoreTest1_underscore.ts, 55, 29)) +>isDate : Symbol(WrappedObject.isDate, Decl(underscoreTest1_underscore.ts, 55, 29)) isRegExp(): boolean; ->isRegExp : Symbol(isRegExp, Decl(underscoreTest1_underscore.ts, 56, 26)) +>isRegExp : Symbol(WrappedObject.isRegExp, Decl(underscoreTest1_underscore.ts, 56, 26)) isNaN(): boolean; ->isNaN : Symbol(isNaN, Decl(underscoreTest1_underscore.ts, 57, 28)) +>isNaN : Symbol(WrappedObject.isNaN, Decl(underscoreTest1_underscore.ts, 57, 28)) isNull(): boolean; ->isNull : Symbol(isNull, Decl(underscoreTest1_underscore.ts, 58, 25)) +>isNull : Symbol(WrappedObject.isNull, Decl(underscoreTest1_underscore.ts, 58, 25)) isUndefined(): boolean; ->isUndefined : Symbol(isUndefined, Decl(underscoreTest1_underscore.ts, 59, 26)) +>isUndefined : Symbol(WrappedObject.isUndefined, Decl(underscoreTest1_underscore.ts, 59, 26)) value(): T; ->value : Symbol(value, Decl(underscoreTest1_underscore.ts, 60, 31)) +>value : Symbol(WrappedObject.value, Decl(underscoreTest1_underscore.ts, 60, 31)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 31, 35)) } @@ -1178,58 +1178,58 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) bind(object: any): T; ->bind : Symbol(bind, Decl(underscoreTest1_underscore.ts, 64, 83), Decl(underscoreTest1_underscore.ts, 65, 29)) +>bind : Symbol(WrappedFunction.bind, Decl(underscoreTest1_underscore.ts, 64, 83), Decl(underscoreTest1_underscore.ts, 65, 29)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 65, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) bind(object: any, ...args: any[]): Function; ->bind : Symbol(bind, Decl(underscoreTest1_underscore.ts, 64, 83), Decl(underscoreTest1_underscore.ts, 65, 29)) +>bind : Symbol(WrappedFunction.bind, Decl(underscoreTest1_underscore.ts, 64, 83), Decl(underscoreTest1_underscore.ts, 65, 29)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 66, 13)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 66, 25)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) bindAll(...methodNames: string[]): T; ->bindAll : Symbol(bindAll, Decl(underscoreTest1_underscore.ts, 66, 52)) +>bindAll : Symbol(WrappedFunction.bindAll, Decl(underscoreTest1_underscore.ts, 66, 52)) >methodNames : Symbol(methodNames, Decl(underscoreTest1_underscore.ts, 67, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) partial(...args: any[]): Function; ->partial : Symbol(partial, Decl(underscoreTest1_underscore.ts, 67, 45)) +>partial : Symbol(WrappedFunction.partial, Decl(underscoreTest1_underscore.ts, 67, 45)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 68, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) memoize(hashFunction?: Function): T; ->memoize : Symbol(memoize, Decl(underscoreTest1_underscore.ts, 68, 42)) +>memoize : Symbol(WrappedFunction.memoize, Decl(underscoreTest1_underscore.ts, 68, 42)) >hashFunction : Symbol(hashFunction, Decl(underscoreTest1_underscore.ts, 69, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) delay(wait: number, ...args: any[]): number; ->delay : Symbol(delay, Decl(underscoreTest1_underscore.ts, 69, 44)) +>delay : Symbol(WrappedFunction.delay, Decl(underscoreTest1_underscore.ts, 69, 44)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 70, 14)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 70, 27)) defer(...args: any[]): number; ->defer : Symbol(defer, Decl(underscoreTest1_underscore.ts, 70, 52)) +>defer : Symbol(WrappedFunction.defer, Decl(underscoreTest1_underscore.ts, 70, 52)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 71, 14)) throttle(wait: number): T; ->throttle : Symbol(throttle, Decl(underscoreTest1_underscore.ts, 71, 38)) +>throttle : Symbol(WrappedFunction.throttle, Decl(underscoreTest1_underscore.ts, 71, 38)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 72, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) debounce(wait: number, immediate?: boolean): T; ->debounce : Symbol(debounce, Decl(underscoreTest1_underscore.ts, 72, 34)) +>debounce : Symbol(WrappedFunction.debounce, Decl(underscoreTest1_underscore.ts, 72, 34)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 73, 17)) >immediate : Symbol(immediate, Decl(underscoreTest1_underscore.ts, 73, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) once(): T; ->once : Symbol(once, Decl(underscoreTest1_underscore.ts, 73, 55)) +>once : Symbol(WrappedFunction.once, Decl(underscoreTest1_underscore.ts, 73, 55)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) wrap(wrapper: (func: T, ...args: any[]) => any): T; ->wrap : Symbol(wrap, Decl(underscoreTest1_underscore.ts, 74, 18)) +>wrap : Symbol(WrappedFunction.wrap, Decl(underscoreTest1_underscore.ts, 74, 18)) >wrapper : Symbol(wrapper, Decl(underscoreTest1_underscore.ts, 75, 13)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 75, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) @@ -1237,7 +1237,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) compose(...funcs: Function[]): Function; ->compose : Symbol(compose, Decl(underscoreTest1_underscore.ts, 75, 59)) +>compose : Symbol(WrappedFunction.compose, Decl(underscoreTest1_underscore.ts, 75, 59)) >funcs : Symbol(funcs, Decl(underscoreTest1_underscore.ts, 76, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) @@ -1251,21 +1251,21 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) each(iterator: Iterator, context?: any): void; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 79, 70)) +>each : Symbol(WrappedArray.each, Decl(underscoreTest1_underscore.ts, 79, 70)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 80, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 80, 41)) forEach(iterator: Iterator, context?: any): void; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 80, 63)) +>forEach : Symbol(WrappedArray.forEach, Decl(underscoreTest1_underscore.ts, 80, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 81, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 81, 44)) map(iterator: Iterator, context?: any): U[]; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 81, 66)) +>map : Symbol(WrappedArray.map, Decl(underscoreTest1_underscore.ts, 81, 66)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 82, 12)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 82, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -1275,7 +1275,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 82, 12)) collect(iterator: Iterator, context?: any): U[]; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 82, 61)) +>collect : Symbol(WrappedArray.collect, Decl(underscoreTest1_underscore.ts, 82, 61)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 83, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 83, 19)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -1285,7 +1285,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 83, 16)) reduce(iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 83, 65), Decl(underscoreTest1_underscore.ts, 84, 76)) +>reduce : Symbol(WrappedArray.reduce, Decl(underscoreTest1_underscore.ts, 83, 65), Decl(underscoreTest1_underscore.ts, 84, 76)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 84, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1296,7 +1296,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) reduce(iterator: Reducer, initialValue: U, context?: any): U; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 83, 65), Decl(underscoreTest1_underscore.ts, 84, 76)) +>reduce : Symbol(WrappedArray.reduce, Decl(underscoreTest1_underscore.ts, 83, 65), Decl(underscoreTest1_underscore.ts, 84, 76)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 85, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 85, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1308,7 +1308,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 85, 15)) foldl(iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 85, 78), Decl(underscoreTest1_underscore.ts, 86, 75)) +>foldl : Symbol(WrappedArray.foldl, Decl(underscoreTest1_underscore.ts, 85, 78), Decl(underscoreTest1_underscore.ts, 86, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 86, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1319,7 +1319,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) foldl(iterator: Reducer, initialValue: U, context?: any): U; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 85, 78), Decl(underscoreTest1_underscore.ts, 86, 75)) +>foldl : Symbol(WrappedArray.foldl, Decl(underscoreTest1_underscore.ts, 85, 78), Decl(underscoreTest1_underscore.ts, 86, 75)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 87, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 87, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1331,7 +1331,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 87, 14)) inject(iterator: Reducer, initialValue?: T, context?: any): T; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 87, 77), Decl(underscoreTest1_underscore.ts, 88, 76)) +>inject : Symbol(WrappedArray.inject, Decl(underscoreTest1_underscore.ts, 87, 77), Decl(underscoreTest1_underscore.ts, 88, 76)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 88, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1342,7 +1342,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) inject(iterator: Reducer, initialValue: U, context?: any): U; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 87, 77), Decl(underscoreTest1_underscore.ts, 88, 76)) +>inject : Symbol(WrappedArray.inject, Decl(underscoreTest1_underscore.ts, 87, 77), Decl(underscoreTest1_underscore.ts, 88, 76)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 89, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 89, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1354,7 +1354,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 89, 15)) reduceRight(iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 89, 78), Decl(underscoreTest1_underscore.ts, 90, 81)) +>reduceRight : Symbol(WrappedArray.reduceRight, Decl(underscoreTest1_underscore.ts, 89, 78), Decl(underscoreTest1_underscore.ts, 90, 81)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 90, 20)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1365,7 +1365,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) reduceRight(iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 89, 78), Decl(underscoreTest1_underscore.ts, 90, 81)) +>reduceRight : Symbol(WrappedArray.reduceRight, Decl(underscoreTest1_underscore.ts, 89, 78), Decl(underscoreTest1_underscore.ts, 90, 81)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 91, 20)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 91, 23)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1377,7 +1377,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 91, 20)) foldr(iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 91, 83), Decl(underscoreTest1_underscore.ts, 92, 75)) +>foldr : Symbol(WrappedArray.foldr, Decl(underscoreTest1_underscore.ts, 91, 83), Decl(underscoreTest1_underscore.ts, 92, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 92, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1388,7 +1388,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) foldr(iterator: Reducer, initialValue: U, context?: any): U; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 91, 83), Decl(underscoreTest1_underscore.ts, 92, 75)) +>foldr : Symbol(WrappedArray.foldr, Decl(underscoreTest1_underscore.ts, 91, 83), Decl(underscoreTest1_underscore.ts, 92, 75)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 93, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 93, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1400,7 +1400,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 93, 14)) find(iterator: Iterator, context?: any): T; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 93, 77)) +>find : Symbol(WrappedArray.find, Decl(underscoreTest1_underscore.ts, 93, 77)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 94, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1408,7 +1408,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) detect(iterator: Iterator, context?: any): T; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 94, 63)) +>detect : Symbol(WrappedArray.detect, Decl(underscoreTest1_underscore.ts, 94, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 95, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1416,7 +1416,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) filter(iterator: Iterator, context?: any): T[]; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 95, 65)) +>filter : Symbol(WrappedArray.filter, Decl(underscoreTest1_underscore.ts, 95, 65)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 96, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1424,7 +1424,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) select(iterator: Iterator, context?: any): T[]; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 96, 67)) +>select : Symbol(WrappedArray.select, Decl(underscoreTest1_underscore.ts, 96, 67)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 97, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1432,19 +1432,19 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) where(properties: Object): T[]; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 97, 67)) +>where : Symbol(WrappedArray.where, Decl(underscoreTest1_underscore.ts, 97, 67)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 98, 14)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) findWhere(properties: Object): T; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 98, 39)) +>findWhere : Symbol(WrappedArray.findWhere, Decl(underscoreTest1_underscore.ts, 98, 39)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 99, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) reject(iterator: Iterator, context?: any): T[]; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 99, 41)) +>reject : Symbol(WrappedArray.reject, Decl(underscoreTest1_underscore.ts, 99, 41)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 100, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1452,54 +1452,54 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) every(iterator?: Iterator, context?: any): boolean; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 100, 67)) +>every : Symbol(WrappedArray.every, Decl(underscoreTest1_underscore.ts, 100, 67)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 101, 14)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 101, 46)) all(iterator?: Iterator, context?: any): boolean; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 101, 71)) +>all : Symbol(WrappedArray.all, Decl(underscoreTest1_underscore.ts, 101, 71)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 102, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 102, 44)) some(iterator?: Iterator, context?: any): boolean; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 102, 69)) +>some : Symbol(WrappedArray.some, Decl(underscoreTest1_underscore.ts, 102, 69)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 103, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 103, 45)) any(iterator?: Iterator, context?: any): boolean; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 103, 70)) +>any : Symbol(WrappedArray.any, Decl(underscoreTest1_underscore.ts, 103, 70)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 104, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 104, 44)) contains(value: T): boolean; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 104, 69)) +>contains : Symbol(WrappedArray.contains, Decl(underscoreTest1_underscore.ts, 104, 69)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 105, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) include(value: T): boolean; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 105, 36)) +>include : Symbol(WrappedArray.include, Decl(underscoreTest1_underscore.ts, 105, 36)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 106, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) invoke(methodName: string, ...args: any[]): any[]; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 106, 35)) +>invoke : Symbol(WrappedArray.invoke, Decl(underscoreTest1_underscore.ts, 106, 35)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 107, 15)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 107, 34)) pluck(propertyName: string): any[]; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 107, 58)) +>pluck : Symbol(WrappedArray.pluck, Decl(underscoreTest1_underscore.ts, 107, 58)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 108, 14)) max(iterator?: Iterator, context?: any): T; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 108, 43)) +>max : Symbol(WrappedArray.max, Decl(underscoreTest1_underscore.ts, 108, 43)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 109, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1507,7 +1507,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) min(iterator?: Iterator, context?: any): T; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 109, 59)) +>min : Symbol(WrappedArray.min, Decl(underscoreTest1_underscore.ts, 109, 59)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 110, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1515,7 +1515,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) sortBy(iterator: Iterator, context?: any): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 110, 59), Decl(underscoreTest1_underscore.ts, 111, 63)) +>sortBy : Symbol(WrappedArray.sortBy, Decl(underscoreTest1_underscore.ts, 110, 59), Decl(underscoreTest1_underscore.ts, 111, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 111, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1523,12 +1523,12 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) sortBy(propertyName: string): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 110, 59), Decl(underscoreTest1_underscore.ts, 111, 63)) +>sortBy : Symbol(WrappedArray.sortBy, Decl(underscoreTest1_underscore.ts, 110, 59), Decl(underscoreTest1_underscore.ts, 111, 63)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 112, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) groupBy(iterator?: Iterator, context?: any): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 112, 42), Decl(underscoreTest1_underscore.ts, 113, 77)) +>groupBy : Symbol(WrappedArray.groupBy, Decl(underscoreTest1_underscore.ts, 112, 42), Decl(underscoreTest1_underscore.ts, 113, 77)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 113, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1537,13 +1537,13 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) groupBy(propertyName: string): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 112, 42), Decl(underscoreTest1_underscore.ts, 113, 77)) +>groupBy : Symbol(WrappedArray.groupBy, Decl(underscoreTest1_underscore.ts, 112, 42), Decl(underscoreTest1_underscore.ts, 113, 77)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 114, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) countBy(iterator?: Iterator, context?: any): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 114, 55), Decl(underscoreTest1_underscore.ts, 115, 80)) +>countBy : Symbol(WrappedArray.countBy, Decl(underscoreTest1_underscore.ts, 114, 55), Decl(underscoreTest1_underscore.ts, 115, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 115, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1551,112 +1551,112 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) countBy(propertyName: string): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 114, 55), Decl(underscoreTest1_underscore.ts, 115, 80)) +>countBy : Symbol(WrappedArray.countBy, Decl(underscoreTest1_underscore.ts, 114, 55), Decl(underscoreTest1_underscore.ts, 115, 80)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 116, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) shuffle(): T[]; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 116, 58)) +>shuffle : Symbol(WrappedArray.shuffle, Decl(underscoreTest1_underscore.ts, 116, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) toArray(): T[]; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 117, 23)) +>toArray : Symbol(WrappedArray.toArray, Decl(underscoreTest1_underscore.ts, 117, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) size(): number; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 118, 23)) +>size : Symbol(WrappedArray.size, Decl(underscoreTest1_underscore.ts, 118, 23)) first(): T; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 119, 23), Decl(underscoreTest1_underscore.ts, 120, 19)) +>first : Symbol(WrappedArray.first, Decl(underscoreTest1_underscore.ts, 119, 23), Decl(underscoreTest1_underscore.ts, 120, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) first(count: number): T[]; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 119, 23), Decl(underscoreTest1_underscore.ts, 120, 19)) +>first : Symbol(WrappedArray.first, Decl(underscoreTest1_underscore.ts, 119, 23), Decl(underscoreTest1_underscore.ts, 120, 19)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 121, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) head(): T; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 121, 34), Decl(underscoreTest1_underscore.ts, 122, 18)) +>head : Symbol(WrappedArray.head, Decl(underscoreTest1_underscore.ts, 121, 34), Decl(underscoreTest1_underscore.ts, 122, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) head(count: number): T[]; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 121, 34), Decl(underscoreTest1_underscore.ts, 122, 18)) +>head : Symbol(WrappedArray.head, Decl(underscoreTest1_underscore.ts, 121, 34), Decl(underscoreTest1_underscore.ts, 122, 18)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 123, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) take(): T; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 123, 33), Decl(underscoreTest1_underscore.ts, 124, 18)) +>take : Symbol(WrappedArray.take, Decl(underscoreTest1_underscore.ts, 123, 33), Decl(underscoreTest1_underscore.ts, 124, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) take(count: number): T[]; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 123, 33), Decl(underscoreTest1_underscore.ts, 124, 18)) +>take : Symbol(WrappedArray.take, Decl(underscoreTest1_underscore.ts, 123, 33), Decl(underscoreTest1_underscore.ts, 124, 18)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 125, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) initial(): T; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 125, 33), Decl(underscoreTest1_underscore.ts, 126, 21)) +>initial : Symbol(WrappedArray.initial, Decl(underscoreTest1_underscore.ts, 125, 33), Decl(underscoreTest1_underscore.ts, 126, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) initial(count: number): T[]; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 125, 33), Decl(underscoreTest1_underscore.ts, 126, 21)) +>initial : Symbol(WrappedArray.initial, Decl(underscoreTest1_underscore.ts, 125, 33), Decl(underscoreTest1_underscore.ts, 126, 21)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 127, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) last(): T; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 127, 36), Decl(underscoreTest1_underscore.ts, 128, 18)) +>last : Symbol(WrappedArray.last, Decl(underscoreTest1_underscore.ts, 127, 36), Decl(underscoreTest1_underscore.ts, 128, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) last(count: number): T[]; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 127, 36), Decl(underscoreTest1_underscore.ts, 128, 18)) +>last : Symbol(WrappedArray.last, Decl(underscoreTest1_underscore.ts, 127, 36), Decl(underscoreTest1_underscore.ts, 128, 18)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 129, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) rest(index?: number): T[]; ->rest : Symbol(rest, Decl(underscoreTest1_underscore.ts, 129, 33)) +>rest : Symbol(WrappedArray.rest, Decl(underscoreTest1_underscore.ts, 129, 33)) >index : Symbol(index, Decl(underscoreTest1_underscore.ts, 130, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) compact(): T[]; ->compact : Symbol(compact, Decl(underscoreTest1_underscore.ts, 130, 34)) +>compact : Symbol(WrappedArray.compact, Decl(underscoreTest1_underscore.ts, 130, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) flatten(shallow?: boolean): U[]; ->flatten : Symbol(flatten, Decl(underscoreTest1_underscore.ts, 131, 23)) +>flatten : Symbol(WrappedArray.flatten, Decl(underscoreTest1_underscore.ts, 131, 23)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 132, 16)) >shallow : Symbol(shallow, Decl(underscoreTest1_underscore.ts, 132, 19)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 132, 16)) without(...values: T[]): T[]; ->without : Symbol(without, Decl(underscoreTest1_underscore.ts, 132, 43)) +>without : Symbol(WrappedArray.without, Decl(underscoreTest1_underscore.ts, 132, 43)) >values : Symbol(values, Decl(underscoreTest1_underscore.ts, 133, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) union(...arrays: T[][]): T[]; ->union : Symbol(union, Decl(underscoreTest1_underscore.ts, 133, 37)) +>union : Symbol(WrappedArray.union, Decl(underscoreTest1_underscore.ts, 133, 37)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 134, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) intersection(...arrays: T[][]): T[]; ->intersection : Symbol(intersection, Decl(underscoreTest1_underscore.ts, 134, 37)) +>intersection : Symbol(WrappedArray.intersection, Decl(underscoreTest1_underscore.ts, 134, 37)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 135, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) difference(...others: T[][]): T[]; ->difference : Symbol(difference, Decl(underscoreTest1_underscore.ts, 135, 44)) +>difference : Symbol(WrappedArray.difference, Decl(underscoreTest1_underscore.ts, 135, 44)) >others : Symbol(others, Decl(underscoreTest1_underscore.ts, 136, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) uniq(isSorted?: boolean): T[]; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 136, 42), Decl(underscoreTest1_underscore.ts, 137, 38)) +>uniq : Symbol(WrappedArray.uniq, Decl(underscoreTest1_underscore.ts, 136, 42), Decl(underscoreTest1_underscore.ts, 137, 38)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 137, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) uniq(isSorted: boolean, iterator: Iterator, context?: any): U[]; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 136, 42), Decl(underscoreTest1_underscore.ts, 137, 38)) +>uniq : Symbol(WrappedArray.uniq, Decl(underscoreTest1_underscore.ts, 136, 42), Decl(underscoreTest1_underscore.ts, 137, 38)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 138, 13)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 138, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 138, 34)) @@ -1667,12 +1667,12 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 138, 13)) unique(isSorted?: boolean): T[]; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 138, 81), Decl(underscoreTest1_underscore.ts, 139, 40)) +>unique : Symbol(WrappedArray.unique, Decl(underscoreTest1_underscore.ts, 138, 81), Decl(underscoreTest1_underscore.ts, 139, 40)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 139, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) unique(isSorted: boolean, iterator: Iterator, context?: any): U[]; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 138, 81), Decl(underscoreTest1_underscore.ts, 139, 40)) +>unique : Symbol(WrappedArray.unique, Decl(underscoreTest1_underscore.ts, 138, 81), Decl(underscoreTest1_underscore.ts, 139, 40)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 140, 15)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 140, 18)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 140, 36)) @@ -1683,36 +1683,36 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 140, 15)) zip(...arrays: any[][]): any[][]; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 140, 83)) +>zip : Symbol(WrappedArray.zip, Decl(underscoreTest1_underscore.ts, 140, 83)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 141, 12)) object(): any; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 141, 41), Decl(underscoreTest1_underscore.ts, 142, 22)) +>object : Symbol(WrappedArray.object, Decl(underscoreTest1_underscore.ts, 141, 41), Decl(underscoreTest1_underscore.ts, 142, 22)) object(values: any[]): any; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 141, 41), Decl(underscoreTest1_underscore.ts, 142, 22)) +>object : Symbol(WrappedArray.object, Decl(underscoreTest1_underscore.ts, 141, 41), Decl(underscoreTest1_underscore.ts, 142, 22)) >values : Symbol(values, Decl(underscoreTest1_underscore.ts, 143, 15)) indexOf(value: T, isSorted?: boolean): number; ->indexOf : Symbol(indexOf, Decl(underscoreTest1_underscore.ts, 143, 35)) +>indexOf : Symbol(WrappedArray.indexOf, Decl(underscoreTest1_underscore.ts, 143, 35)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 144, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 144, 25)) lastIndexOf(value: T, fromIndex?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(underscoreTest1_underscore.ts, 144, 54)) +>lastIndexOf : Symbol(WrappedArray.lastIndexOf, Decl(underscoreTest1_underscore.ts, 144, 54)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 145, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >fromIndex : Symbol(fromIndex, Decl(underscoreTest1_underscore.ts, 145, 29)) sortedIndex(obj: T, propertyName: string): number; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 145, 58), Decl(underscoreTest1_underscore.ts, 146, 58)) +>sortedIndex : Symbol(WrappedArray.sortedIndex, Decl(underscoreTest1_underscore.ts, 145, 58), Decl(underscoreTest1_underscore.ts, 146, 58)) >obj : Symbol(obj, Decl(underscoreTest1_underscore.ts, 146, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 146, 27)) sortedIndex(obj: T, iterator?: Iterator, context?: any): number; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 145, 58), Decl(underscoreTest1_underscore.ts, 146, 58)) +>sortedIndex : Symbol(WrappedArray.sortedIndex, Decl(underscoreTest1_underscore.ts, 145, 58), Decl(underscoreTest1_underscore.ts, 146, 58)) >obj : Symbol(obj, Decl(underscoreTest1_underscore.ts, 147, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 147, 27)) @@ -1722,40 +1722,40 @@ module Underscore { // Methods from Array concat(...items: T[]): T[]; ->concat : Symbol(concat, Decl(underscoreTest1_underscore.ts, 147, 80)) +>concat : Symbol(WrappedArray.concat, Decl(underscoreTest1_underscore.ts, 147, 80)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 149, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) join(separator?: string): string; ->join : Symbol(join, Decl(underscoreTest1_underscore.ts, 149, 35)) +>join : Symbol(WrappedArray.join, Decl(underscoreTest1_underscore.ts, 149, 35)) >separator : Symbol(separator, Decl(underscoreTest1_underscore.ts, 150, 13)) pop(): T; ->pop : Symbol(pop, Decl(underscoreTest1_underscore.ts, 150, 41)) +>pop : Symbol(WrappedArray.pop, Decl(underscoreTest1_underscore.ts, 150, 41)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) push(...items: T[]): number; ->push : Symbol(push, Decl(underscoreTest1_underscore.ts, 151, 17)) +>push : Symbol(WrappedArray.push, Decl(underscoreTest1_underscore.ts, 151, 17)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 152, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) reverse(): T[]; ->reverse : Symbol(reverse, Decl(underscoreTest1_underscore.ts, 152, 36)) +>reverse : Symbol(WrappedArray.reverse, Decl(underscoreTest1_underscore.ts, 152, 36)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) shift(): T; ->shift : Symbol(shift, Decl(underscoreTest1_underscore.ts, 153, 23)) +>shift : Symbol(WrappedArray.shift, Decl(underscoreTest1_underscore.ts, 153, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) slice(start: number, end?: number): T[]; ->slice : Symbol(slice, Decl(underscoreTest1_underscore.ts, 154, 19)) +>slice : Symbol(WrappedArray.slice, Decl(underscoreTest1_underscore.ts, 154, 19)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 155, 14)) >end : Symbol(end, Decl(underscoreTest1_underscore.ts, 155, 28)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) sort(compareFn?: (a: T, b: T) => number): T[]; ->sort : Symbol(sort, Decl(underscoreTest1_underscore.ts, 155, 48)) +>sort : Symbol(WrappedArray.sort, Decl(underscoreTest1_underscore.ts, 155, 48)) >compareFn : Symbol(compareFn, Decl(underscoreTest1_underscore.ts, 156, 13)) >a : Symbol(a, Decl(underscoreTest1_underscore.ts, 156, 26)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) @@ -1764,12 +1764,12 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) splice(start: number): T[]; ->splice : Symbol(splice, Decl(underscoreTest1_underscore.ts, 156, 54), Decl(underscoreTest1_underscore.ts, 157, 35)) +>splice : Symbol(WrappedArray.splice, Decl(underscoreTest1_underscore.ts, 156, 54), Decl(underscoreTest1_underscore.ts, 157, 35)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 157, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) splice(start: number, deleteCount: number, ...items: T[]): T[]; ->splice : Symbol(splice, Decl(underscoreTest1_underscore.ts, 156, 54), Decl(underscoreTest1_underscore.ts, 157, 35)) +>splice : Symbol(WrappedArray.splice, Decl(underscoreTest1_underscore.ts, 156, 54), Decl(underscoreTest1_underscore.ts, 157, 35)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 158, 15)) >deleteCount : Symbol(deleteCount, Decl(underscoreTest1_underscore.ts, 158, 29)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 158, 50)) @@ -1777,7 +1777,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) unshift(...items: T[]): number; ->unshift : Symbol(unshift, Decl(underscoreTest1_underscore.ts, 158, 71)) +>unshift : Symbol(WrappedArray.unshift, Decl(underscoreTest1_underscore.ts, 158, 71)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 159, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) } @@ -1790,21 +1790,21 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) each(iterator: Iterator, context?: any): void; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 162, 80)) +>each : Symbol(WrappedDictionary.each, Decl(underscoreTest1_underscore.ts, 162, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 163, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 163, 41)) forEach(iterator: Iterator, context?: any): void; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 163, 63)) +>forEach : Symbol(WrappedDictionary.forEach, Decl(underscoreTest1_underscore.ts, 163, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 164, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 164, 44)) map(iterator: Iterator, context?: any): U[]; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 164, 66)) +>map : Symbol(WrappedDictionary.map, Decl(underscoreTest1_underscore.ts, 164, 66)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 165, 12)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 165, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -1814,7 +1814,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 165, 12)) collect(iterator: Iterator, context?: any): U[]; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 165, 61)) +>collect : Symbol(WrappedDictionary.collect, Decl(underscoreTest1_underscore.ts, 165, 61)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 166, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 166, 19)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -1824,7 +1824,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 166, 16)) reduce(iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 166, 65), Decl(underscoreTest1_underscore.ts, 167, 76)) +>reduce : Symbol(WrappedDictionary.reduce, Decl(underscoreTest1_underscore.ts, 166, 65), Decl(underscoreTest1_underscore.ts, 167, 76)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 167, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1835,7 +1835,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) reduce(iterator: Reducer, initialValue: U, context?: any): U; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 166, 65), Decl(underscoreTest1_underscore.ts, 167, 76)) +>reduce : Symbol(WrappedDictionary.reduce, Decl(underscoreTest1_underscore.ts, 166, 65), Decl(underscoreTest1_underscore.ts, 167, 76)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 168, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 168, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1847,7 +1847,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 168, 15)) foldl(iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 168, 78), Decl(underscoreTest1_underscore.ts, 169, 75)) +>foldl : Symbol(WrappedDictionary.foldl, Decl(underscoreTest1_underscore.ts, 168, 78), Decl(underscoreTest1_underscore.ts, 169, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 169, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1858,7 +1858,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) foldl(iterator: Reducer, initialValue: U, context?: any): U; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 168, 78), Decl(underscoreTest1_underscore.ts, 169, 75)) +>foldl : Symbol(WrappedDictionary.foldl, Decl(underscoreTest1_underscore.ts, 168, 78), Decl(underscoreTest1_underscore.ts, 169, 75)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 170, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 170, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1870,7 +1870,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 170, 14)) inject(iterator: Reducer, initialValue?: T, context?: any): T; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 170, 77), Decl(underscoreTest1_underscore.ts, 171, 76)) +>inject : Symbol(WrappedDictionary.inject, Decl(underscoreTest1_underscore.ts, 170, 77), Decl(underscoreTest1_underscore.ts, 171, 76)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 171, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1881,7 +1881,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) inject(iterator: Reducer, initialValue: U, context?: any): U; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 170, 77), Decl(underscoreTest1_underscore.ts, 171, 76)) +>inject : Symbol(WrappedDictionary.inject, Decl(underscoreTest1_underscore.ts, 170, 77), Decl(underscoreTest1_underscore.ts, 171, 76)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 172, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 172, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1893,7 +1893,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 172, 15)) reduceRight(iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 172, 78), Decl(underscoreTest1_underscore.ts, 173, 81)) +>reduceRight : Symbol(WrappedDictionary.reduceRight, Decl(underscoreTest1_underscore.ts, 172, 78), Decl(underscoreTest1_underscore.ts, 173, 81)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 173, 20)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1904,7 +1904,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) reduceRight(iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 172, 78), Decl(underscoreTest1_underscore.ts, 173, 81)) +>reduceRight : Symbol(WrappedDictionary.reduceRight, Decl(underscoreTest1_underscore.ts, 172, 78), Decl(underscoreTest1_underscore.ts, 173, 81)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 174, 20)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 174, 23)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1916,7 +1916,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 174, 20)) foldr(iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 174, 83), Decl(underscoreTest1_underscore.ts, 175, 75)) +>foldr : Symbol(WrappedDictionary.foldr, Decl(underscoreTest1_underscore.ts, 174, 83), Decl(underscoreTest1_underscore.ts, 175, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 175, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1927,7 +1927,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) foldr(iterator: Reducer, initialValue: U, context?: any): U; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 174, 83), Decl(underscoreTest1_underscore.ts, 175, 75)) +>foldr : Symbol(WrappedDictionary.foldr, Decl(underscoreTest1_underscore.ts, 174, 83), Decl(underscoreTest1_underscore.ts, 175, 75)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 176, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 176, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -1939,7 +1939,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 176, 14)) find(iterator: Iterator, context?: any): T; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 176, 77)) +>find : Symbol(WrappedDictionary.find, Decl(underscoreTest1_underscore.ts, 176, 77)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 177, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1947,7 +1947,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) detect(iterator: Iterator, context?: any): T; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 177, 63)) +>detect : Symbol(WrappedDictionary.detect, Decl(underscoreTest1_underscore.ts, 177, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 178, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1955,7 +1955,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) filter(iterator: Iterator, context?: any): T[]; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 178, 65)) +>filter : Symbol(WrappedDictionary.filter, Decl(underscoreTest1_underscore.ts, 178, 65)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 179, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1963,7 +1963,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) select(iterator: Iterator, context?: any): T[]; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 179, 67)) +>select : Symbol(WrappedDictionary.select, Decl(underscoreTest1_underscore.ts, 179, 67)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 180, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1971,19 +1971,19 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) where(properties: Object): T[]; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 180, 67)) +>where : Symbol(WrappedDictionary.where, Decl(underscoreTest1_underscore.ts, 180, 67)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 181, 14)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) findWhere(properties: Object): T; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 181, 39)) +>findWhere : Symbol(WrappedDictionary.findWhere, Decl(underscoreTest1_underscore.ts, 181, 39)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 182, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) reject(iterator: Iterator, context?: any): T[]; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 182, 41)) +>reject : Symbol(WrappedDictionary.reject, Decl(underscoreTest1_underscore.ts, 182, 41)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 183, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -1991,54 +1991,54 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) every(iterator?: Iterator, context?: any): boolean; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 183, 67)) +>every : Symbol(WrappedDictionary.every, Decl(underscoreTest1_underscore.ts, 183, 67)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 184, 14)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 184, 46)) all(iterator?: Iterator, context?: any): boolean; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 184, 71)) +>all : Symbol(WrappedDictionary.all, Decl(underscoreTest1_underscore.ts, 184, 71)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 185, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 185, 44)) some(iterator?: Iterator, context?: any): boolean; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 185, 69)) +>some : Symbol(WrappedDictionary.some, Decl(underscoreTest1_underscore.ts, 185, 69)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 186, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 186, 45)) any(iterator?: Iterator, context?: any): boolean; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 186, 70)) +>any : Symbol(WrappedDictionary.any, Decl(underscoreTest1_underscore.ts, 186, 70)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 187, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 187, 44)) contains(value: T): boolean; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 187, 69)) +>contains : Symbol(WrappedDictionary.contains, Decl(underscoreTest1_underscore.ts, 187, 69)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 188, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) include(value: T): boolean; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 188, 36)) +>include : Symbol(WrappedDictionary.include, Decl(underscoreTest1_underscore.ts, 188, 36)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 189, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) invoke(methodName: string, ...args: any[]): any[]; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 189, 35)) +>invoke : Symbol(WrappedDictionary.invoke, Decl(underscoreTest1_underscore.ts, 189, 35)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 190, 15)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 190, 34)) pluck(propertyName: string): any[]; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 190, 58)) +>pluck : Symbol(WrappedDictionary.pluck, Decl(underscoreTest1_underscore.ts, 190, 58)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 191, 14)) max(iterator?: Iterator, context?: any): T; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 191, 43)) +>max : Symbol(WrappedDictionary.max, Decl(underscoreTest1_underscore.ts, 191, 43)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 192, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -2046,7 +2046,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) min(iterator?: Iterator, context?: any): T; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 192, 59)) +>min : Symbol(WrappedDictionary.min, Decl(underscoreTest1_underscore.ts, 192, 59)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 193, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -2054,7 +2054,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) sortBy(iterator: Iterator, context?: any): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 193, 59), Decl(underscoreTest1_underscore.ts, 194, 63)) +>sortBy : Symbol(WrappedDictionary.sortBy, Decl(underscoreTest1_underscore.ts, 193, 59), Decl(underscoreTest1_underscore.ts, 194, 63)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 194, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -2062,12 +2062,12 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) sortBy(propertyName: string): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 193, 59), Decl(underscoreTest1_underscore.ts, 194, 63)) +>sortBy : Symbol(WrappedDictionary.sortBy, Decl(underscoreTest1_underscore.ts, 193, 59), Decl(underscoreTest1_underscore.ts, 194, 63)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 195, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) groupBy(iterator?: Iterator, context?: any): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 195, 42), Decl(underscoreTest1_underscore.ts, 196, 77)) +>groupBy : Symbol(WrappedDictionary.groupBy, Decl(underscoreTest1_underscore.ts, 195, 42), Decl(underscoreTest1_underscore.ts, 196, 77)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 196, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -2076,13 +2076,13 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) groupBy(propertyName: string): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 195, 42), Decl(underscoreTest1_underscore.ts, 196, 77)) +>groupBy : Symbol(WrappedDictionary.groupBy, Decl(underscoreTest1_underscore.ts, 195, 42), Decl(underscoreTest1_underscore.ts, 196, 77)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 197, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) countBy(iterator?: Iterator, context?: any): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 197, 55), Decl(underscoreTest1_underscore.ts, 198, 80)) +>countBy : Symbol(WrappedDictionary.countBy, Decl(underscoreTest1_underscore.ts, 197, 55), Decl(underscoreTest1_underscore.ts, 198, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 198, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) @@ -2090,20 +2090,20 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) countBy(propertyName: string): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 197, 55), Decl(underscoreTest1_underscore.ts, 198, 80)) +>countBy : Symbol(WrappedDictionary.countBy, Decl(underscoreTest1_underscore.ts, 197, 55), Decl(underscoreTest1_underscore.ts, 198, 80)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 199, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) shuffle(): T[]; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 199, 58)) +>shuffle : Symbol(WrappedDictionary.shuffle, Decl(underscoreTest1_underscore.ts, 199, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) toArray(): T[]; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 200, 23)) +>toArray : Symbol(WrappedDictionary.toArray, Decl(underscoreTest1_underscore.ts, 200, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) size(): number; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 201, 23)) +>size : Symbol(WrappedDictionary.size, Decl(underscoreTest1_underscore.ts, 201, 23)) } export interface ChainedObject { @@ -2111,60 +2111,60 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) keys(): ChainedArray; ->keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 205, 39)) +>keys : Symbol(ChainedObject.keys, Decl(underscoreTest1_underscore.ts, 205, 39)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) values(): ChainedArray; ->values : Symbol(values, Decl(underscoreTest1_underscore.ts, 206, 37)) +>values : Symbol(ChainedObject.values, Decl(underscoreTest1_underscore.ts, 206, 37)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) pairs(): ChainedArray; ->pairs : Symbol(pairs, Decl(underscoreTest1_underscore.ts, 207, 36)) +>pairs : Symbol(ChainedObject.pairs, Decl(underscoreTest1_underscore.ts, 207, 36)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) invert(): ChainedObject; ->invert : Symbol(invert, Decl(underscoreTest1_underscore.ts, 208, 37)) +>invert : Symbol(ChainedObject.invert, Decl(underscoreTest1_underscore.ts, 208, 37)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) functions(): ChainedArray; ->functions : Symbol(functions, Decl(underscoreTest1_underscore.ts, 209, 37)) +>functions : Symbol(ChainedObject.functions, Decl(underscoreTest1_underscore.ts, 209, 37)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) methods(): ChainedArray; ->methods : Symbol(methods, Decl(underscoreTest1_underscore.ts, 210, 42)) +>methods : Symbol(ChainedObject.methods, Decl(underscoreTest1_underscore.ts, 210, 42)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) extend(...sources: any[]): ChainedObject; ->extend : Symbol(extend, Decl(underscoreTest1_underscore.ts, 211, 40)) +>extend : Symbol(ChainedObject.extend, Decl(underscoreTest1_underscore.ts, 211, 40)) >sources : Symbol(sources, Decl(underscoreTest1_underscore.ts, 212, 15)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) pick(...keys: string[]): ChainedObject; ->pick : Symbol(pick, Decl(underscoreTest1_underscore.ts, 212, 52)) +>pick : Symbol(ChainedObject.pick, Decl(underscoreTest1_underscore.ts, 212, 52)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 213, 13)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) omit(...keys: string[]): ChainedObject; ->omit : Symbol(omit, Decl(underscoreTest1_underscore.ts, 213, 50)) +>omit : Symbol(ChainedObject.omit, Decl(underscoreTest1_underscore.ts, 213, 50)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 214, 13)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) defaults(...defaults: any[]): ChainedObject; ->defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 214, 50)) +>defaults : Symbol(ChainedObject.defaults, Decl(underscoreTest1_underscore.ts, 214, 50)) >defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 215, 17)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) clone(): ChainedObject; ->clone : Symbol(clone, Decl(underscoreTest1_underscore.ts, 215, 55)) +>clone : Symbol(ChainedObject.clone, Decl(underscoreTest1_underscore.ts, 215, 55)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) tap(interceptor: (object: T) => void): ChainedObject; ->tap : Symbol(tap, Decl(underscoreTest1_underscore.ts, 216, 34)) +>tap : Symbol(ChainedObject.tap, Decl(underscoreTest1_underscore.ts, 216, 34)) >interceptor : Symbol(interceptor, Decl(underscoreTest1_underscore.ts, 217, 12)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 217, 26)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) @@ -2172,78 +2172,78 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) has(key: string): ChainedObject; ->has : Symbol(has, Decl(underscoreTest1_underscore.ts, 217, 64)) +>has : Symbol(ChainedObject.has, Decl(underscoreTest1_underscore.ts, 217, 64)) >key : Symbol(key, Decl(underscoreTest1_underscore.ts, 218, 12)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isEqual(other: T): ChainedObject; ->isEqual : Symbol(isEqual, Decl(underscoreTest1_underscore.ts, 218, 49)) +>isEqual : Symbol(ChainedObject.isEqual, Decl(underscoreTest1_underscore.ts, 218, 49)) >other : Symbol(other, Decl(underscoreTest1_underscore.ts, 219, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isEmpty(): ChainedObject; ->isEmpty : Symbol(isEmpty, Decl(underscoreTest1_underscore.ts, 219, 50)) +>isEmpty : Symbol(ChainedObject.isEmpty, Decl(underscoreTest1_underscore.ts, 219, 50)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isElement(): ChainedObject; ->isElement : Symbol(isElement, Decl(underscoreTest1_underscore.ts, 220, 42)) +>isElement : Symbol(ChainedObject.isElement, Decl(underscoreTest1_underscore.ts, 220, 42)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isArray(): ChainedObject; ->isArray : Symbol(isArray, Decl(underscoreTest1_underscore.ts, 221, 44)) +>isArray : Symbol(ChainedObject.isArray, Decl(underscoreTest1_underscore.ts, 221, 44)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isObject(): ChainedObject; ->isObject : Symbol(isObject, Decl(underscoreTest1_underscore.ts, 222, 42)) +>isObject : Symbol(ChainedObject.isObject, Decl(underscoreTest1_underscore.ts, 222, 42)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isArguments(): ChainedObject; ->isArguments : Symbol(isArguments, Decl(underscoreTest1_underscore.ts, 223, 43)) +>isArguments : Symbol(ChainedObject.isArguments, Decl(underscoreTest1_underscore.ts, 223, 43)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isFunction(): ChainedObject; ->isFunction : Symbol(isFunction, Decl(underscoreTest1_underscore.ts, 224, 46)) +>isFunction : Symbol(ChainedObject.isFunction, Decl(underscoreTest1_underscore.ts, 224, 46)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isString(): ChainedObject; ->isString : Symbol(isString, Decl(underscoreTest1_underscore.ts, 225, 45)) +>isString : Symbol(ChainedObject.isString, Decl(underscoreTest1_underscore.ts, 225, 45)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isNumber(): ChainedObject; ->isNumber : Symbol(isNumber, Decl(underscoreTest1_underscore.ts, 226, 43)) +>isNumber : Symbol(ChainedObject.isNumber, Decl(underscoreTest1_underscore.ts, 226, 43)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isFinite(): ChainedObject; ->isFinite : Symbol(isFinite, Decl(underscoreTest1_underscore.ts, 227, 43)) +>isFinite : Symbol(ChainedObject.isFinite, Decl(underscoreTest1_underscore.ts, 227, 43)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isBoolean(): ChainedObject; ->isBoolean : Symbol(isBoolean, Decl(underscoreTest1_underscore.ts, 228, 43)) +>isBoolean : Symbol(ChainedObject.isBoolean, Decl(underscoreTest1_underscore.ts, 228, 43)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isDate(): ChainedObject; ->isDate : Symbol(isDate, Decl(underscoreTest1_underscore.ts, 229, 44)) +>isDate : Symbol(ChainedObject.isDate, Decl(underscoreTest1_underscore.ts, 229, 44)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isRegExp(): ChainedObject; ->isRegExp : Symbol(isRegExp, Decl(underscoreTest1_underscore.ts, 230, 41)) +>isRegExp : Symbol(ChainedObject.isRegExp, Decl(underscoreTest1_underscore.ts, 230, 41)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isNaN(): ChainedObject; ->isNaN : Symbol(isNaN, Decl(underscoreTest1_underscore.ts, 231, 43)) +>isNaN : Symbol(ChainedObject.isNaN, Decl(underscoreTest1_underscore.ts, 231, 43)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isNull(): ChainedObject; ->isNull : Symbol(isNull, Decl(underscoreTest1_underscore.ts, 232, 40)) +>isNull : Symbol(ChainedObject.isNull, Decl(underscoreTest1_underscore.ts, 232, 40)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) isUndefined(): ChainedObject; ->isUndefined : Symbol(isUndefined, Decl(underscoreTest1_underscore.ts, 233, 41)) +>isUndefined : Symbol(ChainedObject.isUndefined, Decl(underscoreTest1_underscore.ts, 233, 41)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) value(): T; ->value : Symbol(value, Decl(underscoreTest1_underscore.ts, 234, 46)) +>value : Symbol(ChainedObject.value, Decl(underscoreTest1_underscore.ts, 234, 46)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 205, 35)) } @@ -2255,7 +2255,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) each(iterator: Iterator, context?: any): ChainedObject; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 238, 70)) +>each : Symbol(ChainedArray.each, Decl(underscoreTest1_underscore.ts, 238, 70)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 239, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2263,7 +2263,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) forEach(iterator: Iterator, context?: any): ChainedObject; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 239, 78)) +>forEach : Symbol(ChainedArray.forEach, Decl(underscoreTest1_underscore.ts, 239, 78)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 240, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2271,7 +2271,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) map(iterator: Iterator, context?: any): ChainedArray; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 240, 81)) +>map : Symbol(ChainedArray.map, Decl(underscoreTest1_underscore.ts, 240, 81)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 241, 12)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 241, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -2282,7 +2282,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 241, 12)) collect(iterator: Iterator, context?: any): ChainedArray; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 241, 73)) +>collect : Symbol(ChainedArray.collect, Decl(underscoreTest1_underscore.ts, 241, 73)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 242, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 242, 19)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -2293,7 +2293,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 242, 16)) reduce(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 242, 77), Decl(underscoreTest1_underscore.ts, 243, 91)) +>reduce : Symbol(ChainedArray.reduce, Decl(underscoreTest1_underscore.ts, 242, 77), Decl(underscoreTest1_underscore.ts, 243, 91)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 243, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2305,7 +2305,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) reduce(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 242, 77), Decl(underscoreTest1_underscore.ts, 243, 91)) +>reduce : Symbol(ChainedArray.reduce, Decl(underscoreTest1_underscore.ts, 242, 77), Decl(underscoreTest1_underscore.ts, 243, 91)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 244, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 244, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2318,7 +2318,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 244, 15)) foldl(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 244, 93), Decl(underscoreTest1_underscore.ts, 245, 90)) +>foldl : Symbol(ChainedArray.foldl, Decl(underscoreTest1_underscore.ts, 244, 93), Decl(underscoreTest1_underscore.ts, 245, 90)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 245, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2330,7 +2330,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) foldl(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 244, 93), Decl(underscoreTest1_underscore.ts, 245, 90)) +>foldl : Symbol(ChainedArray.foldl, Decl(underscoreTest1_underscore.ts, 244, 93), Decl(underscoreTest1_underscore.ts, 245, 90)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 246, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 246, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2343,7 +2343,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 246, 14)) inject(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 246, 92), Decl(underscoreTest1_underscore.ts, 247, 91)) +>inject : Symbol(ChainedArray.inject, Decl(underscoreTest1_underscore.ts, 246, 92), Decl(underscoreTest1_underscore.ts, 247, 91)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 247, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2355,7 +2355,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) inject(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 246, 92), Decl(underscoreTest1_underscore.ts, 247, 91)) +>inject : Symbol(ChainedArray.inject, Decl(underscoreTest1_underscore.ts, 246, 92), Decl(underscoreTest1_underscore.ts, 247, 91)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 248, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 248, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2368,7 +2368,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 248, 15)) reduceRight(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 248, 93), Decl(underscoreTest1_underscore.ts, 249, 96)) +>reduceRight : Symbol(ChainedArray.reduceRight, Decl(underscoreTest1_underscore.ts, 248, 93), Decl(underscoreTest1_underscore.ts, 249, 96)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 249, 20)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2380,7 +2380,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) reduceRight(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 248, 93), Decl(underscoreTest1_underscore.ts, 249, 96)) +>reduceRight : Symbol(ChainedArray.reduceRight, Decl(underscoreTest1_underscore.ts, 248, 93), Decl(underscoreTest1_underscore.ts, 249, 96)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 250, 20)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 250, 23)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2393,7 +2393,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 250, 20)) foldr(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 250, 98), Decl(underscoreTest1_underscore.ts, 251, 90)) +>foldr : Symbol(ChainedArray.foldr, Decl(underscoreTest1_underscore.ts, 250, 98), Decl(underscoreTest1_underscore.ts, 251, 90)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 251, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2405,7 +2405,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) foldr(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 250, 98), Decl(underscoreTest1_underscore.ts, 251, 90)) +>foldr : Symbol(ChainedArray.foldr, Decl(underscoreTest1_underscore.ts, 250, 98), Decl(underscoreTest1_underscore.ts, 251, 90)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 252, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 252, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2418,7 +2418,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 252, 14)) find(iterator: Iterator, context?: any): ChainedObject; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 252, 92)) +>find : Symbol(ChainedArray.find, Decl(underscoreTest1_underscore.ts, 252, 92)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 253, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2427,7 +2427,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) detect(iterator: Iterator, context?: any): ChainedObject; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 253, 78)) +>detect : Symbol(ChainedArray.detect, Decl(underscoreTest1_underscore.ts, 253, 78)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 254, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2436,7 +2436,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) filter(iterator: Iterator, context?: any): ChainedArray; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 254, 80)) +>filter : Symbol(ChainedArray.filter, Decl(underscoreTest1_underscore.ts, 254, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 255, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2445,7 +2445,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) select(iterator: Iterator, context?: any): ChainedArray; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 255, 79)) +>select : Symbol(ChainedArray.select, Decl(underscoreTest1_underscore.ts, 255, 79)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 256, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2454,21 +2454,21 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) where(properties: Object): ChainedArray; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 256, 79)) +>where : Symbol(ChainedArray.where, Decl(underscoreTest1_underscore.ts, 256, 79)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 257, 14)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) findWhere(properties: Object): ChainedObject; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 257, 51)) +>findWhere : Symbol(ChainedArray.findWhere, Decl(underscoreTest1_underscore.ts, 257, 51)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 258, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) reject(iterator: Iterator, context?: any): ChainedArray; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 258, 56)) +>reject : Symbol(ChainedArray.reject, Decl(underscoreTest1_underscore.ts, 258, 56)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 259, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2477,7 +2477,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) every(iterator?: Iterator, context?: any): ChainedObject; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 259, 79)) +>every : Symbol(ChainedArray.every, Decl(underscoreTest1_underscore.ts, 259, 79)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 260, 14)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2485,7 +2485,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) all(iterator?: Iterator, context?: any): ChainedObject; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 260, 86)) +>all : Symbol(ChainedArray.all, Decl(underscoreTest1_underscore.ts, 260, 86)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 261, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2493,7 +2493,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) some(iterator?: Iterator, context?: any): ChainedObject; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 261, 84)) +>some : Symbol(ChainedArray.some, Decl(underscoreTest1_underscore.ts, 261, 84)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 262, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2501,7 +2501,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) any(iterator?: Iterator, context?: any): ChainedObject; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 262, 85)) +>any : Symbol(ChainedArray.any, Decl(underscoreTest1_underscore.ts, 262, 85)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 263, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2509,30 +2509,30 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) contains(value: T): ChainedObject; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 263, 84)) +>contains : Symbol(ChainedArray.contains, Decl(underscoreTest1_underscore.ts, 263, 84)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 264, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) include(value: T): ChainedObject; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 264, 51)) +>include : Symbol(ChainedArray.include, Decl(underscoreTest1_underscore.ts, 264, 51)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 265, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) invoke(methodName: string, ...args: any[]): ChainedArray; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 265, 50)) +>invoke : Symbol(ChainedArray.invoke, Decl(underscoreTest1_underscore.ts, 265, 50)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 266, 15)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 266, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) pluck(propertyName: string): ChainedArray; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 266, 70)) +>pluck : Symbol(ChainedArray.pluck, Decl(underscoreTest1_underscore.ts, 266, 70)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 267, 14)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) max(iterator?: Iterator, context?: any): ChainedObject; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 267, 55)) +>max : Symbol(ChainedArray.max, Decl(underscoreTest1_underscore.ts, 267, 55)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 268, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2541,7 +2541,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) min(iterator?: Iterator, context?: any): ChainedObject; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 268, 74)) +>min : Symbol(ChainedArray.min, Decl(underscoreTest1_underscore.ts, 268, 74)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 269, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2550,7 +2550,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) sortBy(iterator: Iterator, context?: any): ChainedArray; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 269, 74), Decl(underscoreTest1_underscore.ts, 270, 75)) +>sortBy : Symbol(ChainedArray.sortBy, Decl(underscoreTest1_underscore.ts, 269, 74), Decl(underscoreTest1_underscore.ts, 270, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 270, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2559,14 +2559,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) sortBy(propertyName: string): ChainedArray; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 269, 74), Decl(underscoreTest1_underscore.ts, 270, 75)) +>sortBy : Symbol(ChainedArray.sortBy, Decl(underscoreTest1_underscore.ts, 269, 74), Decl(underscoreTest1_underscore.ts, 270, 75)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 271, 15)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) // Should return ChainedDictionary, but expansive recursion not allowed groupBy(iterator?: Iterator, context?: any): ChainedDictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 271, 54), Decl(underscoreTest1_underscore.ts, 273, 86)) +>groupBy : Symbol(ChainedArray.groupBy, Decl(underscoreTest1_underscore.ts, 271, 54), Decl(underscoreTest1_underscore.ts, 273, 86)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 273, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2574,12 +2574,12 @@ module Underscore { >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) groupBy(propertyName: string): ChainedDictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 271, 54), Decl(underscoreTest1_underscore.ts, 273, 86)) +>groupBy : Symbol(ChainedArray.groupBy, Decl(underscoreTest1_underscore.ts, 271, 54), Decl(underscoreTest1_underscore.ts, 273, 86)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 274, 16)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) countBy(iterator?: Iterator, context?: any): ChainedDictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 274, 64), Decl(underscoreTest1_underscore.ts, 275, 87)) +>countBy : Symbol(ChainedArray.countBy, Decl(underscoreTest1_underscore.ts, 274, 64), Decl(underscoreTest1_underscore.ts, 275, 87)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 275, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2587,133 +2587,133 @@ module Underscore { >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) countBy(propertyName: string): ChainedDictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 274, 64), Decl(underscoreTest1_underscore.ts, 275, 87)) +>countBy : Symbol(ChainedArray.countBy, Decl(underscoreTest1_underscore.ts, 274, 64), Decl(underscoreTest1_underscore.ts, 275, 87)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 276, 16)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) shuffle(): ChainedArray; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 276, 65)) +>shuffle : Symbol(ChainedArray.shuffle, Decl(underscoreTest1_underscore.ts, 276, 65)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) toArray(): ChainedArray; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 277, 35)) +>toArray : Symbol(ChainedArray.toArray, Decl(underscoreTest1_underscore.ts, 277, 35)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) size(): ChainedObject; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 278, 35)) +>size : Symbol(ChainedArray.size, Decl(underscoreTest1_underscore.ts, 278, 35)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) first(): ChainedObject; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 279, 38), Decl(underscoreTest1_underscore.ts, 280, 34)) +>first : Symbol(ChainedArray.first, Decl(underscoreTest1_underscore.ts, 279, 38), Decl(underscoreTest1_underscore.ts, 280, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) first(count: number): ChainedArray; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 279, 38), Decl(underscoreTest1_underscore.ts, 280, 34)) +>first : Symbol(ChainedArray.first, Decl(underscoreTest1_underscore.ts, 279, 38), Decl(underscoreTest1_underscore.ts, 280, 34)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 281, 14)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) head(): ChainedObject; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 281, 46), Decl(underscoreTest1_underscore.ts, 282, 33)) +>head : Symbol(ChainedArray.head, Decl(underscoreTest1_underscore.ts, 281, 46), Decl(underscoreTest1_underscore.ts, 282, 33)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) head(count: number): ChainedArray; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 281, 46), Decl(underscoreTest1_underscore.ts, 282, 33)) +>head : Symbol(ChainedArray.head, Decl(underscoreTest1_underscore.ts, 281, 46), Decl(underscoreTest1_underscore.ts, 282, 33)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 283, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) take(): ChainedObject; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 283, 45), Decl(underscoreTest1_underscore.ts, 284, 33)) +>take : Symbol(ChainedArray.take, Decl(underscoreTest1_underscore.ts, 283, 45), Decl(underscoreTest1_underscore.ts, 284, 33)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) take(count: number): ChainedArray; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 283, 45), Decl(underscoreTest1_underscore.ts, 284, 33)) +>take : Symbol(ChainedArray.take, Decl(underscoreTest1_underscore.ts, 283, 45), Decl(underscoreTest1_underscore.ts, 284, 33)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 285, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) initial(): ChainedObject; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 285, 45), Decl(underscoreTest1_underscore.ts, 286, 36)) +>initial : Symbol(ChainedArray.initial, Decl(underscoreTest1_underscore.ts, 285, 45), Decl(underscoreTest1_underscore.ts, 286, 36)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) initial(count: number): ChainedArray; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 285, 45), Decl(underscoreTest1_underscore.ts, 286, 36)) +>initial : Symbol(ChainedArray.initial, Decl(underscoreTest1_underscore.ts, 285, 45), Decl(underscoreTest1_underscore.ts, 286, 36)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 287, 16)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) last(): ChainedObject; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 287, 48), Decl(underscoreTest1_underscore.ts, 288, 33)) +>last : Symbol(ChainedArray.last, Decl(underscoreTest1_underscore.ts, 287, 48), Decl(underscoreTest1_underscore.ts, 288, 33)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) last(count: number): ChainedArray; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 287, 48), Decl(underscoreTest1_underscore.ts, 288, 33)) +>last : Symbol(ChainedArray.last, Decl(underscoreTest1_underscore.ts, 287, 48), Decl(underscoreTest1_underscore.ts, 288, 33)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 289, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) rest(index?: number): ChainedArray; ->rest : Symbol(rest, Decl(underscoreTest1_underscore.ts, 289, 45)) +>rest : Symbol(ChainedArray.rest, Decl(underscoreTest1_underscore.ts, 289, 45)) >index : Symbol(index, Decl(underscoreTest1_underscore.ts, 290, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) compact(): ChainedArray; ->compact : Symbol(compact, Decl(underscoreTest1_underscore.ts, 290, 46)) +>compact : Symbol(ChainedArray.compact, Decl(underscoreTest1_underscore.ts, 290, 46)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) flatten(shallow?: boolean): ChainedArray; ->flatten : Symbol(flatten, Decl(underscoreTest1_underscore.ts, 291, 35)) +>flatten : Symbol(ChainedArray.flatten, Decl(underscoreTest1_underscore.ts, 291, 35)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 292, 16)) >shallow : Symbol(shallow, Decl(underscoreTest1_underscore.ts, 292, 19)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 292, 16)) without(...values: T[]): ChainedArray; ->without : Symbol(without, Decl(underscoreTest1_underscore.ts, 292, 55)) +>without : Symbol(ChainedArray.without, Decl(underscoreTest1_underscore.ts, 292, 55)) >values : Symbol(values, Decl(underscoreTest1_underscore.ts, 293, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) union(...arrays: T[][]): ChainedArray; ->union : Symbol(union, Decl(underscoreTest1_underscore.ts, 293, 49)) +>union : Symbol(ChainedArray.union, Decl(underscoreTest1_underscore.ts, 293, 49)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 294, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) intersection(...arrays: T[][]): ChainedArray; ->intersection : Symbol(intersection, Decl(underscoreTest1_underscore.ts, 294, 49)) +>intersection : Symbol(ChainedArray.intersection, Decl(underscoreTest1_underscore.ts, 294, 49)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 295, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) difference(...others: T[][]): ChainedArray; ->difference : Symbol(difference, Decl(underscoreTest1_underscore.ts, 295, 56)) +>difference : Symbol(ChainedArray.difference, Decl(underscoreTest1_underscore.ts, 295, 56)) >others : Symbol(others, Decl(underscoreTest1_underscore.ts, 296, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) uniq(isSorted?: boolean): ChainedArray; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 296, 54), Decl(underscoreTest1_underscore.ts, 297, 50)) +>uniq : Symbol(ChainedArray.uniq, Decl(underscoreTest1_underscore.ts, 296, 54), Decl(underscoreTest1_underscore.ts, 297, 50)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 297, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) uniq(isSorted: boolean, iterator: Iterator, context?: any): ChainedArray; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 296, 54), Decl(underscoreTest1_underscore.ts, 297, 50)) +>uniq : Symbol(ChainedArray.uniq, Decl(underscoreTest1_underscore.ts, 296, 54), Decl(underscoreTest1_underscore.ts, 297, 50)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 298, 13)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 298, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 298, 34)) @@ -2725,13 +2725,13 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 298, 13)) unique(isSorted?: boolean): ChainedArray; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 298, 93), Decl(underscoreTest1_underscore.ts, 299, 52)) +>unique : Symbol(ChainedArray.unique, Decl(underscoreTest1_underscore.ts, 298, 93), Decl(underscoreTest1_underscore.ts, 299, 52)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 299, 15)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) unique(isSorted: boolean, iterator: Iterator, context?: any): ChainedArray; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 298, 93), Decl(underscoreTest1_underscore.ts, 299, 52)) +>unique : Symbol(ChainedArray.unique, Decl(underscoreTest1_underscore.ts, 298, 93), Decl(underscoreTest1_underscore.ts, 299, 52)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 300, 15)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 300, 18)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 300, 36)) @@ -2743,42 +2743,42 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 300, 15)) zip(...arrays: any[][]): ChainedArray; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 300, 95)) +>zip : Symbol(ChainedArray.zip, Decl(underscoreTest1_underscore.ts, 300, 95)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 301, 12)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) object(): ChainedObject; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 301, 53), Decl(underscoreTest1_underscore.ts, 302, 37)) +>object : Symbol(ChainedArray.object, Decl(underscoreTest1_underscore.ts, 301, 53), Decl(underscoreTest1_underscore.ts, 302, 37)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) object(values: any[]): ChainedObject; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 301, 53), Decl(underscoreTest1_underscore.ts, 302, 37)) +>object : Symbol(ChainedArray.object, Decl(underscoreTest1_underscore.ts, 301, 53), Decl(underscoreTest1_underscore.ts, 302, 37)) >values : Symbol(values, Decl(underscoreTest1_underscore.ts, 303, 15)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) indexOf(value: T, isSorted?: boolean): ChainedObject; ->indexOf : Symbol(indexOf, Decl(underscoreTest1_underscore.ts, 303, 50)) +>indexOf : Symbol(ChainedArray.indexOf, Decl(underscoreTest1_underscore.ts, 303, 50)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 304, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 304, 25)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) lastIndexOf(value: T, fromIndex?: number): ChainedObject; ->lastIndexOf : Symbol(lastIndexOf, Decl(underscoreTest1_underscore.ts, 304, 69)) +>lastIndexOf : Symbol(ChainedArray.lastIndexOf, Decl(underscoreTest1_underscore.ts, 304, 69)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 305, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >fromIndex : Symbol(fromIndex, Decl(underscoreTest1_underscore.ts, 305, 29)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) sortedIndex(obj: T, propertyName: string): ChainedObject; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 305, 73), Decl(underscoreTest1_underscore.ts, 306, 73)) +>sortedIndex : Symbol(ChainedArray.sortedIndex, Decl(underscoreTest1_underscore.ts, 305, 73), Decl(underscoreTest1_underscore.ts, 306, 73)) >obj : Symbol(obj, Decl(underscoreTest1_underscore.ts, 306, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 306, 27)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) sortedIndex(obj: T, iterator?: Iterator, context?: any): ChainedObject; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 305, 73), Decl(underscoreTest1_underscore.ts, 306, 73)) +>sortedIndex : Symbol(ChainedArray.sortedIndex, Decl(underscoreTest1_underscore.ts, 305, 73), Decl(underscoreTest1_underscore.ts, 306, 73)) >obj : Symbol(obj, Decl(underscoreTest1_underscore.ts, 307, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 307, 27)) @@ -2789,47 +2789,47 @@ module Underscore { // Methods from Array concat(...items: T[]): ChainedArray; ->concat : Symbol(concat, Decl(underscoreTest1_underscore.ts, 307, 95)) +>concat : Symbol(ChainedArray.concat, Decl(underscoreTest1_underscore.ts, 307, 95)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 309, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) join(separator?: string): ChainedObject; ->join : Symbol(join, Decl(underscoreTest1_underscore.ts, 309, 47)) +>join : Symbol(ChainedArray.join, Decl(underscoreTest1_underscore.ts, 309, 47)) >separator : Symbol(separator, Decl(underscoreTest1_underscore.ts, 310, 13)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) pop(): ChainedObject; ->pop : Symbol(pop, Decl(underscoreTest1_underscore.ts, 310, 56)) +>pop : Symbol(ChainedArray.pop, Decl(underscoreTest1_underscore.ts, 310, 56)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) push(...items: T[]): ChainedObject; ->push : Symbol(push, Decl(underscoreTest1_underscore.ts, 311, 32)) +>push : Symbol(ChainedArray.push, Decl(underscoreTest1_underscore.ts, 311, 32)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 312, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) reverse(): ChainedArray; ->reverse : Symbol(reverse, Decl(underscoreTest1_underscore.ts, 312, 51)) +>reverse : Symbol(ChainedArray.reverse, Decl(underscoreTest1_underscore.ts, 312, 51)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) shift(): ChainedObject; ->shift : Symbol(shift, Decl(underscoreTest1_underscore.ts, 313, 35)) +>shift : Symbol(ChainedArray.shift, Decl(underscoreTest1_underscore.ts, 313, 35)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) slice(start: number, end?: number): ChainedArray; ->slice : Symbol(slice, Decl(underscoreTest1_underscore.ts, 314, 34)) +>slice : Symbol(ChainedArray.slice, Decl(underscoreTest1_underscore.ts, 314, 34)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 315, 14)) >end : Symbol(end, Decl(underscoreTest1_underscore.ts, 315, 28)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) sort(compareFn?: (a: T, b: T) => number): ChainedArray; ->sort : Symbol(sort, Decl(underscoreTest1_underscore.ts, 315, 60)) +>sort : Symbol(ChainedArray.sort, Decl(underscoreTest1_underscore.ts, 315, 60)) >compareFn : Symbol(compareFn, Decl(underscoreTest1_underscore.ts, 316, 13)) >a : Symbol(a, Decl(underscoreTest1_underscore.ts, 316, 26)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2839,13 +2839,13 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) splice(start: number): ChainedArray; ->splice : Symbol(splice, Decl(underscoreTest1_underscore.ts, 316, 66), Decl(underscoreTest1_underscore.ts, 317, 47)) +>splice : Symbol(ChainedArray.splice, Decl(underscoreTest1_underscore.ts, 316, 66), Decl(underscoreTest1_underscore.ts, 317, 47)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 317, 15)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) splice(start: number, deleteCount: number, ...items: T[]): ChainedArray; ->splice : Symbol(splice, Decl(underscoreTest1_underscore.ts, 316, 66), Decl(underscoreTest1_underscore.ts, 317, 47)) +>splice : Symbol(ChainedArray.splice, Decl(underscoreTest1_underscore.ts, 316, 66), Decl(underscoreTest1_underscore.ts, 317, 47)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 318, 15)) >deleteCount : Symbol(deleteCount, Decl(underscoreTest1_underscore.ts, 318, 29)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 318, 50)) @@ -2854,43 +2854,43 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) unshift(...items: T[]): ChainedObject; ->unshift : Symbol(unshift, Decl(underscoreTest1_underscore.ts, 318, 83)) +>unshift : Symbol(ChainedArray.unshift, Decl(underscoreTest1_underscore.ts, 318, 83)) >items : Symbol(items, Decl(underscoreTest1_underscore.ts, 319, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) // Methods from ChainedObject with promoted return types extend(...sources: any[]): ChainedArray; ->extend : Symbol(extend, Decl(underscoreTest1_underscore.ts, 319, 54)) +>extend : Symbol(ChainedArray.extend, Decl(underscoreTest1_underscore.ts, 319, 54)) >sources : Symbol(sources, Decl(underscoreTest1_underscore.ts, 321, 15)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) pick(...keys: string[]): ChainedArray; ->pick : Symbol(pick, Decl(underscoreTest1_underscore.ts, 321, 51)) +>pick : Symbol(ChainedArray.pick, Decl(underscoreTest1_underscore.ts, 321, 51)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 322, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) omit(...keys: string[]): ChainedArray; ->omit : Symbol(omit, Decl(underscoreTest1_underscore.ts, 322, 49)) +>omit : Symbol(ChainedArray.omit, Decl(underscoreTest1_underscore.ts, 322, 49)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 323, 13)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) defaults(...defaults: any[]): ChainedArray; ->defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 323, 49)) +>defaults : Symbol(ChainedArray.defaults, Decl(underscoreTest1_underscore.ts, 323, 49)) >defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 324, 17)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) clone(): ChainedArray; ->clone : Symbol(clone, Decl(underscoreTest1_underscore.ts, 324, 54)) +>clone : Symbol(ChainedArray.clone, Decl(underscoreTest1_underscore.ts, 324, 54)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) tap(interceptor: (object: T[]) => void): ChainedArray; ->tap : Symbol(tap, Decl(underscoreTest1_underscore.ts, 325, 33)) +>tap : Symbol(ChainedArray.tap, Decl(underscoreTest1_underscore.ts, 325, 33)) >interceptor : Symbol(interceptor, Decl(underscoreTest1_underscore.ts, 326, 12)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 326, 26)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -2906,7 +2906,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) each(iterator: Iterator, context?: any): ChainedObject; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 329, 80)) +>each : Symbol(ChainedDictionary.each, Decl(underscoreTest1_underscore.ts, 329, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 330, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -2914,7 +2914,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) forEach(iterator: Iterator, context?: any): ChainedObject; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 330, 78)) +>forEach : Symbol(ChainedDictionary.forEach, Decl(underscoreTest1_underscore.ts, 330, 78)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 331, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -2922,7 +2922,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) map(iterator: Iterator, context?: any): ChainedArray; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 331, 81)) +>map : Symbol(ChainedDictionary.map, Decl(underscoreTest1_underscore.ts, 331, 81)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 332, 12)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 332, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -2933,7 +2933,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 332, 12)) collect(iterator: Iterator, context?: any): ChainedArray; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 332, 73)) +>collect : Symbol(ChainedDictionary.collect, Decl(underscoreTest1_underscore.ts, 332, 73)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 333, 16)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 333, 19)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) @@ -2944,7 +2944,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 333, 16)) reduce(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 333, 77), Decl(underscoreTest1_underscore.ts, 334, 91)) +>reduce : Symbol(ChainedDictionary.reduce, Decl(underscoreTest1_underscore.ts, 333, 77), Decl(underscoreTest1_underscore.ts, 334, 91)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 334, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -2956,7 +2956,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) reduce(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 333, 77), Decl(underscoreTest1_underscore.ts, 334, 91)) +>reduce : Symbol(ChainedDictionary.reduce, Decl(underscoreTest1_underscore.ts, 333, 77), Decl(underscoreTest1_underscore.ts, 334, 91)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 335, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 335, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2969,7 +2969,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 335, 15)) foldl(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 335, 93), Decl(underscoreTest1_underscore.ts, 336, 90)) +>foldl : Symbol(ChainedDictionary.foldl, Decl(underscoreTest1_underscore.ts, 335, 93), Decl(underscoreTest1_underscore.ts, 336, 90)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 336, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -2981,7 +2981,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) foldl(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 335, 93), Decl(underscoreTest1_underscore.ts, 336, 90)) +>foldl : Symbol(ChainedDictionary.foldl, Decl(underscoreTest1_underscore.ts, 335, 93), Decl(underscoreTest1_underscore.ts, 336, 90)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 337, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 337, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -2994,7 +2994,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 337, 14)) inject(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 337, 92), Decl(underscoreTest1_underscore.ts, 338, 91)) +>inject : Symbol(ChainedDictionary.inject, Decl(underscoreTest1_underscore.ts, 337, 92), Decl(underscoreTest1_underscore.ts, 338, 91)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 338, 15)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3006,7 +3006,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) inject(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 337, 92), Decl(underscoreTest1_underscore.ts, 338, 91)) +>inject : Symbol(ChainedDictionary.inject, Decl(underscoreTest1_underscore.ts, 337, 92), Decl(underscoreTest1_underscore.ts, 338, 91)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 339, 15)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 339, 18)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -3019,7 +3019,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 339, 15)) reduceRight(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 339, 93), Decl(underscoreTest1_underscore.ts, 340, 96)) +>reduceRight : Symbol(ChainedDictionary.reduceRight, Decl(underscoreTest1_underscore.ts, 339, 93), Decl(underscoreTest1_underscore.ts, 340, 96)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 340, 20)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3031,7 +3031,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) reduceRight(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 339, 93), Decl(underscoreTest1_underscore.ts, 340, 96)) +>reduceRight : Symbol(ChainedDictionary.reduceRight, Decl(underscoreTest1_underscore.ts, 339, 93), Decl(underscoreTest1_underscore.ts, 340, 96)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 341, 20)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 341, 23)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -3044,7 +3044,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 341, 20)) foldr(iterator: Reducer, initialValue?: T, context?: any): ChainedObject; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 341, 98), Decl(underscoreTest1_underscore.ts, 342, 90)) +>foldr : Symbol(ChainedDictionary.foldr, Decl(underscoreTest1_underscore.ts, 341, 98), Decl(underscoreTest1_underscore.ts, 342, 90)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 342, 14)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3056,7 +3056,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) foldr(iterator: Reducer, initialValue: U, context?: any): ChainedObject; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 341, 98), Decl(underscoreTest1_underscore.ts, 342, 90)) +>foldr : Symbol(ChainedDictionary.foldr, Decl(underscoreTest1_underscore.ts, 341, 98), Decl(underscoreTest1_underscore.ts, 342, 90)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 343, 14)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 343, 17)) >Reducer : Symbol(Reducer, Decl(underscoreTest1_underscore.ts, 6, 1)) @@ -3069,7 +3069,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 343, 14)) find(iterator: Iterator, context?: any): ChainedObject; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 343, 92)) +>find : Symbol(ChainedDictionary.find, Decl(underscoreTest1_underscore.ts, 343, 92)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 344, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3078,7 +3078,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) detect(iterator: Iterator, context?: any): ChainedObject; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 344, 78)) +>detect : Symbol(ChainedDictionary.detect, Decl(underscoreTest1_underscore.ts, 344, 78)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 345, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3087,7 +3087,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) filter(iterator: Iterator, context?: any): ChainedArray; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 345, 80)) +>filter : Symbol(ChainedDictionary.filter, Decl(underscoreTest1_underscore.ts, 345, 80)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 346, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3096,7 +3096,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) select(iterator: Iterator, context?: any): ChainedArray; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 346, 79)) +>select : Symbol(ChainedDictionary.select, Decl(underscoreTest1_underscore.ts, 346, 79)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 347, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3105,21 +3105,21 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) where(properties: Object): ChainedArray; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 347, 79)) +>where : Symbol(ChainedDictionary.where, Decl(underscoreTest1_underscore.ts, 347, 79)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 348, 14)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) findWhere(properties: Object): ChainedObject; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 348, 51)) +>findWhere : Symbol(ChainedDictionary.findWhere, Decl(underscoreTest1_underscore.ts, 348, 51)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 349, 18)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) reject(iterator: Iterator, context?: any): ChainedArray; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 349, 56)) +>reject : Symbol(ChainedDictionary.reject, Decl(underscoreTest1_underscore.ts, 349, 56)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 350, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3128,7 +3128,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) every(iterator?: Iterator, context?: any): ChainedObject; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 350, 79)) +>every : Symbol(ChainedDictionary.every, Decl(underscoreTest1_underscore.ts, 350, 79)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 351, 14)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3136,7 +3136,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) all(iterator?: Iterator, context?: any): ChainedObject; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 351, 86)) +>all : Symbol(ChainedDictionary.all, Decl(underscoreTest1_underscore.ts, 351, 86)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 352, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3144,7 +3144,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) some(iterator?: Iterator, context?: any): ChainedObject; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 352, 84)) +>some : Symbol(ChainedDictionary.some, Decl(underscoreTest1_underscore.ts, 352, 84)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 353, 13)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3152,7 +3152,7 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) any(iterator?: Iterator, context?: any): ChainedObject; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 353, 85)) +>any : Symbol(ChainedDictionary.any, Decl(underscoreTest1_underscore.ts, 353, 85)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 354, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3160,30 +3160,30 @@ module Underscore { >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) contains(value: T): ChainedObject; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 354, 84)) +>contains : Symbol(ChainedDictionary.contains, Decl(underscoreTest1_underscore.ts, 354, 84)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 355, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) include(value: T): ChainedObject; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 355, 51)) +>include : Symbol(ChainedDictionary.include, Decl(underscoreTest1_underscore.ts, 355, 51)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 356, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) invoke(methodName: string, ...args: any[]): ChainedArray; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 356, 50)) +>invoke : Symbol(ChainedDictionary.invoke, Decl(underscoreTest1_underscore.ts, 356, 50)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 357, 15)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 357, 34)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) pluck(propertyName: string): ChainedArray; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 357, 70)) +>pluck : Symbol(ChainedDictionary.pluck, Decl(underscoreTest1_underscore.ts, 357, 70)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 358, 14)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) max(iterator?: Iterator, context?: any): ChainedObject; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 358, 55)) +>max : Symbol(ChainedDictionary.max, Decl(underscoreTest1_underscore.ts, 358, 55)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 359, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3192,7 +3192,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) min(iterator?: Iterator, context?: any): ChainedObject; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 359, 74)) +>min : Symbol(ChainedDictionary.min, Decl(underscoreTest1_underscore.ts, 359, 74)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 360, 12)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3201,7 +3201,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) sortBy(iterator: Iterator, context?: any): ChainedArray; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 360, 74), Decl(underscoreTest1_underscore.ts, 361, 75)) +>sortBy : Symbol(ChainedDictionary.sortBy, Decl(underscoreTest1_underscore.ts, 360, 74), Decl(underscoreTest1_underscore.ts, 361, 75)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 361, 15)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3210,14 +3210,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) sortBy(propertyName: string): ChainedArray; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 360, 74), Decl(underscoreTest1_underscore.ts, 361, 75)) +>sortBy : Symbol(ChainedDictionary.sortBy, Decl(underscoreTest1_underscore.ts, 360, 74), Decl(underscoreTest1_underscore.ts, 361, 75)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 362, 15)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) // Should return ChainedDictionary, but expansive recursion not allowed groupBy(iterator?: Iterator, context?: any): ChainedDictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 362, 54), Decl(underscoreTest1_underscore.ts, 364, 86)) +>groupBy : Symbol(ChainedDictionary.groupBy, Decl(underscoreTest1_underscore.ts, 362, 54), Decl(underscoreTest1_underscore.ts, 364, 86)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 364, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3225,12 +3225,12 @@ module Underscore { >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) groupBy(propertyName: string): ChainedDictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 362, 54), Decl(underscoreTest1_underscore.ts, 364, 86)) +>groupBy : Symbol(ChainedDictionary.groupBy, Decl(underscoreTest1_underscore.ts, 362, 54), Decl(underscoreTest1_underscore.ts, 364, 86)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 365, 16)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) countBy(iterator?: Iterator, context?: any): ChainedDictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 365, 64), Decl(underscoreTest1_underscore.ts, 366, 87)) +>countBy : Symbol(ChainedDictionary.countBy, Decl(underscoreTest1_underscore.ts, 365, 64), Decl(underscoreTest1_underscore.ts, 366, 87)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 366, 16)) >Iterator : Symbol(Iterator, Decl(underscoreTest1_underscore.ts, 2, 1)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3238,56 +3238,56 @@ module Underscore { >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) countBy(propertyName: string): ChainedDictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 365, 64), Decl(underscoreTest1_underscore.ts, 366, 87)) +>countBy : Symbol(ChainedDictionary.countBy, Decl(underscoreTest1_underscore.ts, 365, 64), Decl(underscoreTest1_underscore.ts, 366, 87)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 367, 16)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) shuffle(): ChainedArray; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 367, 65)) +>shuffle : Symbol(ChainedDictionary.shuffle, Decl(underscoreTest1_underscore.ts, 367, 65)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) toArray(): ChainedArray; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 368, 35)) +>toArray : Symbol(ChainedDictionary.toArray, Decl(underscoreTest1_underscore.ts, 368, 35)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) size(): ChainedObject; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 369, 35)) +>size : Symbol(ChainedDictionary.size, Decl(underscoreTest1_underscore.ts, 369, 35)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) // Methods from ChainedObject with promoted return types extend(...sources: any[]): ChainedDictionary; ->extend : Symbol(extend, Decl(underscoreTest1_underscore.ts, 370, 38)) +>extend : Symbol(ChainedDictionary.extend, Decl(underscoreTest1_underscore.ts, 370, 38)) >sources : Symbol(sources, Decl(underscoreTest1_underscore.ts, 372, 15)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) pick(...keys: string[]): ChainedDictionary; ->pick : Symbol(pick, Decl(underscoreTest1_underscore.ts, 372, 56)) +>pick : Symbol(ChainedDictionary.pick, Decl(underscoreTest1_underscore.ts, 372, 56)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 373, 13)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) omit(...keys: string[]): ChainedDictionary; ->omit : Symbol(omit, Decl(underscoreTest1_underscore.ts, 373, 54)) +>omit : Symbol(ChainedDictionary.omit, Decl(underscoreTest1_underscore.ts, 373, 54)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 374, 13)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) defaults(...defaults: any[]): ChainedDictionary; ->defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 374, 54)) +>defaults : Symbol(ChainedDictionary.defaults, Decl(underscoreTest1_underscore.ts, 374, 54)) >defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 375, 17)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) clone(): ChainedDictionary; ->clone : Symbol(clone, Decl(underscoreTest1_underscore.ts, 375, 59)) +>clone : Symbol(ChainedDictionary.clone, Decl(underscoreTest1_underscore.ts, 375, 59)) >ChainedDictionary : Symbol(ChainedDictionary, Decl(underscoreTest1_underscore.ts, 327, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) tap(interceptor: (object: Dictionary) => void): ChainedDictionary; ->tap : Symbol(tap, Decl(underscoreTest1_underscore.ts, 376, 38)) +>tap : Symbol(ChainedDictionary.tap, Decl(underscoreTest1_underscore.ts, 376, 38)) >interceptor : Symbol(interceptor, Decl(underscoreTest1_underscore.ts, 377, 12)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 377, 26)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3300,19 +3300,19 @@ module Underscore { >TemplateSettings : Symbol(TemplateSettings, Decl(underscoreTest1_underscore.ts, 378, 5)) evaluate?: RegExp; ->evaluate : Symbol(evaluate, Decl(underscoreTest1_underscore.ts, 380, 39)) +>evaluate : Symbol(TemplateSettings.evaluate, Decl(underscoreTest1_underscore.ts, 380, 39)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) interpolate?: RegExp; ->interpolate : Symbol(interpolate, Decl(underscoreTest1_underscore.ts, 381, 26)) +>interpolate : Symbol(TemplateSettings.interpolate, Decl(underscoreTest1_underscore.ts, 381, 26)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) escape?: RegExp; ->escape : Symbol(escape, Decl(underscoreTest1_underscore.ts, 382, 29)) +>escape : Symbol(TemplateSettings.escape, Decl(underscoreTest1_underscore.ts, 382, 29)) >RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) variable?: string; ->variable : Symbol(variable, Decl(underscoreTest1_underscore.ts, 383, 24)) +>variable : Symbol(TemplateSettings.variable, Decl(underscoreTest1_underscore.ts, 383, 24)) } export interface Static { @@ -3349,7 +3349,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 391, 9)) chain(list: T[]): ChainedArray; ->chain : Symbol(chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) +>chain : Symbol(Static.chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 393, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 393, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 393, 14)) @@ -3357,7 +3357,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 393, 14)) chain(list: Dictionary): ChainedDictionary; ->chain : Symbol(chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) +>chain : Symbol(Static.chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 394, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 394, 17)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3366,7 +3366,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 394, 14)) chain(obj: T): ChainedObject; ->chain : Symbol(chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) +>chain : Symbol(Static.chain, Decl(underscoreTest1_underscore.ts, 391, 38), Decl(underscoreTest1_underscore.ts, 393, 45), Decl(underscoreTest1_underscore.ts, 394, 60)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 395, 14)) >obj : Symbol(obj, Decl(underscoreTest1_underscore.ts, 395, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 395, 14)) @@ -3374,7 +3374,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 395, 14)) each(list: T[], iterator: Iterator, context?: any): void; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 77)) +>each : Symbol(Static.each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 77)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 397, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 397, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 397, 13)) @@ -3384,7 +3384,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 397, 55)) each(list: Dictionary, iterator: Iterator, context?: any): void; ->each : Symbol(each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 77)) +>each : Symbol(Static.each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 77)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 398, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 398, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3395,7 +3395,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 398, 65)) forEach(list: T[], iterator: Iterator, context?: any): void; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 398, 87), Decl(underscoreTest1_underscore.ts, 399, 80)) +>forEach : Symbol(Static.forEach, Decl(underscoreTest1_underscore.ts, 398, 87), Decl(underscoreTest1_underscore.ts, 399, 80)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 399, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 399, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 399, 16)) @@ -3405,7 +3405,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 399, 58)) forEach(list: Dictionary, iterator: Iterator, context?: any): void; ->forEach : Symbol(forEach, Decl(underscoreTest1_underscore.ts, 398, 87), Decl(underscoreTest1_underscore.ts, 399, 80)) +>forEach : Symbol(Static.forEach, Decl(underscoreTest1_underscore.ts, 398, 87), Decl(underscoreTest1_underscore.ts, 399, 80)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 400, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 400, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3416,7 +3416,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 400, 68)) map(list: T[], iterator: Iterator, context?: any): U[]; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 400, 90), Decl(underscoreTest1_underscore.ts, 402, 75)) +>map : Symbol(Static.map, Decl(underscoreTest1_underscore.ts, 400, 90), Decl(underscoreTest1_underscore.ts, 402, 75)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 402, 12)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 402, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 402, 18)) @@ -3429,7 +3429,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 402, 14)) map(list: Dictionary, iterator: Iterator, context?: any): U[]; ->map : Symbol(map, Decl(underscoreTest1_underscore.ts, 400, 90), Decl(underscoreTest1_underscore.ts, 402, 75)) +>map : Symbol(Static.map, Decl(underscoreTest1_underscore.ts, 400, 90), Decl(underscoreTest1_underscore.ts, 402, 75)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 403, 12)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 403, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 403, 18)) @@ -3443,7 +3443,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 403, 14)) collect(list: T[], iterator: Iterator, context?: any): U[]; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 403, 85), Decl(underscoreTest1_underscore.ts, 404, 79)) +>collect : Symbol(Static.collect, Decl(underscoreTest1_underscore.ts, 403, 85), Decl(underscoreTest1_underscore.ts, 404, 79)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 404, 16)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 404, 18)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 404, 22)) @@ -3456,7 +3456,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 404, 18)) collect(list: Dictionary, iterator: Iterator, context?: any): U[]; ->collect : Symbol(collect, Decl(underscoreTest1_underscore.ts, 403, 85), Decl(underscoreTest1_underscore.ts, 404, 79)) +>collect : Symbol(Static.collect, Decl(underscoreTest1_underscore.ts, 403, 85), Decl(underscoreTest1_underscore.ts, 404, 79)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 405, 16)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 405, 18)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 405, 22)) @@ -3470,7 +3470,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 405, 18)) reduce(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) +>reduce : Symbol(Static.reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 407, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 407, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 407, 15)) @@ -3484,7 +3484,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 407, 15)) reduce(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) +>reduce : Symbol(Static.reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 408, 15)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 408, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 408, 21)) @@ -3499,7 +3499,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 408, 17)) reduce(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) +>reduce : Symbol(Static.reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 409, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 409, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3514,7 +3514,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 409, 15)) reduce(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->reduce : Symbol(reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) +>reduce : Symbol(Static.reduce, Decl(underscoreTest1_underscore.ts, 405, 89), Decl(underscoreTest1_underscore.ts, 407, 90), Decl(underscoreTest1_underscore.ts, 408, 92), Decl(underscoreTest1_underscore.ts, 409, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 410, 15)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 410, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 410, 21)) @@ -3530,7 +3530,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 410, 17)) foldl(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) +>foldl : Symbol(Static.foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 411, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 411, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 411, 14)) @@ -3544,7 +3544,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 411, 14)) foldl(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) +>foldl : Symbol(Static.foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 412, 14)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 412, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 412, 20)) @@ -3559,7 +3559,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 412, 16)) foldl(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) +>foldl : Symbol(Static.foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 413, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 413, 17)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3574,7 +3574,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 413, 14)) foldl(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->foldl : Symbol(foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) +>foldl : Symbol(Static.foldl, Decl(underscoreTest1_underscore.ts, 410, 102), Decl(underscoreTest1_underscore.ts, 411, 89), Decl(underscoreTest1_underscore.ts, 412, 91), Decl(underscoreTest1_underscore.ts, 413, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 414, 14)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 414, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 414, 20)) @@ -3590,7 +3590,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 414, 16)) inject(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) +>inject : Symbol(Static.inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 415, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 415, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 415, 15)) @@ -3604,7 +3604,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 415, 15)) inject(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) +>inject : Symbol(Static.inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 416, 15)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 416, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 416, 21)) @@ -3619,7 +3619,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 416, 17)) inject(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) +>inject : Symbol(Static.inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 417, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 417, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3634,7 +3634,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 417, 15)) inject(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->inject : Symbol(inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) +>inject : Symbol(Static.inject, Decl(underscoreTest1_underscore.ts, 414, 101), Decl(underscoreTest1_underscore.ts, 415, 90), Decl(underscoreTest1_underscore.ts, 416, 92), Decl(underscoreTest1_underscore.ts, 417, 100)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 418, 15)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 418, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 418, 21)) @@ -3650,7 +3650,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 418, 17)) reduceRight(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) +>reduceRight : Symbol(Static.reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 420, 20)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 420, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 420, 20)) @@ -3664,7 +3664,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 420, 20)) reduceRight(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) +>reduceRight : Symbol(Static.reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 421, 20)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 421, 22)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 421, 26)) @@ -3679,7 +3679,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 421, 22)) reduceRight(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) +>reduceRight : Symbol(Static.reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 422, 20)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 422, 23)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3694,7 +3694,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 422, 20)) reduceRight(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : Symbol(reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) +>reduceRight : Symbol(Static.reduceRight, Decl(underscoreTest1_underscore.ts, 418, 102), Decl(underscoreTest1_underscore.ts, 420, 95), Decl(underscoreTest1_underscore.ts, 421, 97), Decl(underscoreTest1_underscore.ts, 422, 105)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 423, 20)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 423, 22)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 423, 26)) @@ -3710,7 +3710,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 423, 22)) foldr(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) +>foldr : Symbol(Static.foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 424, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 424, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 424, 14)) @@ -3724,7 +3724,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 424, 14)) foldr(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) +>foldr : Symbol(Static.foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 425, 14)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 425, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 425, 20)) @@ -3739,7 +3739,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 425, 16)) foldr(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) +>foldr : Symbol(Static.foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 426, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 426, 17)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3754,7 +3754,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 426, 14)) foldr(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->foldr : Symbol(foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) +>foldr : Symbol(Static.foldr, Decl(underscoreTest1_underscore.ts, 423, 107), Decl(underscoreTest1_underscore.ts, 424, 89), Decl(underscoreTest1_underscore.ts, 425, 91), Decl(underscoreTest1_underscore.ts, 426, 99)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 427, 14)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 427, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 427, 20)) @@ -3770,7 +3770,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 427, 16)) find(list: T[], iterator: Iterator, context?: any): T; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 427, 101), Decl(underscoreTest1_underscore.ts, 429, 77)) +>find : Symbol(Static.find, Decl(underscoreTest1_underscore.ts, 427, 101), Decl(underscoreTest1_underscore.ts, 429, 77)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 429, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 429, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 429, 13)) @@ -3781,7 +3781,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 429, 13)) find(list: Dictionary, iterator: Iterator, context?: any): T; ->find : Symbol(find, Decl(underscoreTest1_underscore.ts, 427, 101), Decl(underscoreTest1_underscore.ts, 429, 77)) +>find : Symbol(Static.find, Decl(underscoreTest1_underscore.ts, 427, 101), Decl(underscoreTest1_underscore.ts, 429, 77)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 430, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 430, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3793,7 +3793,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 430, 13)) detect(list: T[], iterator: Iterator, context?: any): T; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 430, 87), Decl(underscoreTest1_underscore.ts, 431, 79)) +>detect : Symbol(Static.detect, Decl(underscoreTest1_underscore.ts, 430, 87), Decl(underscoreTest1_underscore.ts, 431, 79)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 431, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 431, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 431, 15)) @@ -3804,7 +3804,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 431, 15)) detect(list: Dictionary, iterator: Iterator, context?: any): T; ->detect : Symbol(detect, Decl(underscoreTest1_underscore.ts, 430, 87), Decl(underscoreTest1_underscore.ts, 431, 79)) +>detect : Symbol(Static.detect, Decl(underscoreTest1_underscore.ts, 430, 87), Decl(underscoreTest1_underscore.ts, 431, 79)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 432, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 432, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3816,7 +3816,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 432, 15)) filter(list: T[], iterator: Iterator, context?: any): T[]; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 432, 89), Decl(underscoreTest1_underscore.ts, 434, 81)) +>filter : Symbol(Static.filter, Decl(underscoreTest1_underscore.ts, 432, 89), Decl(underscoreTest1_underscore.ts, 434, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 434, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 434, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 434, 15)) @@ -3827,7 +3827,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 434, 15)) filter(list: Dictionary, iterator: Iterator, context?: any): T[]; ->filter : Symbol(filter, Decl(underscoreTest1_underscore.ts, 432, 89), Decl(underscoreTest1_underscore.ts, 434, 81)) +>filter : Symbol(Static.filter, Decl(underscoreTest1_underscore.ts, 432, 89), Decl(underscoreTest1_underscore.ts, 434, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 435, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 435, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3839,7 +3839,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 435, 15)) select(list: T[], iterator: Iterator, context?: any): T[]; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 435, 91), Decl(underscoreTest1_underscore.ts, 436, 81)) +>select : Symbol(Static.select, Decl(underscoreTest1_underscore.ts, 435, 91), Decl(underscoreTest1_underscore.ts, 436, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 436, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 436, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 436, 15)) @@ -3850,7 +3850,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 436, 15)) select(list: Dictionary, iterator: Iterator, context?: any): T[]; ->select : Symbol(select, Decl(underscoreTest1_underscore.ts, 435, 91), Decl(underscoreTest1_underscore.ts, 436, 81)) +>select : Symbol(Static.select, Decl(underscoreTest1_underscore.ts, 435, 91), Decl(underscoreTest1_underscore.ts, 436, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 437, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 437, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3862,7 +3862,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 437, 15)) where(list: T[], properties: Object): T[]; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 437, 91), Decl(underscoreTest1_underscore.ts, 439, 53)) +>where : Symbol(Static.where, Decl(underscoreTest1_underscore.ts, 437, 91), Decl(underscoreTest1_underscore.ts, 439, 53)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 439, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 439, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 439, 14)) @@ -3871,7 +3871,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 439, 14)) where(list: Dictionary, properties: Object): T[]; ->where : Symbol(where, Decl(underscoreTest1_underscore.ts, 437, 91), Decl(underscoreTest1_underscore.ts, 439, 53)) +>where : Symbol(Static.where, Decl(underscoreTest1_underscore.ts, 437, 91), Decl(underscoreTest1_underscore.ts, 439, 53)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 440, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 440, 17)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3881,7 +3881,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 440, 14)) findWhere(list: T[], properties: Object): T; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 440, 63), Decl(underscoreTest1_underscore.ts, 442, 55)) +>findWhere : Symbol(Static.findWhere, Decl(underscoreTest1_underscore.ts, 440, 63), Decl(underscoreTest1_underscore.ts, 442, 55)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 442, 18)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 442, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 442, 18)) @@ -3890,7 +3890,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 442, 18)) findWhere(list: Dictionary, properties: Object): T; ->findWhere : Symbol(findWhere, Decl(underscoreTest1_underscore.ts, 440, 63), Decl(underscoreTest1_underscore.ts, 442, 55)) +>findWhere : Symbol(Static.findWhere, Decl(underscoreTest1_underscore.ts, 440, 63), Decl(underscoreTest1_underscore.ts, 442, 55)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 443, 18)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 443, 21)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3900,7 +3900,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 443, 18)) reject(list: T[], iterator: Iterator, context?: any): T[]; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 443, 65), Decl(underscoreTest1_underscore.ts, 445, 81)) +>reject : Symbol(Static.reject, Decl(underscoreTest1_underscore.ts, 443, 65), Decl(underscoreTest1_underscore.ts, 445, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 445, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 445, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 445, 15)) @@ -3911,7 +3911,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 445, 15)) reject(list: Dictionary, iterator: Iterator, context?: any): T[]; ->reject : Symbol(reject, Decl(underscoreTest1_underscore.ts, 443, 65), Decl(underscoreTest1_underscore.ts, 445, 81)) +>reject : Symbol(Static.reject, Decl(underscoreTest1_underscore.ts, 443, 65), Decl(underscoreTest1_underscore.ts, 445, 81)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 446, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 446, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3923,7 +3923,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 446, 15)) every(list: T[], iterator?: Iterator, context?: any): boolean; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 446, 91), Decl(underscoreTest1_underscore.ts, 448, 85)) +>every : Symbol(Static.every, Decl(underscoreTest1_underscore.ts, 446, 91), Decl(underscoreTest1_underscore.ts, 448, 85)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 448, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 448, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 448, 14)) @@ -3933,7 +3933,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 448, 60)) every(list: Dictionary, iterator?: Iterator, context?: any): boolean; ->every : Symbol(every, Decl(underscoreTest1_underscore.ts, 446, 91), Decl(underscoreTest1_underscore.ts, 448, 85)) +>every : Symbol(Static.every, Decl(underscoreTest1_underscore.ts, 446, 91), Decl(underscoreTest1_underscore.ts, 448, 85)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 449, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 449, 17)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3944,7 +3944,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 449, 70)) all(list: T[], iterator?: Iterator, context?: any): boolean; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 449, 95), Decl(underscoreTest1_underscore.ts, 450, 83)) +>all : Symbol(Static.all, Decl(underscoreTest1_underscore.ts, 449, 95), Decl(underscoreTest1_underscore.ts, 450, 83)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 450, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 450, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 450, 12)) @@ -3954,7 +3954,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 450, 58)) all(list: Dictionary, iterator?: Iterator, context?: any): boolean; ->all : Symbol(all, Decl(underscoreTest1_underscore.ts, 449, 95), Decl(underscoreTest1_underscore.ts, 450, 83)) +>all : Symbol(Static.all, Decl(underscoreTest1_underscore.ts, 449, 95), Decl(underscoreTest1_underscore.ts, 450, 83)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 451, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 451, 15)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3965,7 +3965,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 451, 68)) some(list: T[], iterator?: Iterator, context?: any): boolean; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 451, 93), Decl(underscoreTest1_underscore.ts, 453, 84)) +>some : Symbol(Static.some, Decl(underscoreTest1_underscore.ts, 451, 93), Decl(underscoreTest1_underscore.ts, 453, 84)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 453, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 453, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 453, 13)) @@ -3975,7 +3975,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 453, 59)) some(list: Dictionary, iterator?: Iterator, context?: any): boolean; ->some : Symbol(some, Decl(underscoreTest1_underscore.ts, 451, 93), Decl(underscoreTest1_underscore.ts, 453, 84)) +>some : Symbol(Static.some, Decl(underscoreTest1_underscore.ts, 451, 93), Decl(underscoreTest1_underscore.ts, 453, 84)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 454, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 454, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -3986,7 +3986,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 454, 69)) any(list: T[], iterator?: Iterator, context?: any): boolean; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 454, 94), Decl(underscoreTest1_underscore.ts, 455, 83)) +>any : Symbol(Static.any, Decl(underscoreTest1_underscore.ts, 454, 94), Decl(underscoreTest1_underscore.ts, 455, 83)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 455, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 455, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 455, 12)) @@ -3996,7 +3996,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 455, 58)) any(list: Dictionary, iterator?: Iterator, context?: any): boolean; ->any : Symbol(any, Decl(underscoreTest1_underscore.ts, 454, 94), Decl(underscoreTest1_underscore.ts, 455, 83)) +>any : Symbol(Static.any, Decl(underscoreTest1_underscore.ts, 454, 94), Decl(underscoreTest1_underscore.ts, 455, 83)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 456, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 456, 15)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4007,7 +4007,7 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 456, 68)) contains(list: T[], value: T): boolean; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 456, 93), Decl(underscoreTest1_underscore.ts, 458, 50)) +>contains : Symbol(Static.contains, Decl(underscoreTest1_underscore.ts, 456, 93), Decl(underscoreTest1_underscore.ts, 458, 50)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 458, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 458, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 458, 17)) @@ -4015,7 +4015,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 458, 17)) contains(list: Dictionary, value: T): boolean; ->contains : Symbol(contains, Decl(underscoreTest1_underscore.ts, 456, 93), Decl(underscoreTest1_underscore.ts, 458, 50)) +>contains : Symbol(Static.contains, Decl(underscoreTest1_underscore.ts, 456, 93), Decl(underscoreTest1_underscore.ts, 458, 50)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 459, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 459, 20)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4024,7 +4024,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 459, 17)) include(list: T[], value: T): boolean; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 459, 60), Decl(underscoreTest1_underscore.ts, 460, 49)) +>include : Symbol(Static.include, Decl(underscoreTest1_underscore.ts, 459, 60), Decl(underscoreTest1_underscore.ts, 460, 49)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 460, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 460, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 460, 16)) @@ -4032,7 +4032,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 460, 16)) include(list: Dictionary, value: T): boolean; ->include : Symbol(include, Decl(underscoreTest1_underscore.ts, 459, 60), Decl(underscoreTest1_underscore.ts, 460, 49)) +>include : Symbol(Static.include, Decl(underscoreTest1_underscore.ts, 459, 60), Decl(underscoreTest1_underscore.ts, 460, 49)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 461, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 461, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4041,31 +4041,31 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 461, 16)) invoke(list: any[], methodName: string, ...args: any[]): any[]; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 461, 59), Decl(underscoreTest1_underscore.ts, 463, 71)) +>invoke : Symbol(Static.invoke, Decl(underscoreTest1_underscore.ts, 461, 59), Decl(underscoreTest1_underscore.ts, 463, 71)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 463, 15)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 463, 27)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 463, 47)) invoke(list: Dictionary, methodName: string, ...args: any[]): any[]; ->invoke : Symbol(invoke, Decl(underscoreTest1_underscore.ts, 461, 59), Decl(underscoreTest1_underscore.ts, 463, 71)) +>invoke : Symbol(Static.invoke, Decl(underscoreTest1_underscore.ts, 461, 59), Decl(underscoreTest1_underscore.ts, 463, 71)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 464, 15)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >methodName : Symbol(methodName, Decl(underscoreTest1_underscore.ts, 464, 37)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 464, 57)) pluck(list: any[], propertyName: string): any[]; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 464, 81), Decl(underscoreTest1_underscore.ts, 466, 56)) +>pluck : Symbol(Static.pluck, Decl(underscoreTest1_underscore.ts, 464, 81), Decl(underscoreTest1_underscore.ts, 466, 56)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 466, 14)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 466, 26)) pluck(list: Dictionary, propertyName: string): any[]; ->pluck : Symbol(pluck, Decl(underscoreTest1_underscore.ts, 464, 81), Decl(underscoreTest1_underscore.ts, 466, 56)) +>pluck : Symbol(Static.pluck, Decl(underscoreTest1_underscore.ts, 464, 81), Decl(underscoreTest1_underscore.ts, 466, 56)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 467, 14)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 467, 36)) max(list: T[], iterator?: Iterator, context?: any): T; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 467, 66), Decl(underscoreTest1_underscore.ts, 469, 73)) +>max : Symbol(Static.max, Decl(underscoreTest1_underscore.ts, 467, 66), Decl(underscoreTest1_underscore.ts, 469, 73)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 469, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 469, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 469, 12)) @@ -4076,7 +4076,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 469, 12)) max(list: Dictionary, iterator?: Iterator, context?: any): T; ->max : Symbol(max, Decl(underscoreTest1_underscore.ts, 467, 66), Decl(underscoreTest1_underscore.ts, 469, 73)) +>max : Symbol(Static.max, Decl(underscoreTest1_underscore.ts, 467, 66), Decl(underscoreTest1_underscore.ts, 469, 73)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 470, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 470, 15)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4088,7 +4088,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 470, 12)) min(list: T[], iterator?: Iterator, context?: any): T; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 470, 83), Decl(underscoreTest1_underscore.ts, 472, 73)) +>min : Symbol(Static.min, Decl(underscoreTest1_underscore.ts, 470, 83), Decl(underscoreTest1_underscore.ts, 472, 73)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 472, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 472, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 472, 12)) @@ -4099,7 +4099,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 472, 12)) min(list: Dictionary, iterator?: Iterator, context?: any): T; ->min : Symbol(min, Decl(underscoreTest1_underscore.ts, 470, 83), Decl(underscoreTest1_underscore.ts, 472, 73)) +>min : Symbol(Static.min, Decl(underscoreTest1_underscore.ts, 470, 83), Decl(underscoreTest1_underscore.ts, 472, 73)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 473, 12)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 473, 15)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4111,7 +4111,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 473, 12)) sortBy(list: T[], iterator: Iterator, context?: any): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) +>sortBy : Symbol(Static.sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 475, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 475, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 475, 15)) @@ -4122,7 +4122,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 475, 15)) sortBy(list: Dictionary, iterator: Iterator, context?: any): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) +>sortBy : Symbol(Static.sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 476, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 476, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4134,7 +4134,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 476, 15)) sortBy(list: T[], propertyName: string): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) +>sortBy : Symbol(Static.sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 477, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 477, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 477, 15)) @@ -4142,7 +4142,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 477, 15)) sortBy(list: Dictionary, propertyName: string): T[]; ->sortBy : Symbol(sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) +>sortBy : Symbol(Static.sortBy, Decl(underscoreTest1_underscore.ts, 473, 83), Decl(underscoreTest1_underscore.ts, 475, 77), Decl(underscoreTest1_underscore.ts, 476, 87), Decl(underscoreTest1_underscore.ts, 477, 56)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 478, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 478, 18)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4151,7 +4151,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 478, 15)) groupBy(list: T[], iterator?: Iterator, context?: any): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) +>groupBy : Symbol(Static.groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 480, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 480, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 480, 16)) @@ -4163,7 +4163,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 480, 16)) groupBy(list: Dictionary, iterator?: Iterator, context?: any): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) +>groupBy : Symbol(Static.groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 481, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 481, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4176,7 +4176,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 481, 16)) groupBy(list: T[], propertyName: string): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) +>groupBy : Symbol(Static.groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 482, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 482, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 482, 16)) @@ -4185,7 +4185,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 482, 16)) groupBy(list: Dictionary, propertyName: string): Dictionary; ->groupBy : Symbol(groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) +>groupBy : Symbol(Static.groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 91), Decl(underscoreTest1_underscore.ts, 481, 101), Decl(underscoreTest1_underscore.ts, 482, 69)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 483, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 483, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4195,7 +4195,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 483, 16)) countBy(list: T[], iterator?: Iterator, context?: any): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) +>countBy : Symbol(Static.countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 485, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 485, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 485, 16)) @@ -4206,7 +4206,7 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) countBy(list: Dictionary, iterator?: Iterator, context?: any): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) +>countBy : Symbol(Static.countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 486, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 486, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4218,7 +4218,7 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) countBy(list: T[], propertyName: string): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) +>countBy : Symbol(Static.countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 487, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 487, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 487, 16)) @@ -4226,7 +4226,7 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) countBy(list: Dictionary, propertyName: string): Dictionary; ->countBy : Symbol(countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) +>countBy : Symbol(Static.countBy, Decl(underscoreTest1_underscore.ts, 483, 79), Decl(underscoreTest1_underscore.ts, 485, 94), Decl(underscoreTest1_underscore.ts, 486, 104), Decl(underscoreTest1_underscore.ts, 487, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 488, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 488, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4235,14 +4235,14 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) shuffle(list: T[]): T[]; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 488, 82), Decl(underscoreTest1_underscore.ts, 490, 35)) +>shuffle : Symbol(Static.shuffle, Decl(underscoreTest1_underscore.ts, 488, 82), Decl(underscoreTest1_underscore.ts, 490, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 490, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 490, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 490, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 490, 16)) shuffle(list: Dictionary): T[]; ->shuffle : Symbol(shuffle, Decl(underscoreTest1_underscore.ts, 488, 82), Decl(underscoreTest1_underscore.ts, 490, 35)) +>shuffle : Symbol(Static.shuffle, Decl(underscoreTest1_underscore.ts, 488, 82), Decl(underscoreTest1_underscore.ts, 490, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 491, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 491, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4250,14 +4250,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 491, 16)) toArray(list: T[]): T[]; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 491, 45), Decl(underscoreTest1_underscore.ts, 493, 35)) +>toArray : Symbol(Static.toArray, Decl(underscoreTest1_underscore.ts, 491, 45), Decl(underscoreTest1_underscore.ts, 493, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 493, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 493, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 493, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 493, 16)) toArray(list: Dictionary): T[]; ->toArray : Symbol(toArray, Decl(underscoreTest1_underscore.ts, 491, 45), Decl(underscoreTest1_underscore.ts, 493, 35)) +>toArray : Symbol(Static.toArray, Decl(underscoreTest1_underscore.ts, 491, 45), Decl(underscoreTest1_underscore.ts, 493, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 494, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 494, 19)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) @@ -4265,27 +4265,27 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 494, 16)) size(list: T[]): number; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 494, 45), Decl(underscoreTest1_underscore.ts, 496, 35)) +>size : Symbol(Static.size, Decl(underscoreTest1_underscore.ts, 494, 45), Decl(underscoreTest1_underscore.ts, 496, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 496, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 496, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 496, 13)) size(list: Dictionary): number; ->size : Symbol(size, Decl(underscoreTest1_underscore.ts, 494, 45), Decl(underscoreTest1_underscore.ts, 496, 35)) +>size : Symbol(Static.size, Decl(underscoreTest1_underscore.ts, 494, 45), Decl(underscoreTest1_underscore.ts, 496, 35)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 497, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 497, 16)) >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 497, 13)) first(list: T[]): T; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 497, 45), Decl(underscoreTest1_underscore.ts, 499, 31)) +>first : Symbol(Static.first, Decl(underscoreTest1_underscore.ts, 497, 45), Decl(underscoreTest1_underscore.ts, 499, 31)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 499, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 499, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 499, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 499, 14)) first(list: T[], count: number): T[]; ->first : Symbol(first, Decl(underscoreTest1_underscore.ts, 497, 45), Decl(underscoreTest1_underscore.ts, 499, 31)) +>first : Symbol(Static.first, Decl(underscoreTest1_underscore.ts, 497, 45), Decl(underscoreTest1_underscore.ts, 499, 31)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 500, 14)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 500, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 500, 14)) @@ -4293,14 +4293,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 500, 14)) head(list: T[]): T; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 500, 48), Decl(underscoreTest1_underscore.ts, 501, 30)) +>head : Symbol(Static.head, Decl(underscoreTest1_underscore.ts, 500, 48), Decl(underscoreTest1_underscore.ts, 501, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 501, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 501, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 501, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 501, 13)) head(list: T[], count: number): T[]; ->head : Symbol(head, Decl(underscoreTest1_underscore.ts, 500, 48), Decl(underscoreTest1_underscore.ts, 501, 30)) +>head : Symbol(Static.head, Decl(underscoreTest1_underscore.ts, 500, 48), Decl(underscoreTest1_underscore.ts, 501, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 502, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 502, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 502, 13)) @@ -4308,14 +4308,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 502, 13)) take(list: T[]): T; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 502, 47), Decl(underscoreTest1_underscore.ts, 503, 30)) +>take : Symbol(Static.take, Decl(underscoreTest1_underscore.ts, 502, 47), Decl(underscoreTest1_underscore.ts, 503, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 503, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 503, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 503, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 503, 13)) take(list: T[], count: number): T[]; ->take : Symbol(take, Decl(underscoreTest1_underscore.ts, 502, 47), Decl(underscoreTest1_underscore.ts, 503, 30)) +>take : Symbol(Static.take, Decl(underscoreTest1_underscore.ts, 502, 47), Decl(underscoreTest1_underscore.ts, 503, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 504, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 504, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 504, 13)) @@ -4323,14 +4323,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 504, 13)) initial(list: T[]): T; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 504, 47), Decl(underscoreTest1_underscore.ts, 506, 33)) +>initial : Symbol(Static.initial, Decl(underscoreTest1_underscore.ts, 504, 47), Decl(underscoreTest1_underscore.ts, 506, 33)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 506, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 506, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 506, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 506, 16)) initial(list: T[], count: number): T[]; ->initial : Symbol(initial, Decl(underscoreTest1_underscore.ts, 504, 47), Decl(underscoreTest1_underscore.ts, 506, 33)) +>initial : Symbol(Static.initial, Decl(underscoreTest1_underscore.ts, 504, 47), Decl(underscoreTest1_underscore.ts, 506, 33)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 507, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 507, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 507, 16)) @@ -4338,14 +4338,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 507, 16)) last(list: T[]): T; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 507, 50), Decl(underscoreTest1_underscore.ts, 509, 30)) +>last : Symbol(Static.last, Decl(underscoreTest1_underscore.ts, 507, 50), Decl(underscoreTest1_underscore.ts, 509, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 509, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 509, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 509, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 509, 13)) last(list: T[], count: number): T[]; ->last : Symbol(last, Decl(underscoreTest1_underscore.ts, 507, 50), Decl(underscoreTest1_underscore.ts, 509, 30)) +>last : Symbol(Static.last, Decl(underscoreTest1_underscore.ts, 507, 50), Decl(underscoreTest1_underscore.ts, 509, 30)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 510, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 510, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 510, 13)) @@ -4353,7 +4353,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 510, 13)) rest(list: T[], index?: number): T[]; ->rest : Symbol(rest, Decl(underscoreTest1_underscore.ts, 510, 47)) +>rest : Symbol(Static.rest, Decl(underscoreTest1_underscore.ts, 510, 47)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 512, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 512, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 512, 13)) @@ -4361,28 +4361,28 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 512, 13)) compact(list: T[]): T[]; ->compact : Symbol(compact, Decl(underscoreTest1_underscore.ts, 512, 48)) +>compact : Symbol(Static.compact, Decl(underscoreTest1_underscore.ts, 512, 48)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 514, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 514, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 514, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 514, 16)) flatten(list: T[][]): T[]; ->flatten : Symbol(flatten, Decl(underscoreTest1_underscore.ts, 514, 35), Decl(underscoreTest1_underscore.ts, 516, 37)) +>flatten : Symbol(Static.flatten, Decl(underscoreTest1_underscore.ts, 514, 35), Decl(underscoreTest1_underscore.ts, 516, 37)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 516, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 516, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 516, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 516, 16)) flatten(array: any[], shallow?: boolean): T[]; ->flatten : Symbol(flatten, Decl(underscoreTest1_underscore.ts, 514, 35), Decl(underscoreTest1_underscore.ts, 516, 37)) +>flatten : Symbol(Static.flatten, Decl(underscoreTest1_underscore.ts, 514, 35), Decl(underscoreTest1_underscore.ts, 516, 37)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 517, 16)) >array : Symbol(array, Decl(underscoreTest1_underscore.ts, 517, 19)) >shallow : Symbol(shallow, Decl(underscoreTest1_underscore.ts, 517, 32)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 517, 16)) without(list: T[], ...values: T[]): T[]; ->without : Symbol(without, Decl(underscoreTest1_underscore.ts, 517, 57)) +>without : Symbol(Static.without, Decl(underscoreTest1_underscore.ts, 517, 57)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 519, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 519, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 519, 16)) @@ -4391,21 +4391,21 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 519, 16)) union(...arrays: T[][]): T[]; ->union : Symbol(union, Decl(underscoreTest1_underscore.ts, 519, 51)) +>union : Symbol(Static.union, Decl(underscoreTest1_underscore.ts, 519, 51)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 521, 14)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 521, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 521, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 521, 14)) intersection(...arrays: T[][]): T[]; ->intersection : Symbol(intersection, Decl(underscoreTest1_underscore.ts, 521, 40)) +>intersection : Symbol(Static.intersection, Decl(underscoreTest1_underscore.ts, 521, 40)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 523, 21)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 523, 24)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 523, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 523, 21)) difference(list: T[], ...others: T[][]): T[]; ->difference : Symbol(difference, Decl(underscoreTest1_underscore.ts, 523, 47)) +>difference : Symbol(Static.difference, Decl(underscoreTest1_underscore.ts, 523, 47)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 525, 19)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 525, 22)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 525, 19)) @@ -4414,7 +4414,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 525, 19)) uniq(list: T[], isSorted?: boolean): T[]; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 525, 56), Decl(underscoreTest1_underscore.ts, 527, 52)) +>uniq : Symbol(Static.uniq, Decl(underscoreTest1_underscore.ts, 525, 56), Decl(underscoreTest1_underscore.ts, 527, 52)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 527, 13)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 527, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 527, 13)) @@ -4422,7 +4422,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 527, 13)) uniq(list: T[], isSorted: boolean, iterator: Iterator, context?: any): U[]; ->uniq : Symbol(uniq, Decl(underscoreTest1_underscore.ts, 525, 56), Decl(underscoreTest1_underscore.ts, 527, 52)) +>uniq : Symbol(Static.uniq, Decl(underscoreTest1_underscore.ts, 525, 56), Decl(underscoreTest1_underscore.ts, 527, 52)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 528, 13)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 528, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 528, 19)) @@ -4436,7 +4436,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 528, 15)) unique(list: T[], isSorted?: boolean): T[]; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 528, 95), Decl(underscoreTest1_underscore.ts, 529, 54)) +>unique : Symbol(Static.unique, Decl(underscoreTest1_underscore.ts, 528, 95), Decl(underscoreTest1_underscore.ts, 529, 54)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 529, 15)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 529, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 529, 15)) @@ -4444,7 +4444,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 529, 15)) unique(list: T[], isSorted: boolean, iterator: Iterator, context?: any): U[]; ->unique : Symbol(unique, Decl(underscoreTest1_underscore.ts, 528, 95), Decl(underscoreTest1_underscore.ts, 529, 54)) +>unique : Symbol(Static.unique, Decl(underscoreTest1_underscore.ts, 528, 95), Decl(underscoreTest1_underscore.ts, 529, 54)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 530, 15)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 530, 17)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 530, 21)) @@ -4458,7 +4458,7 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 530, 17)) zip(a0: T0[], a1: T1[]): Tuple2[]; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) +>zip : Symbol(Static.zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) >T0 : Symbol(T0, Decl(underscoreTest1_underscore.ts, 532, 12)) >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 532, 15)) >a0 : Symbol(a0, Decl(underscoreTest1_underscore.ts, 532, 20)) @@ -4470,7 +4470,7 @@ module Underscore { >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 532, 15)) zip(a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) +>zip : Symbol(Static.zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) >T0 : Symbol(T0, Decl(underscoreTest1_underscore.ts, 533, 12)) >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 533, 15)) >T2 : Symbol(T2, Decl(underscoreTest1_underscore.ts, 533, 19)) @@ -4486,7 +4486,7 @@ module Underscore { >T2 : Symbol(T2, Decl(underscoreTest1_underscore.ts, 533, 19)) zip(a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) +>zip : Symbol(Static.zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) >T0 : Symbol(T0, Decl(underscoreTest1_underscore.ts, 534, 12)) >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 534, 15)) >T2 : Symbol(T2, Decl(underscoreTest1_underscore.ts, 534, 19)) @@ -4506,20 +4506,20 @@ module Underscore { >T3 : Symbol(T3, Decl(underscoreTest1_underscore.ts, 534, 23)) zip(...arrays: any[][]): any[][]; ->zip : Symbol(zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) +>zip : Symbol(Static.zip, Decl(underscoreTest1_underscore.ts, 530, 97), Decl(underscoreTest1_underscore.ts, 532, 58), Decl(underscoreTest1_underscore.ts, 533, 76), Decl(underscoreTest1_underscore.ts, 534, 94)) >arrays : Symbol(arrays, Decl(underscoreTest1_underscore.ts, 535, 12)) object(list: any[][]): any; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 535, 41), Decl(underscoreTest1_underscore.ts, 537, 35)) +>object : Symbol(Static.object, Decl(underscoreTest1_underscore.ts, 535, 41), Decl(underscoreTest1_underscore.ts, 537, 35)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 537, 15)) object(keys: string[], values: any[]): any; ->object : Symbol(object, Decl(underscoreTest1_underscore.ts, 535, 41), Decl(underscoreTest1_underscore.ts, 537, 35)) +>object : Symbol(Static.object, Decl(underscoreTest1_underscore.ts, 535, 41), Decl(underscoreTest1_underscore.ts, 537, 35)) >keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 538, 15)) >values : Symbol(values, Decl(underscoreTest1_underscore.ts, 538, 30)) indexOf(list: T[], value: T, isSorted?: boolean): number; ->indexOf : Symbol(indexOf, Decl(underscoreTest1_underscore.ts, 538, 51)) +>indexOf : Symbol(Static.indexOf, Decl(underscoreTest1_underscore.ts, 538, 51)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 540, 16)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 540, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 540, 16)) @@ -4528,7 +4528,7 @@ module Underscore { >isSorted : Symbol(isSorted, Decl(underscoreTest1_underscore.ts, 540, 39)) lastIndexOf(list: T[], value: T, fromIndex?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(underscoreTest1_underscore.ts, 540, 68)) +>lastIndexOf : Symbol(Static.lastIndexOf, Decl(underscoreTest1_underscore.ts, 540, 68)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 542, 20)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 542, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 542, 20)) @@ -4537,7 +4537,7 @@ module Underscore { >fromIndex : Symbol(fromIndex, Decl(underscoreTest1_underscore.ts, 542, 43)) sortedIndex(list: T[], obj: T, propertyName: string): number; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 542, 72), Decl(underscoreTest1_underscore.ts, 544, 72)) +>sortedIndex : Symbol(Static.sortedIndex, Decl(underscoreTest1_underscore.ts, 542, 72), Decl(underscoreTest1_underscore.ts, 544, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 544, 20)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 544, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 544, 20)) @@ -4546,7 +4546,7 @@ module Underscore { >propertyName : Symbol(propertyName, Decl(underscoreTest1_underscore.ts, 544, 41)) sortedIndex(list: T[], obj: T, iterator?: Iterator, context?: any): number; ->sortedIndex : Symbol(sortedIndex, Decl(underscoreTest1_underscore.ts, 542, 72), Decl(underscoreTest1_underscore.ts, 544, 72)) +>sortedIndex : Symbol(Static.sortedIndex, Decl(underscoreTest1_underscore.ts, 542, 72), Decl(underscoreTest1_underscore.ts, 544, 72)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 545, 20)) >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 545, 23)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 545, 20)) @@ -4558,17 +4558,17 @@ module Underscore { >context : Symbol(context, Decl(underscoreTest1_underscore.ts, 545, 70)) range(stop: number): number[]; ->range : Symbol(range, Decl(underscoreTest1_underscore.ts, 545, 94), Decl(underscoreTest1_underscore.ts, 547, 38)) +>range : Symbol(Static.range, Decl(underscoreTest1_underscore.ts, 545, 94), Decl(underscoreTest1_underscore.ts, 547, 38)) >stop : Symbol(stop, Decl(underscoreTest1_underscore.ts, 547, 14)) range(start: number, stop: number, step?: number): number[]; ->range : Symbol(range, Decl(underscoreTest1_underscore.ts, 545, 94), Decl(underscoreTest1_underscore.ts, 547, 38)) +>range : Symbol(Static.range, Decl(underscoreTest1_underscore.ts, 545, 94), Decl(underscoreTest1_underscore.ts, 547, 38)) >start : Symbol(start, Decl(underscoreTest1_underscore.ts, 548, 14)) >stop : Symbol(stop, Decl(underscoreTest1_underscore.ts, 548, 28)) >step : Symbol(step, Decl(underscoreTest1_underscore.ts, 548, 42)) bind(func: T, object: any): T; ->bind : Symbol(bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) +>bind : Symbol(Static.bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 550, 13)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 550, 33)) @@ -4577,7 +4577,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 550, 13)) bind(func: Function, object: any, ...args: any[]): Function; ->bind : Symbol(bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) +>bind : Symbol(Static.bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 551, 13)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 551, 28)) @@ -4585,7 +4585,7 @@ module Underscore { >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) bindAll(object: T, ...methodNames: string[]): T; ->bindAll : Symbol(bindAll, Decl(underscoreTest1_underscore.ts, 551, 68)) +>bindAll : Symbol(Static.bindAll, Decl(underscoreTest1_underscore.ts, 551, 68)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 553, 16)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 553, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 553, 16)) @@ -4593,14 +4593,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 553, 16)) partial(func: Function, ...args: any[]): Function; ->partial : Symbol(partial, Decl(underscoreTest1_underscore.ts, 553, 59)) +>partial : Symbol(Static.partial, Decl(underscoreTest1_underscore.ts, 553, 59)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 555, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 555, 31)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) memoize(func: T, hashFunction?: Function): T; ->memoize : Symbol(memoize, Decl(underscoreTest1_underscore.ts, 555, 58)) +>memoize : Symbol(Static.memoize, Decl(underscoreTest1_underscore.ts, 555, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 557, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 557, 36)) @@ -4610,20 +4610,20 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 557, 16)) delay(func: Function, wait: number, ...args: any[]): number; ->delay : Symbol(delay, Decl(underscoreTest1_underscore.ts, 557, 73)) +>delay : Symbol(Static.delay, Decl(underscoreTest1_underscore.ts, 557, 73)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 559, 14)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 559, 29)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 559, 43)) defer(func: Function, ...args: any[]): number; ->defer : Symbol(defer, Decl(underscoreTest1_underscore.ts, 559, 68)) +>defer : Symbol(Static.defer, Decl(underscoreTest1_underscore.ts, 559, 68)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 561, 14)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 561, 29)) throttle(func: T, wait: number): T; ->throttle : Symbol(throttle, Decl(underscoreTest1_underscore.ts, 561, 54)) +>throttle : Symbol(Static.throttle, Decl(underscoreTest1_underscore.ts, 561, 54)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 563, 17)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 563, 37)) @@ -4632,7 +4632,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 563, 17)) debounce(func: T, wait: number, immediate?: boolean): T; ->debounce : Symbol(debounce, Decl(underscoreTest1_underscore.ts, 563, 63)) +>debounce : Symbol(Static.debounce, Decl(underscoreTest1_underscore.ts, 563, 63)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 565, 17)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 565, 37)) @@ -4642,7 +4642,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 565, 17)) once(func: T): T; ->once : Symbol(once, Decl(underscoreTest1_underscore.ts, 565, 84)) +>once : Symbol(Static.once, Decl(underscoreTest1_underscore.ts, 565, 84)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 567, 13)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 567, 33)) @@ -4650,7 +4650,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 567, 13)) after(count: number, func: T): T; ->after : Symbol(after, Decl(underscoreTest1_underscore.ts, 567, 45)) +>after : Symbol(Static.after, Decl(underscoreTest1_underscore.ts, 567, 45)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 569, 14)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 569, 34)) @@ -4659,7 +4659,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 569, 14)) wrap(func: T, wrapper: (func: T, ...args: any[]) => any): T; ->wrap : Symbol(wrap, Decl(underscoreTest1_underscore.ts, 569, 61)) +>wrap : Symbol(Static.wrap, Decl(underscoreTest1_underscore.ts, 569, 61)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 571, 13)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 571, 33)) @@ -4671,37 +4671,37 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 571, 13)) compose(...funcs: Function[]): Function; ->compose : Symbol(compose, Decl(underscoreTest1_underscore.ts, 571, 88)) +>compose : Symbol(Static.compose, Decl(underscoreTest1_underscore.ts, 571, 88)) >funcs : Symbol(funcs, Decl(underscoreTest1_underscore.ts, 573, 16)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) keys(object: any): string[]; ->keys : Symbol(keys, Decl(underscoreTest1_underscore.ts, 573, 48)) +>keys : Symbol(Static.keys, Decl(underscoreTest1_underscore.ts, 573, 48)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 575, 13)) values(object: any): any[]; ->values : Symbol(values, Decl(underscoreTest1_underscore.ts, 575, 36)) +>values : Symbol(Static.values, Decl(underscoreTest1_underscore.ts, 575, 36)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 577, 15)) pairs(object: any): any[][]; ->pairs : Symbol(pairs, Decl(underscoreTest1_underscore.ts, 577, 35)) +>pairs : Symbol(Static.pairs, Decl(underscoreTest1_underscore.ts, 577, 35)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 579, 14)) invert(object: any): any; ->invert : Symbol(invert, Decl(underscoreTest1_underscore.ts, 579, 36)) +>invert : Symbol(Static.invert, Decl(underscoreTest1_underscore.ts, 579, 36)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 581, 15)) functions(object: any): string[]; ->functions : Symbol(functions, Decl(underscoreTest1_underscore.ts, 581, 33)) +>functions : Symbol(Static.functions, Decl(underscoreTest1_underscore.ts, 581, 33)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 583, 18)) methods(object: any): string[]; ->methods : Symbol(methods, Decl(underscoreTest1_underscore.ts, 583, 41)) +>methods : Symbol(Static.methods, Decl(underscoreTest1_underscore.ts, 583, 41)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 584, 16)) extend(destination: T, ...sources: any[]): T; ->extend : Symbol(extend, Decl(underscoreTest1_underscore.ts, 584, 39)) +>extend : Symbol(Static.extend, Decl(underscoreTest1_underscore.ts, 584, 39)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 586, 15)) >destination : Symbol(destination, Decl(underscoreTest1_underscore.ts, 586, 18)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 586, 15)) @@ -4709,7 +4709,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 586, 15)) pick(object: T, ...keys: string[]): T; ->pick : Symbol(pick, Decl(underscoreTest1_underscore.ts, 586, 56)) +>pick : Symbol(Static.pick, Decl(underscoreTest1_underscore.ts, 586, 56)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 588, 13)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 588, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 588, 13)) @@ -4717,7 +4717,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 588, 13)) omit(object: T, ...keys: string[]): T; ->omit : Symbol(omit, Decl(underscoreTest1_underscore.ts, 588, 49)) +>omit : Symbol(Static.omit, Decl(underscoreTest1_underscore.ts, 588, 49)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 590, 13)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 590, 16)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 590, 13)) @@ -4725,7 +4725,7 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 590, 13)) defaults(object: T, ...defaults: any[]): T; ->defaults : Symbol(defaults, Decl(underscoreTest1_underscore.ts, 590, 49)) +>defaults : Symbol(Static.defaults, Decl(underscoreTest1_underscore.ts, 590, 49)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 592, 17)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 592, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 592, 17)) @@ -4733,14 +4733,14 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 592, 17)) clone(object: T): T; ->clone : Symbol(clone, Decl(underscoreTest1_underscore.ts, 592, 54)) +>clone : Symbol(Static.clone, Decl(underscoreTest1_underscore.ts, 592, 54)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 594, 14)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 594, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 594, 14)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 594, 14)) tap(object: T, interceptor: (object: T) => void): T; ->tap : Symbol(tap, Decl(underscoreTest1_underscore.ts, 594, 31)) +>tap : Symbol(Static.tap, Decl(underscoreTest1_underscore.ts, 594, 31)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 596, 12)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 596, 15)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 596, 12)) @@ -4750,12 +4750,12 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 596, 12)) has(object: any, key: string): boolean; ->has : Symbol(has, Decl(underscoreTest1_underscore.ts, 596, 63)) +>has : Symbol(Static.has, Decl(underscoreTest1_underscore.ts, 596, 63)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 598, 12)) >key : Symbol(key, Decl(underscoreTest1_underscore.ts, 598, 24)) isEqual(object: T, other: T): boolean; ->isEqual : Symbol(isEqual, Decl(underscoreTest1_underscore.ts, 598, 47)) +>isEqual : Symbol(Static.isEqual, Decl(underscoreTest1_underscore.ts, 598, 47)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 600, 16)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 600, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 600, 16)) @@ -4763,78 +4763,78 @@ module Underscore { >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 600, 16)) isEmpty(object: any): boolean; ->isEmpty : Symbol(isEmpty, Decl(underscoreTest1_underscore.ts, 600, 49)) +>isEmpty : Symbol(Static.isEmpty, Decl(underscoreTest1_underscore.ts, 600, 49)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 602, 16)) isElement(object: any): boolean; ->isElement : Symbol(isElement, Decl(underscoreTest1_underscore.ts, 602, 38)) +>isElement : Symbol(Static.isElement, Decl(underscoreTest1_underscore.ts, 602, 38)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 603, 18)) isArray(object: any): boolean; ->isArray : Symbol(isArray, Decl(underscoreTest1_underscore.ts, 603, 40)) +>isArray : Symbol(Static.isArray, Decl(underscoreTest1_underscore.ts, 603, 40)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 604, 16)) isObject(value: any): boolean; ->isObject : Symbol(isObject, Decl(underscoreTest1_underscore.ts, 604, 38)) +>isObject : Symbol(Static.isObject, Decl(underscoreTest1_underscore.ts, 604, 38)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 605, 17)) isArguments(object: any): boolean; ->isArguments : Symbol(isArguments, Decl(underscoreTest1_underscore.ts, 605, 38)) +>isArguments : Symbol(Static.isArguments, Decl(underscoreTest1_underscore.ts, 605, 38)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 606, 20)) isFunction(object: any): boolean; ->isFunction : Symbol(isFunction, Decl(underscoreTest1_underscore.ts, 606, 42)) +>isFunction : Symbol(Static.isFunction, Decl(underscoreTest1_underscore.ts, 606, 42)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 607, 19)) isString(object: any): boolean; ->isString : Symbol(isString, Decl(underscoreTest1_underscore.ts, 607, 41)) +>isString : Symbol(Static.isString, Decl(underscoreTest1_underscore.ts, 607, 41)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 608, 17)) isNumber(object: any): boolean; ->isNumber : Symbol(isNumber, Decl(underscoreTest1_underscore.ts, 608, 39)) +>isNumber : Symbol(Static.isNumber, Decl(underscoreTest1_underscore.ts, 608, 39)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 609, 17)) isFinite(object: any): boolean; ->isFinite : Symbol(isFinite, Decl(underscoreTest1_underscore.ts, 609, 39)) +>isFinite : Symbol(Static.isFinite, Decl(underscoreTest1_underscore.ts, 609, 39)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 610, 17)) isBoolean(object: any): boolean; ->isBoolean : Symbol(isBoolean, Decl(underscoreTest1_underscore.ts, 610, 39)) +>isBoolean : Symbol(Static.isBoolean, Decl(underscoreTest1_underscore.ts, 610, 39)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 611, 18)) isDate(object: any): boolean; ->isDate : Symbol(isDate, Decl(underscoreTest1_underscore.ts, 611, 40)) +>isDate : Symbol(Static.isDate, Decl(underscoreTest1_underscore.ts, 611, 40)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 612, 15)) isRegExp(object: any): boolean; ->isRegExp : Symbol(isRegExp, Decl(underscoreTest1_underscore.ts, 612, 37)) +>isRegExp : Symbol(Static.isRegExp, Decl(underscoreTest1_underscore.ts, 612, 37)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 613, 17)) isNaN(object: any): boolean; ->isNaN : Symbol(isNaN, Decl(underscoreTest1_underscore.ts, 613, 39)) +>isNaN : Symbol(Static.isNaN, Decl(underscoreTest1_underscore.ts, 613, 39)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 614, 14)) isNull(object: any): boolean; ->isNull : Symbol(isNull, Decl(underscoreTest1_underscore.ts, 614, 36)) +>isNull : Symbol(Static.isNull, Decl(underscoreTest1_underscore.ts, 614, 36)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 615, 15)) isUndefined(value: any): boolean; ->isUndefined : Symbol(isUndefined, Decl(underscoreTest1_underscore.ts, 615, 37)) +>isUndefined : Symbol(Static.isUndefined, Decl(underscoreTest1_underscore.ts, 615, 37)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 616, 20)) noConflict(): Static; ->noConflict : Symbol(noConflict, Decl(underscoreTest1_underscore.ts, 616, 41)) +>noConflict : Symbol(Static.noConflict, Decl(underscoreTest1_underscore.ts, 616, 41)) >Static : Symbol(Static, Decl(underscoreTest1_underscore.ts, 385, 5)) identity(value: T): T; ->identity : Symbol(identity, Decl(underscoreTest1_underscore.ts, 618, 29)) +>identity : Symbol(Static.identity, Decl(underscoreTest1_underscore.ts, 618, 29)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 620, 17)) >value : Symbol(value, Decl(underscoreTest1_underscore.ts, 620, 20)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 620, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 620, 17)) times(n: number, iterator: Iterator, context?: any): U[]; ->times : Symbol(times, Decl(underscoreTest1_underscore.ts, 620, 33)) +>times : Symbol(Static.times, Decl(underscoreTest1_underscore.ts, 620, 33)) >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 622, 14)) >n : Symbol(n, Decl(underscoreTest1_underscore.ts, 622, 17)) >iterator : Symbol(iterator, Decl(underscoreTest1_underscore.ts, 622, 27)) @@ -4844,49 +4844,49 @@ module Underscore { >U : Symbol(U, Decl(underscoreTest1_underscore.ts, 622, 14)) random(max: number): number; ->random : Symbol(random, Decl(underscoreTest1_underscore.ts, 622, 79), Decl(underscoreTest1_underscore.ts, 624, 36)) +>random : Symbol(Static.random, Decl(underscoreTest1_underscore.ts, 622, 79), Decl(underscoreTest1_underscore.ts, 624, 36)) >max : Symbol(max, Decl(underscoreTest1_underscore.ts, 624, 15)) random(min: number, max: number): number; ->random : Symbol(random, Decl(underscoreTest1_underscore.ts, 622, 79), Decl(underscoreTest1_underscore.ts, 624, 36)) +>random : Symbol(Static.random, Decl(underscoreTest1_underscore.ts, 622, 79), Decl(underscoreTest1_underscore.ts, 624, 36)) >min : Symbol(min, Decl(underscoreTest1_underscore.ts, 625, 15)) >max : Symbol(max, Decl(underscoreTest1_underscore.ts, 625, 27)) mixin(object: any): void; ->mixin : Symbol(mixin, Decl(underscoreTest1_underscore.ts, 625, 49)) +>mixin : Symbol(Static.mixin, Decl(underscoreTest1_underscore.ts, 625, 49)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 627, 14)) uniqueId(): number; ->uniqueId : Symbol(uniqueId, Decl(underscoreTest1_underscore.ts, 627, 33), Decl(underscoreTest1_underscore.ts, 629, 27)) +>uniqueId : Symbol(Static.uniqueId, Decl(underscoreTest1_underscore.ts, 627, 33), Decl(underscoreTest1_underscore.ts, 629, 27)) uniqueId(prefix: string): string; ->uniqueId : Symbol(uniqueId, Decl(underscoreTest1_underscore.ts, 627, 33), Decl(underscoreTest1_underscore.ts, 629, 27)) +>uniqueId : Symbol(Static.uniqueId, Decl(underscoreTest1_underscore.ts, 627, 33), Decl(underscoreTest1_underscore.ts, 629, 27)) >prefix : Symbol(prefix, Decl(underscoreTest1_underscore.ts, 630, 17)) escape(s: string): string; ->escape : Symbol(escape, Decl(underscoreTest1_underscore.ts, 630, 41)) +>escape : Symbol(Static.escape, Decl(underscoreTest1_underscore.ts, 630, 41)) >s : Symbol(s, Decl(underscoreTest1_underscore.ts, 632, 15)) unescape(s: string): string; ->unescape : Symbol(unescape, Decl(underscoreTest1_underscore.ts, 632, 34)) +>unescape : Symbol(Static.unescape, Decl(underscoreTest1_underscore.ts, 632, 34)) >s : Symbol(s, Decl(underscoreTest1_underscore.ts, 634, 17)) result(object: any, property: string): any; ->result : Symbol(result, Decl(underscoreTest1_underscore.ts, 634, 36)) +>result : Symbol(Static.result, Decl(underscoreTest1_underscore.ts, 634, 36)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 636, 15)) >property : Symbol(property, Decl(underscoreTest1_underscore.ts, 636, 27)) templateSettings: TemplateSettings; ->templateSettings : Symbol(templateSettings, Decl(underscoreTest1_underscore.ts, 636, 51)) +>templateSettings : Symbol(Static.templateSettings, Decl(underscoreTest1_underscore.ts, 636, 51)) >TemplateSettings : Symbol(TemplateSettings, Decl(underscoreTest1_underscore.ts, 378, 5)) template(templateString: string): (data: any) => string; ->template : Symbol(template, Decl(underscoreTest1_underscore.ts, 638, 43), Decl(underscoreTest1_underscore.ts, 640, 64)) +>template : Symbol(Static.template, Decl(underscoreTest1_underscore.ts, 638, 43), Decl(underscoreTest1_underscore.ts, 640, 64)) >templateString : Symbol(templateString, Decl(underscoreTest1_underscore.ts, 640, 17)) >data : Symbol(data, Decl(underscoreTest1_underscore.ts, 640, 43)) template(templateString: string, data: any, settings?: TemplateSettings): string; ->template : Symbol(template, Decl(underscoreTest1_underscore.ts, 638, 43), Decl(underscoreTest1_underscore.ts, 640, 64)) +>template : Symbol(Static.template, Decl(underscoreTest1_underscore.ts, 638, 43), Decl(underscoreTest1_underscore.ts, 640, 64)) >templateString : Symbol(templateString, Decl(underscoreTest1_underscore.ts, 641, 17)) >data : Symbol(data, Decl(underscoreTest1_underscore.ts, 641, 40)) >settings : Symbol(settings, Decl(underscoreTest1_underscore.ts, 641, 51)) diff --git a/tests/baselines/reference/unionAndIntersectionInference1.symbols b/tests/baselines/reference/unionAndIntersectionInference1.symbols index 5e96790ea34..685b21dd215 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.symbols +++ b/tests/baselines/reference/unionAndIntersectionInference1.symbols @@ -157,21 +157,21 @@ interface Man { >Man : Symbol(Man, Decl(unionAndIntersectionInference1.ts, 51, 23)) walks: boolean; ->walks : Symbol(walks, Decl(unionAndIntersectionInference1.ts, 55, 15)) +>walks : Symbol(Man.walks, Decl(unionAndIntersectionInference1.ts, 55, 15)) } interface Bear { >Bear : Symbol(Bear, Decl(unionAndIntersectionInference1.ts, 57, 1)) roars: boolean; ->roars : Symbol(roars, Decl(unionAndIntersectionInference1.ts, 59, 16)) +>roars : Symbol(Bear.roars, Decl(unionAndIntersectionInference1.ts, 59, 16)) } interface Pig { >Pig : Symbol(Pig, Decl(unionAndIntersectionInference1.ts, 61, 1)) oinks: boolean; ->oinks : Symbol(oinks, Decl(unionAndIntersectionInference1.ts, 63, 15)) +>oinks : Symbol(Pig.oinks, Decl(unionAndIntersectionInference1.ts, 63, 15)) } declare function pigify(y: T & Bear): T & Pig; diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.symbols b/tests/baselines/reference/unionTypeFromArrayLiteral.symbols index 74047b6be11..7699e89dedd 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.symbols +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.symbols @@ -27,21 +27,21 @@ var arr5Tuple: { } = ["hello", true, false, " hello", true, 10, "any"]; // Tuple class C { foo() { } } >C : Symbol(C, Decl(unionTypeFromArrayLiteral.ts, 13, 54)) ->foo : Symbol(foo, Decl(unionTypeFromArrayLiteral.ts, 14, 9)) +>foo : Symbol(C.foo, Decl(unionTypeFromArrayLiteral.ts, 14, 9)) class D { foo2() { } } >D : Symbol(D, Decl(unionTypeFromArrayLiteral.ts, 14, 21)) ->foo2 : Symbol(foo2, Decl(unionTypeFromArrayLiteral.ts, 15, 9)) +>foo2 : Symbol(D.foo2, Decl(unionTypeFromArrayLiteral.ts, 15, 9)) class E extends C { foo3() { } } >E : Symbol(E, Decl(unionTypeFromArrayLiteral.ts, 15, 22)) >C : Symbol(C, Decl(unionTypeFromArrayLiteral.ts, 13, 54)) ->foo3 : Symbol(foo3, Decl(unionTypeFromArrayLiteral.ts, 16, 19)) +>foo3 : Symbol(E.foo3, Decl(unionTypeFromArrayLiteral.ts, 16, 19)) class F extends C { foo4() { } } >F : Symbol(F, Decl(unionTypeFromArrayLiteral.ts, 16, 32)) >C : Symbol(C, Decl(unionTypeFromArrayLiteral.ts, 13, 54)) ->foo4 : Symbol(foo4, Decl(unionTypeFromArrayLiteral.ts, 17, 19)) +>foo4 : Symbol(F.foo4, Decl(unionTypeFromArrayLiteral.ts, 17, 19)) var c: C, d: D, e: E, f: F; >c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 3)) diff --git a/tests/baselines/reference/unionTypeParameterInference.symbols b/tests/baselines/reference/unionTypeParameterInference.symbols index f2dbaac31ff..0e7e53f4049 100644 --- a/tests/baselines/reference/unionTypeParameterInference.symbols +++ b/tests/baselines/reference/unionTypeParameterInference.symbols @@ -4,7 +4,7 @@ interface Foo { prop: T; } >Foo : Symbol(Foo, Decl(unionTypeParameterInference.ts, 0, 0)) >T : Symbol(T, Decl(unionTypeParameterInference.ts, 2, 14)) ->prop : Symbol(prop, Decl(unionTypeParameterInference.ts, 2, 18)) +>prop : Symbol(Foo.prop, Decl(unionTypeParameterInference.ts, 2, 18)) >T : Symbol(T, Decl(unionTypeParameterInference.ts, 2, 14)) declare function lift(value: U | Foo): Foo; diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.symbols b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.symbols index 24ba3b8a8cd..3056f8d21c0 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.symbols +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.symbols @@ -3,7 +3,7 @@ class Module { >Module : Symbol(Module, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 0, 0)) public members: Class[]; ->members : Symbol(members, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 0, 14)) +>members : Symbol(Module.members, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 0, 14)) >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 6, 1)) } @@ -11,7 +11,7 @@ class Namespace { >Namespace : Symbol(Namespace, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 2, 1)) public members: (Class | Property)[]; ->members : Symbol(members, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 4, 17)) +>members : Symbol(Namespace.members, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 4, 17)) >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 6, 1)) >Property : Symbol(Property, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 10, 1)) } @@ -20,7 +20,7 @@ class Class { >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 6, 1)) public parent: Namespace; ->parent : Symbol(parent, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 8, 13)) +>parent : Symbol(Class.parent, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 8, 13)) >Namespace : Symbol(Namespace, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 2, 1)) } @@ -28,7 +28,7 @@ class Property { >Property : Symbol(Property, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 10, 1)) public parent: Module | Class; ->parent : Symbol(parent, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 12, 16)) +>parent : Symbol(Property.parent, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 12, 16)) >Module : Symbol(Module, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 0, 0)) >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction1.ts, 6, 1)) } diff --git a/tests/baselines/reference/unusedImportDeclaration.symbols b/tests/baselines/reference/unusedImportDeclaration.symbols index a298ba94631..6a65f360559 100644 --- a/tests/baselines/reference/unusedImportDeclaration.symbols +++ b/tests/baselines/reference/unusedImportDeclaration.symbols @@ -25,7 +25,7 @@ class TesterB { >TesterB : Symbol(TesterB, Decl(unusedImportDeclaration_testerB.ts, 0, 0)) me: string; ->me : Symbol(me, Decl(unusedImportDeclaration_testerB.ts, 0, 15)) +>me : Symbol(TesterB.me, Decl(unusedImportDeclaration_testerB.ts, 0, 15)) } export = TesterB; >TesterB : Symbol(TesterB, Decl(unusedImportDeclaration_testerB.ts, 0, 0)) diff --git a/tests/baselines/reference/usingModuleWithExportImportInValuePosition.symbols b/tests/baselines/reference/usingModuleWithExportImportInValuePosition.symbols index a918e3ddec7..fc049a84260 100644 --- a/tests/baselines/reference/usingModuleWithExportImportInValuePosition.symbols +++ b/tests/baselines/reference/usingModuleWithExportImportInValuePosition.symbols @@ -9,8 +9,8 @@ export class Point { >Point : Symbol(Point, Decl(usingModuleWithExportImportInValuePosition.ts, 1, 28)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(usingModuleWithExportImportInValuePosition.ts, 3, 20)) ->y : Symbol(y, Decl(usingModuleWithExportImportInValuePosition.ts, 3, 37)) +>x : Symbol(Point.x, Decl(usingModuleWithExportImportInValuePosition.ts, 3, 20)) +>y : Symbol(Point.y, Decl(usingModuleWithExportImportInValuePosition.ts, 3, 37)) } export module B { >B : Symbol(B, Decl(usingModuleWithExportImportInValuePosition.ts, 4, 5)) @@ -19,7 +19,7 @@ export class Point { >Id : Symbol(Id, Decl(usingModuleWithExportImportInValuePosition.ts, 5, 21)) name: string; ->name : Symbol(name, Decl(usingModuleWithExportImportInValuePosition.ts, 6, 29)) +>name : Symbol(Id.name, Decl(usingModuleWithExportImportInValuePosition.ts, 6, 29)) } } } diff --git a/tests/baselines/reference/validUndefinedAssignments.symbols b/tests/baselines/reference/validUndefinedAssignments.symbols index 791834eefde..802bf55fee6 100644 --- a/tests/baselines/reference/validUndefinedAssignments.symbols +++ b/tests/baselines/reference/validUndefinedAssignments.symbols @@ -30,7 +30,7 @@ e = x; // should work class C { foo: string } >C : Symbol(C, Decl(validUndefinedAssignments.ts, 8, 6)) ->foo : Symbol(foo, Decl(validUndefinedAssignments.ts, 10, 9)) +>foo : Symbol(C.foo, Decl(validUndefinedAssignments.ts, 10, 9)) var f: C; >f : Symbol(f, Decl(validUndefinedAssignments.ts, 11, 3)) @@ -42,7 +42,7 @@ f = x; interface I { foo: string } >I : Symbol(I, Decl(validUndefinedAssignments.ts, 12, 6)) ->foo : Symbol(foo, Decl(validUndefinedAssignments.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(validUndefinedAssignments.ts, 14, 13)) var g: I; >g : Symbol(g, Decl(validUndefinedAssignments.ts, 15, 3)) diff --git a/tests/baselines/reference/validUseOfThisInSuper.symbols b/tests/baselines/reference/validUseOfThisInSuper.symbols index 2e71c859a4f..650eec44dde 100644 --- a/tests/baselines/reference/validUseOfThisInSuper.symbols +++ b/tests/baselines/reference/validUseOfThisInSuper.symbols @@ -3,7 +3,7 @@ class Base { >Base : Symbol(Base, Decl(validUseOfThisInSuper.ts, 0, 0)) constructor(public b: Base) { ->b : Symbol(b, Decl(validUseOfThisInSuper.ts, 1, 16)) +>b : Symbol(Base.b, Decl(validUseOfThisInSuper.ts, 1, 16)) >Base : Symbol(Base, Decl(validUseOfThisInSuper.ts, 0, 0)) } } diff --git a/tests/baselines/reference/varArgsOnConstructorTypes.symbols b/tests/baselines/reference/varArgsOnConstructorTypes.symbols index 2b391612356..e810955f443 100644 --- a/tests/baselines/reference/varArgsOnConstructorTypes.symbols +++ b/tests/baselines/reference/varArgsOnConstructorTypes.symbols @@ -11,10 +11,10 @@ export class B extends A { >A : Symbol(A, Decl(varArgsOnConstructorTypes.ts, 0, 0)) private p1: number; ->p1 : Symbol(p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) +>p1 : Symbol(B.p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) private p2: string; ->p2 : Symbol(p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) +>p2 : Symbol(B.p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) constructor(element: any, url: string) { >element : Symbol(element, Decl(varArgsOnConstructorTypes.ts, 8, 16)) @@ -25,15 +25,15 @@ export class B extends A { >element : Symbol(element, Decl(varArgsOnConstructorTypes.ts, 8, 16)) this.p1 = element; ->this.p1 : Symbol(p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) +>this.p1 : Symbol(B.p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) >this : Symbol(B, Decl(varArgsOnConstructorTypes.ts, 2, 1)) ->p1 : Symbol(p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) +>p1 : Symbol(B.p1, Decl(varArgsOnConstructorTypes.ts, 4, 26)) >element : Symbol(element, Decl(varArgsOnConstructorTypes.ts, 8, 16)) this.p2 = url; ->this.p2 : Symbol(p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) +>this.p2 : Symbol(B.p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) >this : Symbol(B, Decl(varArgsOnConstructorTypes.ts, 2, 1)) ->p2 : Symbol(p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) +>p2 : Symbol(B.p2, Decl(varArgsOnConstructorTypes.ts, 5, 23)) >url : Symbol(url, Decl(varArgsOnConstructorTypes.ts, 8, 29)) } } @@ -42,13 +42,13 @@ export interface I1 { >I1 : Symbol(I1, Decl(varArgsOnConstructorTypes.ts, 13, 1)) register(inputClass: new(...params: any[]) => A); ->register : Symbol(register, Decl(varArgsOnConstructorTypes.ts, 15, 21), Decl(varArgsOnConstructorTypes.ts, 16, 53)) +>register : Symbol(I1.register, Decl(varArgsOnConstructorTypes.ts, 15, 21), Decl(varArgsOnConstructorTypes.ts, 16, 53)) >inputClass : Symbol(inputClass, Decl(varArgsOnConstructorTypes.ts, 16, 13)) >params : Symbol(params, Decl(varArgsOnConstructorTypes.ts, 16, 29)) >A : Symbol(A, Decl(varArgsOnConstructorTypes.ts, 0, 0)) register(inputClass: { new (...params: any[]): A; }[]); ->register : Symbol(register, Decl(varArgsOnConstructorTypes.ts, 15, 21), Decl(varArgsOnConstructorTypes.ts, 16, 53)) +>register : Symbol(I1.register, Decl(varArgsOnConstructorTypes.ts, 15, 21), Decl(varArgsOnConstructorTypes.ts, 16, 53)) >inputClass : Symbol(inputClass, Decl(varArgsOnConstructorTypes.ts, 17, 13)) >params : Symbol(params, Decl(varArgsOnConstructorTypes.ts, 17, 32)) >A : Symbol(A, Decl(varArgsOnConstructorTypes.ts, 0, 0)) diff --git a/tests/baselines/reference/varAsID.symbols b/tests/baselines/reference/varAsID.symbols index accc605e347..6206fa5901c 100644 --- a/tests/baselines/reference/varAsID.symbols +++ b/tests/baselines/reference/varAsID.symbols @@ -4,10 +4,10 @@ class Foo { >Foo : Symbol(Foo, Decl(varAsID.ts, 0, 0)) var; // ok ->var : Symbol(var, Decl(varAsID.ts, 1, 11)) +>var : Symbol(Foo.var, Decl(varAsID.ts, 1, 11)) x=1; ->x : Symbol(x, Decl(varAsID.ts, 2, 8)) +>x : Symbol(Foo.x, Decl(varAsID.ts, 2, 8)) } var f = new Foo(); @@ -19,10 +19,10 @@ class Foo2 { >Foo2 : Symbol(Foo2, Decl(varAsID.ts, 6, 18)) var // not an error, because of ASI. ->var : Symbol(var, Decl(varAsID.ts, 9, 12)) +>var : Symbol(Foo2.var, Decl(varAsID.ts, 9, 12)) x=1; ->x : Symbol(x, Decl(varAsID.ts, 10, 7)) +>x : Symbol(Foo2.x, Decl(varAsID.ts, 10, 7)) } var f2 = new Foo2(); diff --git a/tests/baselines/reference/vardecl.symbols b/tests/baselines/reference/vardecl.symbols index 0860fc19500..98e6f1b5330 100644 --- a/tests/baselines/reference/vardecl.symbols +++ b/tests/baselines/reference/vardecl.symbols @@ -150,7 +150,7 @@ module m2 { >C : Symbol(C, Decl(vardecl.ts, 65, 11)) constructor (public b) { ->b : Symbol(b, Decl(vardecl.ts, 68, 21)) +>b : Symbol(C.b, Decl(vardecl.ts, 68, 21)) } } @@ -158,7 +158,7 @@ module m2 { >C2 : Symbol(C2, Decl(vardecl.ts, 70, 5)) constructor (public b) { ->b : Symbol(b, Decl(vardecl.ts, 73, 21)) +>b : Symbol(C2.b, Decl(vardecl.ts, 73, 21)) } } var m; diff --git a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols index d1132151097..6b685cd13a4 100644 --- a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols +++ b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols @@ -32,12 +32,12 @@ export interface IConfiguration { >IConfiguration : Symbol(IConfiguration, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 3, 69)) workspace: server.IWorkspace; ->workspace : Symbol(workspace, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 5, 33)) +>workspace : Symbol(IConfiguration.workspace, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 5, 33)) >server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 61)) >IWorkspace : Symbol(server.IWorkspace, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 1, 1)) server?: server.IServer; ->server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 6, 33)) +>server : Symbol(IConfiguration.server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 6, 33)) >server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 61)) >IServer : Symbol(server.IServer, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 0, 0)) } @@ -51,7 +51,7 @@ export interface IWorkspace { >IWorkspace : Symbol(IWorkspace, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 1, 1)) toAbsolutePath(server: IServer, workspaceRelativePath?: string): string; ->toAbsolutePath : Symbol(toAbsolutePath, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 3, 29)) +>toAbsolutePath : Symbol(IWorkspace.toAbsolutePath, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 3, 29)) >server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 4, 19)) >IServer : Symbol(IServer, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 0, 0)) >workspaceRelativePath : Symbol(workspaceRelativePath, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 4, 35)) diff --git a/tests/baselines/reference/visibilityOfTypeParameters.symbols b/tests/baselines/reference/visibilityOfTypeParameters.symbols index 1380822e9b2..1f80a77e2b3 100644 --- a/tests/baselines/reference/visibilityOfTypeParameters.symbols +++ b/tests/baselines/reference/visibilityOfTypeParameters.symbols @@ -4,7 +4,7 @@ export class MyClass { >MyClass : Symbol(MyClass, Decl(visibilityOfTypeParameters.ts, 0, 0)) protected myMethod(val: T): T { ->myMethod : Symbol(myMethod, Decl(visibilityOfTypeParameters.ts, 1, 22)) +>myMethod : Symbol(MyClass.myMethod, Decl(visibilityOfTypeParameters.ts, 1, 22)) >T : Symbol(T, Decl(visibilityOfTypeParameters.ts, 2, 23)) >val : Symbol(val, Decl(visibilityOfTypeParameters.ts, 2, 26)) >T : Symbol(T, Decl(visibilityOfTypeParameters.ts, 2, 23)) diff --git a/tests/baselines/reference/voidOperatorWithBooleanType.symbols b/tests/baselines/reference/voidOperatorWithBooleanType.symbols index 1d044a6d9c6..b8132c2a993 100644 --- a/tests/baselines/reference/voidOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/voidOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(voidOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(voidOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(voidOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(voidOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/voidOperatorWithNumberType.symbols b/tests/baselines/reference/voidOperatorWithNumberType.symbols index 43f10478499..ae8371a6bab 100644 --- a/tests/baselines/reference/voidOperatorWithNumberType.symbols +++ b/tests/baselines/reference/voidOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(voidOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(voidOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(voidOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(voidOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/voidOperatorWithStringType.symbols b/tests/baselines/reference/voidOperatorWithStringType.symbols index 64fb0e600e8..448b5f79c00 100644 --- a/tests/baselines/reference/voidOperatorWithStringType.symbols +++ b/tests/baselines/reference/voidOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(voidOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(voidOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(voidOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(voidOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/withImportDecl.symbols b/tests/baselines/reference/withImportDecl.symbols index ae41e927cfa..4ba677d8878 100644 --- a/tests/baselines/reference/withImportDecl.symbols +++ b/tests/baselines/reference/withImportDecl.symbols @@ -80,5 +80,5 @@ b.foo; === tests/cases/compiler/withImportDecl_0.ts === export class A { foo: string; } >A : Symbol(A, Decl(withImportDecl_0.ts, 0, 0)) ->foo : Symbol(foo, Decl(withImportDecl_0.ts, 0, 16)) +>foo : Symbol(A.foo, Decl(withImportDecl_0.ts, 0, 16)) diff --git a/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols b/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols index b0128b37797..c374f1c02f3 100644 --- a/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols +++ b/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols @@ -7,11 +7,11 @@ class C { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) constructor(public data: T) { } ->data : Symbol(data, Decl(wrappedAndRecursiveConstraints.ts, 3, 16)) +>data : Symbol(C.data, Decl(wrappedAndRecursiveConstraints.ts, 3, 16)) >T : Symbol(T, Decl(wrappedAndRecursiveConstraints.ts, 2, 8)) foo(x: U) { ->foo : Symbol(foo, Decl(wrappedAndRecursiveConstraints.ts, 3, 35)) +>foo : Symbol(C.foo, Decl(wrappedAndRecursiveConstraints.ts, 3, 35)) >U : Symbol(U, Decl(wrappedAndRecursiveConstraints.ts, 4, 8)) >T : Symbol(T, Decl(wrappedAndRecursiveConstraints.ts, 2, 8)) >x : Symbol(x, Decl(wrappedAndRecursiveConstraints.ts, 4, 21)) @@ -27,7 +27,7 @@ interface Foo extends Date { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: string; ->foo : Symbol(foo, Decl(wrappedAndRecursiveConstraints.ts, 9, 28)) +>foo : Symbol(Foo.foo, Decl(wrappedAndRecursiveConstraints.ts, 9, 28)) } var y: Foo = null; diff --git a/tests/baselines/reference/wrappedAndRecursiveConstraints3.symbols b/tests/baselines/reference/wrappedAndRecursiveConstraints3.symbols index 06279a5c264..db796c6eca0 100644 --- a/tests/baselines/reference/wrappedAndRecursiveConstraints3.symbols +++ b/tests/baselines/reference/wrappedAndRecursiveConstraints3.symbols @@ -11,7 +11,7 @@ class C { >T : Symbol(T, Decl(wrappedAndRecursiveConstraints3.ts, 2, 8)) foo(x: U) { ->foo : Symbol(foo, Decl(wrappedAndRecursiveConstraints3.ts, 3, 25)) +>foo : Symbol(C.foo, Decl(wrappedAndRecursiveConstraints3.ts, 3, 25)) >U : Symbol(U, Decl(wrappedAndRecursiveConstraints3.ts, 4, 8)) >T : Symbol(T, Decl(wrappedAndRecursiveConstraints3.ts, 2, 8)) >x : Symbol(x, Decl(wrappedAndRecursiveConstraints3.ts, 4, 21)) From 92bee6a533ed621602af5e550366bf80c88700c0 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 13:49:36 -0700 Subject: [PATCH 231/342] Unify error message for custom-type compiler option --- src/compiler/commandLineParser.ts | 35 +- src/compiler/diagnosticMessages.json | 10 +- src/compiler/types.ts | 1 - tests/cases/unittests/commandLineParsing.ts | 195 +++++++++-- .../convertCompilerOptionsFromJson.ts | 304 +++++++++++++++--- 5 files changed, 451 insertions(+), 94 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index cd05bb0b2c8..edac2891a58 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -58,7 +58,6 @@ namespace ts { }, paramType: Diagnostics.KIND, description: Diagnostics.Specify_JSX_code_generation_Colon_preserve_or_react, - error: Diagnostics.Argument_for_jsx_must_be_preserve_or_react }, { name: "reactNamespace", @@ -94,7 +93,6 @@ namespace ts { }, description: Diagnostics.Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015, paramType: Diagnostics.KIND, - error: Diagnostics.Argument_for_module_option_must_be_commonjs_amd_system_umd_es2015_or_none }, { name: "newLine", @@ -104,7 +102,6 @@ namespace ts { }, description: Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix, paramType: Diagnostics.NEWLINE, - error: Diagnostics.Argument_for_newLine_option_must_be_CRLF_or_LF }, { name: "noEmit", @@ -233,7 +230,6 @@ namespace ts { }, description: Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015, paramType: Diagnostics.VERSION, - error: Diagnostics.Argument_for_target_option_must_be_ES3_ES5_or_ES2015 }, { name: "version", @@ -265,7 +261,6 @@ namespace ts { "classic": ModuleResolutionKind.Classic, }, description: Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, - error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic, }, { name: "lib", @@ -297,7 +292,6 @@ namespace ts { "es6.symbol.wellknown": "lib.es6.symbol.wellknown.d.ts", "es7.array.include": "lib.es7.array.include.d.ts" }, - error: Diagnostics.Arguments_for_library_option_must_be_Colon_0, }, description: Diagnostics.Specify_library_to_be_included_in_the_compilation_Colon, }, @@ -423,25 +417,15 @@ namespace ts { return optionNameMapCache; } - // Cache between the name of commandline which is a custom type and a list of all possible custom types - const namesOfCustomTypeMapCache: Map = {}; - /* @internal */ - export function getNamesOfCustomTypeFromCommandLineOptionsOfCustomType(opt: CommandLineOptionOfCustomType): string[] { - if (hasProperty(namesOfCustomTypeMapCache, opt.name)) { - return namesOfCustomTypeMapCache[opt.name]; - } + export function createCompilerDiagnosticForInvalidCustomType(opt: CommandLineOptionOfCustomType): Diagnostic { - const type = opt.type; const namesOfType: string[] = []; - for (const typeName in type) { - if (hasProperty(type, typeName)) { - namesOfType.push(typeName); - } - } + ts.forEachKey(opt.type, key => { + namesOfType.push(` '${key}'`); + }); - namesOfCustomTypeMapCache[opt.name] = namesOfType; - return namesOfCustomTypeMapCache[opt.name]; + return createCompilerDiagnostic(Diagnostics.Argument_for_0_option_must_be_Colon_1, `--${opt.name}`, namesOfType); } export function parseCommandLine(commandLine: string[], readFile?: (path: string) => string): ParsedCommandLine { @@ -518,19 +502,18 @@ namespace ts { } function parseCustomTypeOption(opt: CommandLineOptionOfCustomType, value: string) { + const key = (value || "").trim().toLowerCase(); const map = opt.type; - const key = (value || "").toLowerCase(); if (hasProperty(map, key)) { return map[key]; } else { - const suggestedOption = getNamesOfCustomTypeFromCommandLineOptionsOfCustomType(opt); - errors.push(createCompilerDiagnostic(opt.error, suggestedOption ? suggestedOption : undefined)); + errors.push(createCompilerDiagnosticForInvalidCustomType(opt)); } } function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): (number | string)[] { - const values = (value.trim() || "").split(","); + const values = (value || "").trim().split(","); switch (opt.element.type) { case "number": return ts.map(values, parseInt); @@ -788,7 +771,7 @@ namespace ts { return opt.type[key]; } else { - errors.push(createCompilerDiagnostic(opt.error)); + errors.push(createCompilerDiagnosticForInvalidCustomType(opt)); } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index c655faf4f3c..1abcc7a8d0a 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2364,14 +2364,10 @@ "category": "Error", "code": 6045 }, - "Argument for '--module' option must be 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'none'.": { + "Argument for '{0}' option must be: {1}": { "category": "Error", "code": 6046 }, - "Argument for '--target' option must be 'ES3', 'ES5', or 'ES2015'.": { - "category": "Error", - "code": 6047 - }, "Locale must be of the form or -. For example '{0}' or '{1}'.": { "category": "Error", "code": 6048 @@ -2424,10 +2420,6 @@ "category": "Message", "code": 6061 }, - "Argument for '--newLine' option must be 'CRLF' or 'LF'.": { - "category": "Error", - "code": 6062 - }, "Argument for '--moduleResolution' option must be 'node' or 'classic'.": { "category": "Error", "code": 6063 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 85febc5e968..0fdcc6300b8 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2549,7 +2549,6 @@ namespace ts { /* @internal */ export interface CommandLineOptionOfCustomType extends CommandLineOptionBase { type: Map; // an object literal mapping named values to actual values - error: DiagnosticMessage; // The error given when the argument does not fit a customized 'type' } /* @internal */ diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts index 275bba54f01..5476ec0a5b9 100644 --- a/tests/cases/unittests/commandLineParsing.ts +++ b/tests/cases/unittests/commandLineParsing.ts @@ -16,8 +16,9 @@ namespace ts { for (let i = 0; i < parsedErrors.length; ++i) { const parsedError = parsedErrors[i]; const expectedError = expectedErrors[i]; - assert.equal(parsedError.code, expectedError.code, `Expected error-code: ${JSON.stringify(expectedError.code)}. Actual error-code: ${JSON.stringify(parsedError.code)}.`); - assert.equal(parsedError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(parsedError.category)}.`); + assert.equal(parsedError.code, expectedError.code); + assert.equal(parsedError.category, expectedError.category); + assert.equal(parsedError.messageText, expectedError.messageText); } const parsedFileNames = parsed.fileNames; @@ -26,7 +27,7 @@ namespace ts { for (let i = 0; i < parsedFileNames.length; ++i) { const parsedFileName = parsedFileNames[i]; const expectedFileName = expectedFileNames[i]; - assert.equal(parsedFileName, expectedFileName, `Expected filename: ${JSON.stringify(expectedFileName)}. Actual fileName: ${JSON.stringify(parsedFileName)}.`); + assert.equal(parsedFileName, expectedFileName); } } @@ -59,9 +60,9 @@ namespace ts { assertParseResult(["--lib", "es5,es8", "0.ts"], { errors: [{ - messageText: "", - category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, - code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, start: undefined, @@ -74,14 +75,172 @@ namespace ts { }); }); - it("Parse incorrect form of library flags ", () => { + it("Parse empty options of --jsx ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--jsx"], + { + errors: [{ + messageText: "Compiler option 'jsx' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--jsx' option must be: 'preserve', 'react'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: {} + }); + }); + + it("Parse empty options of --module ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--module"], + { + errors: [{ + messageText: "Compiler option 'module' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: {} + }); + }); + + it("Parse empty options of --newLine ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--newLine"], + { + errors: [{ + messageText: "Compiler option 'newLine' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--newLine' option must be: 'crlf', 'lf'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: {} + }); + }); + + it("Parse empty options of --target ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--target"], + { + errors: [{ + messageText: "Compiler option 'target' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: {} + }); + }); + + it("Parse empty options of --moduleResolution ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--moduleResolution"], + { + errors: [{ + messageText: "Compiler option 'moduleResolution' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--moduleResolution' option must be: 'node', 'classic'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: {} + }); + }); + + it("Parse empty options of --lib ", () => { + // 0.ts --lib + assertParseResult(["0.ts", "--lib"], + { + errors: [{ + messageText: "Compiler option 'lib' expects an argument.", + category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, + code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, + + file: undefined, + start: undefined, + length: undefined, + }, { + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + + file: undefined, + start: undefined, + length: undefined, + }], + fileNames: ["0.ts"], + options: { + lib: [] + } + }); + }); + + it("Parse --lib option with extra comma ", () => { // --lib es5, es7 0.ts assertParseResult(["--lib", "es5,", "es7", "0.ts"], { errors: [{ - messageText: "", - category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, - code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, start: undefined, @@ -94,14 +253,14 @@ namespace ts { }); }); - it("Parse incorrect form of library flags with trailing white-space ", () => { + it("Parse --lib option with trailing white-space ", () => { // --lib es5, es7 0.ts assertParseResult(["--lib", "es5, ", "es7", "0.ts"], { errors: [{ - messageText: "", - category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, - code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, start: undefined, @@ -141,14 +300,14 @@ namespace ts { }); }); - it("Parse incorrect form of multiple compiler flags with input files in the middle", () => { + it("Parse --lib as the last arguments", () => { // --module commonjs --target es5 0.ts --lib es5, es6.symbol.wellknown assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,", "es6.symbol.wellknown"], { errors: [{ - messageText: "", - category: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.category, - code: ts.Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, + code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, start: undefined, diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index 14674e18e3f..5c172e33af1 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -16,8 +16,9 @@ namespace ts { for (let i = 0; i < actualErrors.length; ++i) { const actualError = actualErrors[i]; const expectedError = expectedErrors[i]; - assert.equal(actualError.code, expectedError.code, `Expected error-code: ${JSON.stringify(expectedError.code)}. Actual error-code: ${JSON.stringify(actualError.code)}.`); - assert.equal(actualError.category, expectedError.category, `Expected error-category: ${JSON.stringify(expectedError.category)}. Actual error-category: ${JSON.stringify(actualError.category)}.`); + assert.equal(actualError.code, expectedError.code); + assert.equal(actualError.category, expectedError.category); + assert.equal(actualError.messageText, expectedError.messageText); } } @@ -71,7 +72,145 @@ namespace ts { } ); }); - + + it("Convert incorrectly option of jsx to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "jsx": "" + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--jsx' option must be: 'preserve', 'react'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert incorrectly option of module to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + } + }, "tsconfig.json", + { + compilerOptions: { + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert incorrectly option of newLine to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "newLine": "", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + } + }, "tsconfig.json", + { + compilerOptions: { + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--newLine' option must be: 'crlf', 'lf'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert incorrectly option of target to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "target": "", + "noImplicitAny": false, + "sourceMap": false, + } + }, "tsconfig.json", + { + compilerOptions: { + noImplicitAny: false, + sourceMap: false, + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert incorrectly option of module-resolution to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "moduleResolution": "", + "noImplicitAny": false, + "sourceMap": false, + } + }, "tsconfig.json", + { + compilerOptions: { + noImplicitAny: false, + sourceMap: false, + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--moduleResolution' option must be: 'node', 'classic'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + it("Convert incorrectly option of libs to compiler-options ", () => { assertCompilerOptions( { @@ -95,14 +234,131 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "", - code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, - category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] } ); }); + it("Convert empty string option of libs to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": ["es5", ""] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: ["lib.es5.d.ts"] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert empty string option of libs to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": [""] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: [] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert trailing-whitespace string option of libs to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": [" "] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: [] + }, + errors: [{ + file: undefined, + start: 0, + length: 0, + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", + code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, + category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category + }] + } + ); + }); + + it("Convert empty option of libs to compiler-options ", () => { + assertCompilerOptions( + { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": [] + } + }, "tsconfig.json", + { + compilerOptions: { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + lib: [] + }, + errors: [] + } + ); + }); + it("Convert incorrectly format tsconfig.json to compiler-options ", () => { assertCompilerOptions( { @@ -116,7 +372,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "", + messageText: "Unknown compiler option 'modu'.", code: Diagnostics.Unknown_compiler_option_0.code, category: Diagnostics.Unknown_compiler_option_0.category }] @@ -185,38 +441,6 @@ namespace ts { ); }); - it("Convert incorrectly option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": ["es5", "es6.array", "es8"] - } - }, "jsconfig.json", - { - compilerOptions: { - allowJs: true, - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "", - code: Diagnostics.Arguments_for_library_option_must_be_Colon_0.code, - category: Diagnostics.Arguments_for_library_option_must_be_Colon_0.category - }] - } - ); - }); - it("Convert incorrectly format jsconfig.json to compiler-options ", () => { assertCompilerOptions( { @@ -233,7 +457,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "", + messageText: "Unknown compiler option 'modu'.", code: Diagnostics.Unknown_compiler_option_0.code, category: Diagnostics.Unknown_compiler_option_0.category }] From f7a55fa5a232c87cb0178db50be2ff35cd58d0f8 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 14:08:49 -0700 Subject: [PATCH 232/342] Remove --lib --- src/compiler/commandLineParser.ts | 35 +--- tests/cases/unittests/commandLineParsing.ts | 170 ++---------------- .../convertCompilerOptionsFromJson.ts | 156 ---------------- 3 files changed, 12 insertions(+), 349 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index edac2891a58..67176e05980 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -262,39 +262,6 @@ namespace ts { }, description: Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, }, - { - name: "lib", - type: "list", - element: { - name: "lib", - type: { - // JavaScript only - "es5": "lib.es5.d.ts", - "es6": "lib.es6.d.ts", - "es7": "lib.es7.d.ts", - // Host only - "dom": "lib.dom.d.ts", - "webworker": "lib.webworker.d.ts", - "scripthost": "lib.scripthost.d.ts", - // ES6 Or ESNext By-feature options - "es6.array": "lib.es6.array.d.ts", - "es6.collection": "lib.es6.collection.d.ts", - "es6.function": "lib.es6.function.d.ts", - "es6.iterable": "lib.es6.iterable.d.ts", - "es6.math": "lib.es6.math.d.ts", - "es6.number": "lib.es6.number.d.ts", - "es6.object": "lib.es6.object.d.ts", - "es6.promise": "lib.es6.promise.d.ts", - "es6.proxy": "lib.es6.proxy.d.ts", - "es6.reflect": "lib.es6.reflect.d.ts", - "es6.regexp": "lib.es6.regexp.d.ts", - "es6.symbol": "lib.es6.symbol.d.ts", - "es6.symbol.wellknown": "lib.es6.symbol.wellknown.d.ts", - "es7.array.include": "lib.es7.array.include.d.ts" - }, - }, - description: Diagnostics.Specify_library_to_be_included_in_the_compilation_Colon, - }, { name: "allowUnusedLabels", type: "boolean", @@ -385,7 +352,7 @@ namespace ts { name: "exclude", type: "list", element: { - name: "include", + name: "exclude", type: "string" } } diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts index 5476ec0a5b9..2b6b470a3b3 100644 --- a/tests/cases/unittests/commandLineParsing.ts +++ b/tests/cases/unittests/commandLineParsing.ts @@ -31,52 +31,8 @@ namespace ts { } } - it("Parse single option of library flag ", () => { - // --lib es6 0.ts - assertParseResult(["--lib", "es6", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: ["lib.es6.d.ts"] - } - }); - }); - - it("Parse multiple options of library flags ", () => { - // --lib es5,es6.symbol.wellknown 0.ts - assertParseResult(["--lib", "es5,es6.symbol.wellknown", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"] - } - }); - }); - - it("Parse unavailable options of library flags ", () => { - // --lib es5,es7 0.ts - assertParseResult(["--lib", "es5,es8", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - it("Parse empty options of --jsx ", () => { - // 0.ts --lib + // 0.ts --jsx assertParseResult(["0.ts", "--jsx"], { errors: [{ @@ -102,7 +58,7 @@ namespace ts { }); it("Parse empty options of --module ", () => { - // 0.ts --lib + // 0.ts -- assertParseResult(["0.ts", "--module"], { errors: [{ @@ -128,7 +84,7 @@ namespace ts { }); it("Parse empty options of --newLine ", () => { - // 0.ts --lib + // 0.ts --newLine assertParseResult(["0.ts", "--newLine"], { errors: [{ @@ -154,7 +110,7 @@ namespace ts { }); it("Parse empty options of --target ", () => { - // 0.ts --lib + // 0.ts --target assertParseResult(["0.ts", "--target"], { errors: [{ @@ -180,7 +136,7 @@ namespace ts { }); it("Parse empty options of --moduleResolution ", () => { - // 0.ts --lib + // 0.ts --moduleResolution assertParseResult(["0.ts", "--moduleResolution"], { errors: [{ @@ -205,133 +161,29 @@ namespace ts { }); }); - it("Parse empty options of --lib ", () => { - // 0.ts --lib - assertParseResult(["0.ts", "--lib"], - { - errors: [{ - messageText: "Compiler option 'lib' expects an argument.", - category: ts.Diagnostics.Compiler_option_0_expects_an_argument.category, - code: ts.Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { - lib: [] - } - }); - }); - - it("Parse --lib option with extra comma ", () => { - // --lib es5, es7 0.ts - assertParseResult(["--lib", "es5,", "es7", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["es7", "0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - - it("Parse --lib option with trailing white-space ", () => { - // --lib es5, es7 0.ts - assertParseResult(["--lib", "es5, ", "es7", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["es7", "0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - it("Parse multiple compiler flags with input files at the end", () => { - // --lib es5,es6.symbol.wellknown --target es5 0.ts - assertParseResult(["--lib", "es5,es6.symbol.wellknown", "--target", "es5", "0.ts"], + // --module commonjs --target es5 0.ts + assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts"], { errors: [], fileNames: ["0.ts"], options: { - lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"], + module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES5, } }); }); it("Parse multiple compiler flags with input files in the middle", () => { - // --module commonjs --target es5 0.ts --lib es5,es6.symbol.wellknown - assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,es6.symbol.wellknown"], + // --module commonjs --target es5 0.ts --noImplicitAny + assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--noImplicitAny"], { errors: [], fileNames: ["0.ts"], options: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES5, - lib: ["lib.es5.d.ts", "lib.es6.symbol.wellknown.d.ts"], - } - }); - }); - - it("Parse --lib as the last arguments", () => { - // --module commonjs --target es5 0.ts --lib es5, es6.symbol.wellknown - assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,", "es6.symbol.wellknown"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts", "es6.symbol.wellknown"], - options: { - module: ts.ModuleKind.CommonJS, - target: ts.ScriptTarget.ES5, - lib: ["lib.es5.d.ts"], - } - }); - }); - - it("Parse multiple library compiler flags ", () => { - // --module commonjs --target es5 --lib es5 0.ts --library es6.array,es6.symbol.wellknown - assertParseResult(["--module", "commonjs", "--target", "es5", "--lib", "es5", "0.ts", "--lib", "es6.array,es6.symbol.wellknown"], - { - errors: [], - fileNames: ["0.ts"], - options: { - module: ts.ModuleKind.CommonJS, - target: ts.ScriptTarget.ES5, - lib: ["lib.es6.array.d.ts", "lib.es6.symbol.wellknown.d.ts"], + noImplicitAny: true, } }); }); diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index 5c172e33af1..c68d8b97271 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -31,7 +31,6 @@ namespace ts { "target": "es5", "noImplicitAny": false, "sourceMap": false, - "lib": ["es5", "es6.array", "es6.symbol"] } }, "tsconfig.json", { @@ -40,7 +39,6 @@ namespace ts { target: ScriptTarget.ES5, noImplicitAny: false, sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] }, errors: [] } @@ -56,7 +54,6 @@ namespace ts { "noImplicitAny": false, "sourceMap": false, "allowJs": false, - "lib": ["es5", "es6.array", "es6.symbol"] } }, "tsconfig.json", { @@ -66,7 +63,6 @@ namespace ts { noImplicitAny: false, sourceMap: false, allowJs: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] }, errors: [] } @@ -211,154 +207,6 @@ namespace ts { ); }); - it("Convert incorrectly option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": ["es5", "es6.array", "es8"] - } - }, "tsconfig.json", - { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts"] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category - }] - } - ); - }); - - it("Convert empty string option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": ["es5", ""] - } - }, "tsconfig.json", - { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: ["lib.es5.d.ts"] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category - }] - } - ); - }); - - it("Convert empty string option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": [""] - } - }, "tsconfig.json", - { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: [] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category - }] - } - ); - }); - - it("Convert trailing-whitespace string option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": [" "] - } - }, "tsconfig.json", - { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: [] - }, - errors: [{ - file: undefined, - start: 0, - length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es7', 'dom', 'webworker', 'scripthost', 'es6.array', 'es6.collection', 'es6.function', 'es6.iterable', 'es6.math', 'es6.number', 'es6.object', 'es6.promise', 'es6.proxy', 'es6.reflect', 'es6.regexp', 'es6.symbol', 'es6.symbol.wellknown', 'es7.array.include'", - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category - }] - } - ); - }); - - it("Convert empty option of libs to compiler-options ", () => { - assertCompilerOptions( - { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false, - "lib": [] - } - }, "tsconfig.json", - { - compilerOptions: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - noImplicitAny: false, - sourceMap: false, - lib: [] - }, - errors: [] - } - ); - }); - it("Convert incorrectly format tsconfig.json to compiler-options ", () => { assertCompilerOptions( { @@ -398,7 +246,6 @@ namespace ts { "target": "es5", "noImplicitAny": false, "sourceMap": false, - "lib": ["es5", "es6.array", "es6.symbol"] } }, "jsconfig.json", { @@ -408,7 +255,6 @@ namespace ts { target: ScriptTarget.ES5, noImplicitAny: false, sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] }, errors: [] } @@ -424,7 +270,6 @@ namespace ts { "noImplicitAny": false, "sourceMap": false, "allowJs": false, - "lib": ["es5", "es6.array", "es6.symbol"] } }, "jsconfig.json", { @@ -434,7 +279,6 @@ namespace ts { target: ScriptTarget.ES5, noImplicitAny: false, sourceMap: false, - lib: ["lib.es5.d.ts", "lib.es6.array.d.ts", "lib.es6.symbol.d.ts"] }, errors: [] } From 03bf75bf0604ae076eafdbe80ad4b6e95328c624 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 14:09:02 -0700 Subject: [PATCH 233/342] Remove unused error message --- src/compiler/diagnosticMessages.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 1abcc7a8d0a..68ce847148f 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2612,14 +2612,6 @@ "category": "Message", "code": 6112 }, - "Specify library to be included in the compilation:": { - "category": "Message", - "code": 6113 - }, - "Arguments for library option must be: {0}": { - "category": "Error", - "code": 6114 - }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", "code": 7005 From 120c6eba25c59d7f74b463790ae6fc4d86748afe Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 14:09:45 -0700 Subject: [PATCH 234/342] Remove trailing whitespace --- Jakefile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jakefile.js b/Jakefile.js index 299ce1c77c4..a6570c3c710 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -146,7 +146,7 @@ var harnessSources = harnessCoreSources.concat([ "session.ts", "versionCache.ts", "convertToBase64.ts", - "transpile.ts", + "transpile.ts", "reuseProgramStructure.ts", "cachingInServerLSHost.ts", "moduleResolution.ts", From 9a5542b1fde2ea5f304db78211429f3443b2ee16 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 14:21:20 -0700 Subject: [PATCH 235/342] Remove unused error message --- src/compiler/diagnosticMessages.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 68ce847148f..b8dd62efa8e 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2420,10 +2420,6 @@ "category": "Message", "code": 6061 }, - "Argument for '--moduleResolution' option must be 'node' or 'classic'.": { - "category": "Error", - "code": 6063 - }, "Option '{0}' can only be specified in 'tsconfig.json' file.": { "category": "Error", "code": 6064 @@ -2484,10 +2480,6 @@ "category": "Message", "code": 6080 }, - "Argument for '--jsx' must be 'preserve' or 'react'.": { - "category": "Message", - "code": 6081 - }, "Only 'amd' and 'system' modules are supported alongside --{0}.": { "category": "Error", "code": 6082 From 266a92b1f348005260e7770c06af65b72b3b63dc Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 15:29:13 -0700 Subject: [PATCH 236/342] Address PR --- src/compiler/commandLineParser.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 67176e05980..221ef5b87a8 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -386,9 +386,8 @@ namespace ts { /* @internal */ export function createCompilerDiagnosticForInvalidCustomType(opt: CommandLineOptionOfCustomType): Diagnostic { - const namesOfType: string[] = []; - ts.forEachKey(opt.type, key => { + forEachKey(opt.type, key => { namesOfType.push(` '${key}'`); }); @@ -487,7 +486,7 @@ namespace ts { case "string": return ts.map(values, v => v || ""); default: - return ts.filter(ts.map(values, v => parseCustomTypeOption(opt.element, v)), v => !!v); + return filter(map(values, v => parseCustomTypeOption(opt.element, v)), v => !!v); } } } @@ -743,6 +742,6 @@ namespace ts { } function convertJsonOptionOfListType(option: CommandLineOptionOfListType, values: any[], basePath: string, errors: Diagnostic[]): any[] { - return ts.filter(ts.map(values, v => convertJsonOption(option.element, v, basePath, errors)), v => !!v); + return filter(map(values, v => convertJsonOption(option.element, v, basePath, errors)), v => !!v); } } From 9e2df0459eb1c144b15d8c2b6e02705886495675 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 16 Mar 2016 16:35:51 -0700 Subject: [PATCH 237/342] Address PR --- src/compiler/commandLineParser.ts | 22 +++++++++---------- src/compiler/types.ts | 4 +++- .../convertCompilerOptionsFromJson.ts | 2 +- .../unittests/convertTypingOptionsFromJson.ts | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 221ef5b87a8..2f10a8103c4 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -478,7 +478,7 @@ namespace ts { } } - function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): (number | string)[] { + function parseListTypeOption(opt: CommandLineOptionOfListType, value: string): (string | number)[] { const values = (value || "").trim().split(","); switch (opt.element.type) { case "number": @@ -590,9 +590,9 @@ namespace ts { */ export function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions: CompilerOptions = {}, configFileName?: string): ParsedCommandLine { const errors: Diagnostic[] = []; - const compilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, configFileName, errors); + const compilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, errors, configFileName); const options = extend(existingOptions, compilerOptions); - const typingOptions: TypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, configFileName, errors); + const typingOptions: TypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, errors, configFileName); const fileNames = getFileNames(errors); @@ -667,27 +667,27 @@ namespace ts { } /* @internal */ - export function convertCompilerOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, - configFileName: string, errors: Diagnostic[]): CompilerOptions { + export function convertCompilerOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, + basePath: string, errors: Diagnostic[], configFileName?: string): CompilerOptions { const options: CompilerOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { allowJs: true } : {}; - convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, configFileName, options, Diagnostics.Unknown_compiler_option_0, errors); + convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_compiler_option_0, errors); return options; } /* @internal */ - export function convertTypingOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, - configFileName: string, errors: Diagnostic[]): TypingOptions { + export function convertTypingOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, + basePath: string, errors: Diagnostic[], configFileName?: string): TypingOptions { const options: TypingOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { enableAutoDiscovery: true, include: [], exclude: [] } : { enableAutoDiscovery: false, include: [], exclude: [] }; - convertOptionsFromJson(typingOptionDeclarations, jsonOptions, basePath, configFileName, options, Diagnostics.Unknown_typing_option_0, errors); + convertOptionsFromJson(typingOptionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_typing_option_0, errors); return options; } function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, - configFileName: string, defaultOptions: T, diagnosticMessage: DiagnosticMessage, errors: Diagnostic[]) { + defaultOptions: T, diagnosticMessage: DiagnosticMessage, errors: Diagnostic[]) { if (!jsonOptions) { return ; @@ -706,7 +706,7 @@ namespace ts { } } - function convertJsonOption(opt: CommandLineOption, value: any, basePath: string, errors: Diagnostic[]): number | string | number[] | string[] { + function convertJsonOption(opt: CommandLineOption, value: any, basePath: string, errors: Diagnostic[]): CompilerOptionsValue { const optType = opt.type; const expectedType = typeof optType === "string" ? optType : "string"; if (optType === "list" && isArray(value)) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 0fdcc6300b8..3fc172e39fd 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2381,6 +2381,8 @@ namespace ts { export type PathSubstitutions = Map; export type TsConfigOnlyOptions = RootPaths | PathSubstitutions; + export type CompilerOptionsValue = string | number | boolean | (string | number)[] | TsConfigOnlyOptions; + export interface CompilerOptions { allowNonTsExtensions?: boolean; charset?: string; @@ -2447,7 +2449,7 @@ namespace ts { list?: string[]; - [option: string]: string | number | boolean | TsConfigOnlyOptions | (string | number)[]; + [option: string]: CompilerOptionsValue; } export interface TypingOptions { diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index c68d8b97271..4edc3bdd200 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -5,7 +5,7 @@ namespace ts { describe('convertCompilerOptionsFromJson', () => { function assertCompilerOptions(json: any, configFileName: string, expectedResult: { compilerOptions: CompilerOptions, errors: Diagnostic[] }) { const actualErrors: Diagnostic[] = []; - const actualCompilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", configFileName, actualErrors); + const actualCompilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", actualErrors, configFileName); const parsedCompilerOptions = JSON.stringify(actualCompilerOptions); const expectedCompilerOptions = JSON.stringify(expectedResult.compilerOptions); diff --git a/tests/cases/unittests/convertTypingOptionsFromJson.ts b/tests/cases/unittests/convertTypingOptionsFromJson.ts index 898dee0a18b..92b450555a9 100644 --- a/tests/cases/unittests/convertTypingOptionsFromJson.ts +++ b/tests/cases/unittests/convertTypingOptionsFromJson.ts @@ -5,7 +5,7 @@ namespace ts { describe('convertTypingOptionsFromJson', () => { function assertTypingOptions(json: any, configFileName: string, expectedResult: { typingOptions: TypingOptions, errors: Diagnostic[] }) { const actualErrors: Diagnostic[] = []; - const actualTypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", configFileName, actualErrors); + const actualTypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", actualErrors, configFileName); const parsedTypingOptions = JSON.stringify(actualTypingOptions); const expectedTypingOptions = JSON.stringify(expectedResult.typingOptions); assert.equal(parsedTypingOptions, expectedTypingOptions); From 3ede567fbce19c2e75b4527a61787eeca27fef9b Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 16 Mar 2016 16:40:35 -0700 Subject: [PATCH 238/342] use downlevel destructuring for exported variables for target=ES6 if module kind is not ES6 --- src/compiler/emitter.ts | 25 ++++++++++++++++--- .../destructuringInVariableDeclarations1.js | 13 ++++++++++ ...structuringInVariableDeclarations1.symbols | 8 ++++++ ...destructuringInVariableDeclarations1.types | 10 ++++++++ .../destructuringInVariableDeclarations2.js | 14 +++++++++++ ...structuringInVariableDeclarations2.symbols | 9 +++++++ ...destructuringInVariableDeclarations2.types | 11 ++++++++ .../destructuringInVariableDeclarations3.js | 15 +++++++++++ ...structuringInVariableDeclarations3.symbols | 8 ++++++ ...destructuringInVariableDeclarations3.types | 10 ++++++++ .../destructuringInVariableDeclarations4.js | 16 ++++++++++++ ...structuringInVariableDeclarations4.symbols | 9 +++++++ ...destructuringInVariableDeclarations4.types | 11 ++++++++ .../destructuringInVariableDeclarations5.js | 22 ++++++++++++++++ ...structuringInVariableDeclarations5.symbols | 8 ++++++ ...destructuringInVariableDeclarations5.types | 10 ++++++++ .../destructuringInVariableDeclarations6.js | 23 +++++++++++++++++ ...structuringInVariableDeclarations6.symbols | 9 +++++++ ...destructuringInVariableDeclarations6.types | 11 ++++++++ .../destructuringInVariableDeclarations7.js | 22 ++++++++++++++++ ...structuringInVariableDeclarations7.symbols | 8 ++++++ ...destructuringInVariableDeclarations7.types | 10 ++++++++ .../destructuringInVariableDeclarations8.js | 23 +++++++++++++++++ ...structuringInVariableDeclarations8.symbols | 9 +++++++ ...destructuringInVariableDeclarations8.types | 11 ++++++++ .../destructuringInVariableDeclarations1.ts | 6 +++++ .../destructuringInVariableDeclarations2.ts | 7 ++++++ .../destructuringInVariableDeclarations3.ts | 6 +++++ .../destructuringInVariableDeclarations4.ts | 7 ++++++ .../destructuringInVariableDeclarations5.ts | 6 +++++ .../destructuringInVariableDeclarations6.ts | 7 ++++++ .../destructuringInVariableDeclarations7.ts | 6 +++++ .../destructuringInVariableDeclarations8.ts | 7 ++++++ 33 files changed, 373 insertions(+), 4 deletions(-) create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations1.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations1.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations1.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations2.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations2.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations2.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations3.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations3.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations3.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations4.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations4.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations4.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations5.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations5.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations5.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations6.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations6.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations6.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations7.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations7.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations7.types create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations8.js create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations8.symbols create mode 100644 tests/baselines/reference/destructuringInVariableDeclarations8.types create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations1.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations2.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations3.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations4.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations5.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations6.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations7.ts create mode 100644 tests/cases/compiler/destructuringInVariableDeclarations8.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index e5498d24576..43ca8f0a8c9 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4218,12 +4218,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function emitVariableDeclaration(node: VariableDeclaration) { if (isBindingPattern(node.name)) { - if (languageVersion < ScriptTarget.ES6) { - emitDestructuring(node, /*isAssignmentExpressionStatement*/ false); - } - else { + const isExported = getCombinedNodeFlags(node) & NodeFlags.Export; + if (languageVersion >= ScriptTarget.ES6 && (!isExported || modulekind === ModuleKind.ES6)) { + // emit ES6 destructuring only if target module is ES6 or variable is not exported + // exported variables in CJS\AMD are prefixed with 'exports.' so result javascript { exports.toString } = 1; is illegal + + const isTopLevelDeclarationInSystemModule = + modulekind === ModuleKind.System && + shouldHoistVariable(node, /*checkIfSourceFileLevelDecl*/true); + + if (isTopLevelDeclarationInSystemModule) { + // is system modules top level variables are hoisted + write("("); + } + emit(node.name); emitOptional(" = ", node.initializer); + + if (isTopLevelDeclarationInSystemModule) { + write(")"); + } + } + else { + emitDestructuring(node, /*isAssignmentExpressionStatement*/ false); } } else { diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.js b/tests/baselines/reference/destructuringInVariableDeclarations1.js new file mode 100644 index 00000000000..707218b41e2 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.js @@ -0,0 +1,13 @@ +//// [destructuringInVariableDeclarations1.ts] +export let { toString } = 1; +{ + let { toFixed } = 1; +} + + +//// [destructuringInVariableDeclarations1.js] +"use strict"; +exports.toString = (1).toString; +{ + let { toFixed } = 1; +} diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.symbols b/tests/baselines/reference/destructuringInVariableDeclarations1.symbols new file mode 100644 index 00000000000..4043bcc734d --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations1.ts === +export let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations1.ts, 0, 12)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations1.ts, 2, 9)) +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.types b/tests/baselines/reference/destructuringInVariableDeclarations1.types new file mode 100644 index 00000000000..84a60c844a3 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations1.ts === +export let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.js b/tests/baselines/reference/destructuringInVariableDeclarations2.js new file mode 100644 index 00000000000..9c1366bd8e0 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.js @@ -0,0 +1,14 @@ +//// [destructuringInVariableDeclarations2.ts] +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; + + +//// [destructuringInVariableDeclarations2.js] +"use strict"; +let { toString } = 1; +{ + let { toFixed } = 1; +} diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.symbols b/tests/baselines/reference/destructuringInVariableDeclarations2.symbols new file mode 100644 index 00000000000..f05ddf0c758 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations2.ts === +let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations2.ts, 0, 5)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations2.ts, 2, 9)) +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.types b/tests/baselines/reference/destructuringInVariableDeclarations2.types new file mode 100644 index 00000000000..b7456d30285 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations2.ts === +let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.js b/tests/baselines/reference/destructuringInVariableDeclarations3.js new file mode 100644 index 00000000000..8da039fe98e --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.js @@ -0,0 +1,15 @@ +//// [destructuringInVariableDeclarations3.ts] +export let { toString } = 1; +{ + let { toFixed } = 1; +} + + +//// [destructuringInVariableDeclarations3.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + exports.toString = (1).toString; + { + let { toFixed } = 1; + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.symbols b/tests/baselines/reference/destructuringInVariableDeclarations3.symbols new file mode 100644 index 00000000000..84b131a8ad0 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations3.ts === +export let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations3.ts, 0, 12)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations3.ts, 2, 9)) +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.types b/tests/baselines/reference/destructuringInVariableDeclarations3.types new file mode 100644 index 00000000000..970d6deb1ed --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations3.ts === +export let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.js b/tests/baselines/reference/destructuringInVariableDeclarations4.js new file mode 100644 index 00000000000..d4b30405143 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.js @@ -0,0 +1,16 @@ +//// [destructuringInVariableDeclarations4.ts] +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; + + +//// [destructuringInVariableDeclarations4.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + let { toString } = 1; + { + let { toFixed } = 1; + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.symbols b/tests/baselines/reference/destructuringInVariableDeclarations4.symbols new file mode 100644 index 00000000000..e599d7c5793 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations4.ts === +let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations4.ts, 0, 5)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations4.ts, 2, 9)) +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.types b/tests/baselines/reference/destructuringInVariableDeclarations4.types new file mode 100644 index 00000000000..628fe7a9562 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations4.ts === +let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.js b/tests/baselines/reference/destructuringInVariableDeclarations5.js new file mode 100644 index 00000000000..8938757adc2 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.js @@ -0,0 +1,22 @@ +//// [destructuringInVariableDeclarations5.ts] +export let { toString } = 1; +{ + let { toFixed } = 1; +} + + +//// [destructuringInVariableDeclarations5.js] +(function (factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + var v = factory(require, exports); if (v !== undefined) module.exports = v; + } + else if (typeof define === 'function' && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + exports.toString = (1).toString; + { + let { toFixed } = 1; + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.symbols b/tests/baselines/reference/destructuringInVariableDeclarations5.symbols new file mode 100644 index 00000000000..60719928617 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations5.ts === +export let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations5.ts, 0, 12)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations5.ts, 2, 9)) +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.types b/tests/baselines/reference/destructuringInVariableDeclarations5.types new file mode 100644 index 00000000000..9a890916d17 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations5.ts === +export let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.js b/tests/baselines/reference/destructuringInVariableDeclarations6.js new file mode 100644 index 00000000000..b9dddb673cf --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.js @@ -0,0 +1,23 @@ +//// [destructuringInVariableDeclarations6.ts] +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; + + +//// [destructuringInVariableDeclarations6.js] +(function (factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + var v = factory(require, exports); if (v !== undefined) module.exports = v; + } + else if (typeof define === 'function' && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + let { toString } = 1; + { + let { toFixed } = 1; + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.symbols b/tests/baselines/reference/destructuringInVariableDeclarations6.symbols new file mode 100644 index 00000000000..71072de351e --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations6.ts === +let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations6.ts, 0, 5)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations6.ts, 2, 9)) +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.types b/tests/baselines/reference/destructuringInVariableDeclarations6.types new file mode 100644 index 00000000000..cf1105b575a --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations6.ts === +let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.js b/tests/baselines/reference/destructuringInVariableDeclarations7.js new file mode 100644 index 00000000000..129a9db8d15 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.js @@ -0,0 +1,22 @@ +//// [destructuringInVariableDeclarations7.ts] +export let { toString } = 1; +{ + let { toFixed } = 1; +} + + +//// [destructuringInVariableDeclarations7.js] +System.register([], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var toString; + return { + setters:[], + execute: function() { + exports_1("toString", toString = (1).toString); + { + let { toFixed } = 1; + } + } + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.symbols b/tests/baselines/reference/destructuringInVariableDeclarations7.symbols new file mode 100644 index 00000000000..7fde898296b --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations7.ts === +export let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations7.ts, 0, 12)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations7.ts, 2, 9)) +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.types b/tests/baselines/reference/destructuringInVariableDeclarations7.types new file mode 100644 index 00000000000..c0c1b571215 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations7.ts === +export let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.js b/tests/baselines/reference/destructuringInVariableDeclarations8.js new file mode 100644 index 00000000000..bc19fa118f6 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.js @@ -0,0 +1,23 @@ +//// [destructuringInVariableDeclarations8.ts] +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; + + +//// [destructuringInVariableDeclarations8.js] +System.register([], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var toString; + return { + setters:[], + execute: function() { + ({ toString } = 1); + { + let { toFixed } = 1; + } + } + } +}); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.symbols b/tests/baselines/reference/destructuringInVariableDeclarations8.symbols new file mode 100644 index 00000000000..887ea4ffa4c --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations8.ts === +let { toString } = 1; +>toString : Symbol(toString, Decl(destructuringInVariableDeclarations8.ts, 0, 5)) +{ + let { toFixed } = 1; +>toFixed : Symbol(toFixed, Decl(destructuringInVariableDeclarations8.ts, 2, 9)) +} +export {}; + diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.types b/tests/baselines/reference/destructuringInVariableDeclarations8.types new file mode 100644 index 00000000000..ef376563551 --- /dev/null +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/destructuringInVariableDeclarations8.ts === +let { toString } = 1; +>toString : (radix?: number) => string +>1 : number +{ + let { toFixed } = 1; +>toFixed : (fractionDigits?: number) => string +>1 : number +} +export {}; + diff --git a/tests/cases/compiler/destructuringInVariableDeclarations1.ts b/tests/cases/compiler/destructuringInVariableDeclarations1.ts new file mode 100644 index 00000000000..275564c07c5 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations1.ts @@ -0,0 +1,6 @@ +// @target: es6 +// @module: commonjs +export let { toString } = 1; +{ + let { toFixed } = 1; +} diff --git a/tests/cases/compiler/destructuringInVariableDeclarations2.ts b/tests/cases/compiler/destructuringInVariableDeclarations2.ts new file mode 100644 index 00000000000..07190dddd52 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations2.ts @@ -0,0 +1,7 @@ +// @target: es6 +// @module: commonjs +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; diff --git a/tests/cases/compiler/destructuringInVariableDeclarations3.ts b/tests/cases/compiler/destructuringInVariableDeclarations3.ts new file mode 100644 index 00000000000..7881b3073a1 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations3.ts @@ -0,0 +1,6 @@ +// @target: es6 +// @module: amd +export let { toString } = 1; +{ + let { toFixed } = 1; +} diff --git a/tests/cases/compiler/destructuringInVariableDeclarations4.ts b/tests/cases/compiler/destructuringInVariableDeclarations4.ts new file mode 100644 index 00000000000..81ed4d04c4e --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations4.ts @@ -0,0 +1,7 @@ +// @target: es6 +// @module: amd +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; diff --git a/tests/cases/compiler/destructuringInVariableDeclarations5.ts b/tests/cases/compiler/destructuringInVariableDeclarations5.ts new file mode 100644 index 00000000000..610fa8715f3 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations5.ts @@ -0,0 +1,6 @@ +// @target: es6 +// @module: umd +export let { toString } = 1; +{ + let { toFixed } = 1; +} diff --git a/tests/cases/compiler/destructuringInVariableDeclarations6.ts b/tests/cases/compiler/destructuringInVariableDeclarations6.ts new file mode 100644 index 00000000000..2e63209f4e8 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations6.ts @@ -0,0 +1,7 @@ +// @target: es6 +// @module: umd +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; diff --git a/tests/cases/compiler/destructuringInVariableDeclarations7.ts b/tests/cases/compiler/destructuringInVariableDeclarations7.ts new file mode 100644 index 00000000000..3a2827eccc3 --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations7.ts @@ -0,0 +1,6 @@ +// @target: es6 +// @module: system +export let { toString } = 1; +{ + let { toFixed } = 1; +} diff --git a/tests/cases/compiler/destructuringInVariableDeclarations8.ts b/tests/cases/compiler/destructuringInVariableDeclarations8.ts new file mode 100644 index 00000000000..4925c47d85b --- /dev/null +++ b/tests/cases/compiler/destructuringInVariableDeclarations8.ts @@ -0,0 +1,7 @@ +// @target: es6 +// @module: system +let { toString } = 1; +{ + let { toFixed } = 1; +} +export {}; From 6cf57b1bca223e8918c90ac334d0304d9d9c0b2a Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 16 Mar 2016 16:42:23 -0700 Subject: [PATCH 239/342] fix comments --- src/compiler/emitter.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 43ca8f0a8c9..78e83c148e6 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4228,7 +4228,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge shouldHoistVariable(node, /*checkIfSourceFileLevelDecl*/true); if (isTopLevelDeclarationInSystemModule) { - // is system modules top level variables are hoisted + // in System modules top level variables are hoisted + // so variable declarations with destructuring are turned into destructuring assignments write("("); } From 57d9a5ada54c3eba95c739b9c2c4de0e82973e0a Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 16 Mar 2016 21:56:53 -0700 Subject: [PATCH 240/342] emit top level classes as class expressions when target=ES6 and module=System --- src/compiler/emitter.ts | 21 ++++++---- .../anonymousDefaultExportsSystem.js | 4 +- ...ecoratedDefaultExportsGetExportedSystem.js | 4 +- .../defaultExportsGetExportedSystem.js | 4 +- .../outFilerootDirModuleNamesSystem.js | 4 +- .../reference/systemModuleTargetES6.js | 42 +++++++++++++++++++ .../reference/systemModuleTargetES6.symbols | 30 +++++++++++++ .../reference/systemModuleTargetES6.types | 33 +++++++++++++++ tests/cases/compiler/systemModuleTargetES6.ts | 15 +++++++ 9 files changed, 142 insertions(+), 15 deletions(-) create mode 100644 tests/baselines/reference/systemModuleTargetES6.js create mode 100644 tests/baselines/reference/systemModuleTargetES6.symbols create mode 100644 tests/baselines/reference/systemModuleTargetES6.types create mode 100644 tests/cases/compiler/systemModuleTargetES6.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index e5498d24576..7e3ee93f2f6 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5278,9 +5278,11 @@ const _super = (function (geti, seti) { function emitClassLikeDeclarationForES6AndHigher(node: ClassLikeDeclaration) { let decoratedClassAlias: string; - const thisNodeIsDecorated = nodeIsDecorated(node); + const isHoistedDeclarationInSystemModule = shouldHoistDeclarationInSystemJsModule(node); + const isDecorated = nodeIsDecorated(node); + const rewriteAsClassExpression = isDecorated || isHoistedDeclarationInSystemModule; if (node.kind === SyntaxKind.ClassDeclaration) { - if (thisNodeIsDecorated) { + if (rewriteAsClassExpression) { // When we emit an ES6 class that has a class decorator, we must tailor the // emit to certain specific cases. // @@ -5361,7 +5363,10 @@ const _super = (function (geti, seti) { // [Example 4] // - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.ClassWithBodyScopedClassBinding) { + // NOTE: we reuse the same rewriting logic for cases when targeting ES6 and module kind is System. + // Because of hoisting top level class declaration need to be emitted as class expressions. + // Double bind case is only required if node is decorated. + if (isDecorated && resolver.getNodeCheckFlags(node) & NodeCheckFlags.ClassWithBodyScopedClassBinding) { decoratedClassAlias = unescapeIdentifier(makeUniqueName(node.name ? node.name.text : "default")); decoratedClassAliases[getNodeId(node)] = decoratedClassAlias; write(`let ${decoratedClassAlias};`); @@ -5372,7 +5377,9 @@ const _super = (function (geti, seti) { write("export "); } - write("let "); + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); if (decoratedClassAlias !== undefined) { write(` = ${decoratedClassAlias}`); @@ -5416,7 +5423,7 @@ const _super = (function (geti, seti) { // emit name if // - node has a name // - this is default export with static initializers - if (node.name || (node.flags & NodeFlags.Default && (staticProperties.length > 0 || modulekind !== ModuleKind.ES6) && !thisNodeIsDecorated)) { + if (node.name || (node.flags & NodeFlags.Default && (staticProperties.length > 0 || modulekind !== ModuleKind.ES6) && !rewriteAsClassExpression)) { write(" "); emitDeclarationName(node); } @@ -5436,7 +5443,7 @@ const _super = (function (geti, seti) { writeLine(); emitToken(SyntaxKind.CloseBraceToken, node.members.end); - if (thisNodeIsDecorated) { + if (rewriteAsClassExpression) { decoratedClassAliases[getNodeId(node)] = undefined; write(";"); } @@ -5476,7 +5483,7 @@ const _super = (function (geti, seti) { // module), export it if (node.flags & NodeFlags.Default) { // if this is a top level default export of decorated class, write the export after the declaration. - if (thisNodeIsDecorated) { + if (isDecorated) { writeLine(); write("export default "); emitDeclarationName(node); diff --git a/tests/baselines/reference/anonymousDefaultExportsSystem.js b/tests/baselines/reference/anonymousDefaultExportsSystem.js index f9ff71dec06..f68806eb1af 100644 --- a/tests/baselines/reference/anonymousDefaultExportsSystem.js +++ b/tests/baselines/reference/anonymousDefaultExportsSystem.js @@ -14,8 +14,8 @@ System.register([], function(exports_1, context_1) { return { setters:[], execute: function() { - class default_1 { - } + default_1 = class { + }; exports_1("default", default_1); } } diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js index e2d9d0f0a6d..d5cd115edc0 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js @@ -26,7 +26,7 @@ System.register([], function(exports_1, context_1) { return { setters:[], execute: function() { - let Foo = class Foo { + Foo = class Foo { }; Foo = __decorate([ decorator @@ -49,7 +49,7 @@ System.register([], function(exports_1, context_1) { return { setters:[], execute: function() { - let default_1 = class { + default_1 = class { }; default_1 = __decorate([ decorator diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.js b/tests/baselines/reference/defaultExportsGetExportedSystem.js index eac3d3c7c43..eaf6d323f09 100644 --- a/tests/baselines/reference/defaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.js @@ -15,8 +15,8 @@ System.register([], function(exports_1, context_1) { return { setters:[], execute: function() { - class Foo { - } + Foo = class Foo { + }; exports_1("default", Foo); } } diff --git a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js index eb1ef2a4a54..18ec6ecc19b 100644 --- a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js +++ b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js @@ -37,8 +37,8 @@ System.register("a", ["b"], function(exports_2, context_2) { b_1 = b_1_1; }], execute: function() { - class Foo { - } + Foo = class Foo { + }; exports_2("default", Foo); b_1.default(); } diff --git a/tests/baselines/reference/systemModuleTargetES6.js b/tests/baselines/reference/systemModuleTargetES6.js new file mode 100644 index 00000000000..21bbc6a6ad8 --- /dev/null +++ b/tests/baselines/reference/systemModuleTargetES6.js @@ -0,0 +1,42 @@ +//// [systemModuleTargetES6.ts] +export class MyClass { } +export class MyClass2 { + static value = 42; + static getInstance() { return MyClass2.value; } +} + +export function myFunction() { + return new MyClass(); +} + +export function myFunction2() { + return new MyClass2(); +} + +//// [systemModuleTargetES6.js] +System.register([], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var MyClass, MyClass2; + function myFunction() { + return new MyClass(); + } + exports_1("myFunction", myFunction); + function myFunction2() { + return new MyClass2(); + } + exports_1("myFunction2", myFunction2); + return { + setters:[], + execute: function() { + MyClass = class MyClass { + }; + exports_1("MyClass", MyClass); + MyClass2 = class MyClass2 { + static getInstance() { return MyClass2.value; } + }; + MyClass2.value = 42; + exports_1("MyClass2", MyClass2); + } + } +}); diff --git a/tests/baselines/reference/systemModuleTargetES6.symbols b/tests/baselines/reference/systemModuleTargetES6.symbols new file mode 100644 index 00000000000..afb217c0c0a --- /dev/null +++ b/tests/baselines/reference/systemModuleTargetES6.symbols @@ -0,0 +1,30 @@ +=== tests/cases/compiler/systemModuleTargetES6.ts === +export class MyClass { } +>MyClass : Symbol(MyClass, Decl(systemModuleTargetES6.ts, 0, 0)) + +export class MyClass2 { +>MyClass2 : Symbol(MyClass2, Decl(systemModuleTargetES6.ts, 0, 24)) + + static value = 42; +>value : Symbol(MyClass2.value, Decl(systemModuleTargetES6.ts, 1, 23)) + + static getInstance() { return MyClass2.value; } +>getInstance : Symbol(MyClass2.getInstance, Decl(systemModuleTargetES6.ts, 2, 22)) +>MyClass2.value : Symbol(MyClass2.value, Decl(systemModuleTargetES6.ts, 1, 23)) +>MyClass2 : Symbol(MyClass2, Decl(systemModuleTargetES6.ts, 0, 24)) +>value : Symbol(MyClass2.value, Decl(systemModuleTargetES6.ts, 1, 23)) +} + +export function myFunction() { +>myFunction : Symbol(myFunction, Decl(systemModuleTargetES6.ts, 4, 1)) + + return new MyClass(); +>MyClass : Symbol(MyClass, Decl(systemModuleTargetES6.ts, 0, 0)) +} + +export function myFunction2() { +>myFunction2 : Symbol(myFunction2, Decl(systemModuleTargetES6.ts, 8, 1)) + + return new MyClass2(); +>MyClass2 : Symbol(MyClass2, Decl(systemModuleTargetES6.ts, 0, 24)) +} diff --git a/tests/baselines/reference/systemModuleTargetES6.types b/tests/baselines/reference/systemModuleTargetES6.types new file mode 100644 index 00000000000..5a9801a5d89 --- /dev/null +++ b/tests/baselines/reference/systemModuleTargetES6.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/systemModuleTargetES6.ts === +export class MyClass { } +>MyClass : MyClass + +export class MyClass2 { +>MyClass2 : MyClass2 + + static value = 42; +>value : number +>42 : number + + static getInstance() { return MyClass2.value; } +>getInstance : () => number +>MyClass2.value : number +>MyClass2 : typeof MyClass2 +>value : number +} + +export function myFunction() { +>myFunction : () => MyClass + + return new MyClass(); +>new MyClass() : MyClass +>MyClass : typeof MyClass +} + +export function myFunction2() { +>myFunction2 : () => MyClass2 + + return new MyClass2(); +>new MyClass2() : MyClass2 +>MyClass2 : typeof MyClass2 +} diff --git a/tests/cases/compiler/systemModuleTargetES6.ts b/tests/cases/compiler/systemModuleTargetES6.ts new file mode 100644 index 00000000000..a41b0a62c86 --- /dev/null +++ b/tests/cases/compiler/systemModuleTargetES6.ts @@ -0,0 +1,15 @@ +// @target: ES6 +// @module: System +export class MyClass { } +export class MyClass2 { + static value = 42; + static getInstance() { return MyClass2.value; } +} + +export function myFunction() { + return new MyClass(); +} + +export function myFunction2() { + return new MyClass2(); +} \ No newline at end of file From c9ef8be16ca02f0edd1eb6e170a28b4814d285b5 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Thu, 17 Mar 2016 07:05:33 -0700 Subject: [PATCH 241/342] addressed PR feedback --- src/compiler/emitter.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 78e83c148e6..5972e4c69eb 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4221,15 +4221,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge const isExported = getCombinedNodeFlags(node) & NodeFlags.Export; if (languageVersion >= ScriptTarget.ES6 && (!isExported || modulekind === ModuleKind.ES6)) { // emit ES6 destructuring only if target module is ES6 or variable is not exported - // exported variables in CJS\AMD are prefixed with 'exports.' so result javascript { exports.toString } = 1; is illegal + // exported variables in CJS/AMD are prefixed with 'exports.' so result javascript { exports.toString } = 1; is illegal const isTopLevelDeclarationInSystemModule = modulekind === ModuleKind.System && shouldHoistVariable(node, /*checkIfSourceFileLevelDecl*/true); if (isTopLevelDeclarationInSystemModule) { - // in System modules top level variables are hoisted - // so variable declarations with destructuring are turned into destructuring assignments + // In System modules top level variables are hoisted + // so variable declarations with destructuring are turned into destructuring assignments. + // As a result, they will need parentheses to disambiguate object binding assignments from blocks. write("("); } From 6cfa64daa3a9e1cd6967cd98c6d302cab1294709 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Thu, 17 Mar 2016 11:37:52 -0700 Subject: [PATCH 242/342] show completion in destructured parameter if containing function was contextually typed --- src/services/services.ts | 6 +++++- .../fourslash/objectLiteralBindingInParameter.ts | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/objectLiteralBindingInParameter.ts diff --git a/src/services/services.ts b/src/services/services.ts index 1c079b84027..08d3fc843ca 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3504,7 +3504,11 @@ namespace ts { // We don't want to complete using the type acquired by the shape // of the binding pattern; we are only interested in types acquired // through type declaration or inference. - if (rootDeclaration.initializer || rootDeclaration.type) { + // Also proceed if rootDeclaration is parameter and if its containing function expression\arrow function is contextually typed - + // type of parameter will flow in from the contextual type of the function + if (rootDeclaration.initializer || + rootDeclaration.type || + (rootDeclaration.kind === SyntaxKind.Parameter && isExpression(rootDeclaration.parent) && typeChecker.getContextualType(rootDeclaration.parent))) { typeForObject = typeChecker.getTypeAtLocation(objectLikeContainer); existingMembers = (objectLikeContainer).elements; } diff --git a/tests/cases/fourslash/objectLiteralBindingInParameter.ts b/tests/cases/fourslash/objectLiteralBindingInParameter.ts new file mode 100644 index 00000000000..dfde6095bb9 --- /dev/null +++ b/tests/cases/fourslash/objectLiteralBindingInParameter.ts @@ -0,0 +1,15 @@ +/// + +////interface I { x1: number; x2: string } +////function f(cb: (ev: I) => any) { } +////f(({/*1*/}) => 0); + +////[null].reduce(({/*2*/}, b) => b); + +goTo.marker("1"); +verify.completionListContains("x1"); +verify.completionListContains("x2"); + +goTo.marker("2"); +verify.completionListContains("x1"); +verify.completionListContains("x2"); \ No newline at end of file From 112e4b1e80c132eed27f20af9f17d4dc0271dfca Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Thu, 17 Mar 2016 14:40:05 -0700 Subject: [PATCH 243/342] Addressed PR feedback --- src/services/services.ts | 13 +++++++++--- .../objectLiteralBindingInParameter.ts | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 08d3fc843ca..72255b55479 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3506,9 +3506,16 @@ namespace ts { // through type declaration or inference. // Also proceed if rootDeclaration is parameter and if its containing function expression\arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - if (rootDeclaration.initializer || - rootDeclaration.type || - (rootDeclaration.kind === SyntaxKind.Parameter && isExpression(rootDeclaration.parent) && typeChecker.getContextualType(rootDeclaration.parent))) { + let canGetType = !!(rootDeclaration.initializer || rootDeclaration.type); + if (!canGetType && rootDeclaration.kind === SyntaxKind.Parameter) { + if (isExpression(rootDeclaration.parent)) { + canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); + } + else if (rootDeclaration.parent.kind === SyntaxKind.MethodDeclaration || rootDeclaration.parent.kind === SyntaxKind.SetAccessor) { + canGetType = isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); + } + } + if (canGetType) { typeForObject = typeChecker.getTypeAtLocation(objectLikeContainer); existingMembers = (objectLikeContainer).elements; } diff --git a/tests/cases/fourslash/objectLiteralBindingInParameter.ts b/tests/cases/fourslash/objectLiteralBindingInParameter.ts index dfde6095bb9..b1cbd21d929 100644 --- a/tests/cases/fourslash/objectLiteralBindingInParameter.ts +++ b/tests/cases/fourslash/objectLiteralBindingInParameter.ts @@ -6,10 +6,30 @@ ////[null].reduce(({/*2*/}, b) => b); +////interface Foo { +//// m(x: { x1: number, x2: number }): void; +//// prop: I; +////} +////let x: Foo = { +//// m({ /*3*/ }) { +//// }, +//// get prop(): I { return undefined; }, +//// set prop({ /*4*/ }) { +//// } +////}; + goTo.marker("1"); verify.completionListContains("x1"); verify.completionListContains("x2"); goTo.marker("2"); verify.completionListContains("x1"); +verify.completionListContains("x2"); + +goTo.marker("3"); +verify.completionListContains("x1"); +verify.completionListContains("x2"); + +goTo.marker("4"); +verify.completionListContains("x1"); verify.completionListContains("x2"); \ No newline at end of file From 5ed389b6b48edd489e5f185e20eb319fed89422b Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Fri, 18 Mar 2016 10:29:01 -0700 Subject: [PATCH 244/342] check if import collides with exported local name --- src/compiler/checker.ts | 12 ++++++++--- .../functionAndImportNameConflict.errors.txt | 13 ++++++++++++ .../functionAndImportNameConflict.js | 21 +++++++++++++++++++ .../compiler/functionAndImportNameConflict.ts | 9 ++++++++ 4 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 tests/baselines/reference/functionAndImportNameConflict.errors.txt create mode 100644 tests/baselines/reference/functionAndImportNameConflict.js create mode 100644 tests/cases/compiler/functionAndImportNameConflict.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 09672f5c09c..44f625d9a38 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15063,10 +15063,16 @@ namespace ts { const symbol = getSymbolOfNode(node); const target = resolveAlias(symbol); if (target !== unknownSymbol) { + // For external modules symbol represent local symbol for an alias. + // This local symbol will merge any other local declarations (excluding other aliases) + // and symbol.flags will contains combined representation for all merged declaration. + // Based on symbol.flags we can compute a set of excluded meanings (meaning that resolved alias should not have, + // otherwise it will conflict with some local declaration). Note that in addition to normal flags we include matching SymbolFlags.Export* + // in order to prevent collisions with declarations that were exported from the current module (they still contribute to local names). const excludedMeanings = - (symbol.flags & SymbolFlags.Value ? SymbolFlags.Value : 0) | - (symbol.flags & SymbolFlags.Type ? SymbolFlags.Type : 0) | - (symbol.flags & SymbolFlags.Namespace ? SymbolFlags.Namespace : 0); + (symbol.flags & (SymbolFlags.Value | SymbolFlags.ExportValue) ? SymbolFlags.Value : 0) | + (symbol.flags & (SymbolFlags.Type | SymbolFlags.ExportType) ? SymbolFlags.Type : 0) | + (symbol.flags & (SymbolFlags.Namespace | SymbolFlags.ExportNamespace) ? SymbolFlags.Namespace : 0); if (target.flags & excludedMeanings) { const message = node.kind === SyntaxKind.ExportSpecifier ? Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : diff --git a/tests/baselines/reference/functionAndImportNameConflict.errors.txt b/tests/baselines/reference/functionAndImportNameConflict.errors.txt new file mode 100644 index 00000000000..4ca496cfb65 --- /dev/null +++ b/tests/baselines/reference/functionAndImportNameConflict.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/f2.ts(1,9): error TS2440: Import declaration conflicts with local declaration of 'f' + + +==== tests/cases/compiler/f1.ts (0 errors) ==== + export function f() { + } + +==== tests/cases/compiler/f2.ts (1 errors) ==== + import {f} from './f1'; + ~ +!!! error TS2440: Import declaration conflicts with local declaration of 'f' + export function f() { + } \ No newline at end of file diff --git a/tests/baselines/reference/functionAndImportNameConflict.js b/tests/baselines/reference/functionAndImportNameConflict.js new file mode 100644 index 00000000000..8391823aa3a --- /dev/null +++ b/tests/baselines/reference/functionAndImportNameConflict.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/functionAndImportNameConflict.ts] //// + +//// [f1.ts] +export function f() { +} + +//// [f2.ts] +import {f} from './f1'; +export function f() { +} + +//// [f1.js] +"use strict"; +function f() { +} +exports.f = f; +//// [f2.js] +"use strict"; +function f() { +} +exports.f = f; diff --git a/tests/cases/compiler/functionAndImportNameConflict.ts b/tests/cases/compiler/functionAndImportNameConflict.ts new file mode 100644 index 00000000000..9126dd20910 --- /dev/null +++ b/tests/cases/compiler/functionAndImportNameConflict.ts @@ -0,0 +1,9 @@ +// @module: commonjs +// @filename: f1.ts +export function f() { +} + +// @filename: f2.ts +import {f} from './f1'; +export function f() { +} \ No newline at end of file From 200f162bf64c8861781dadbc2b40873255685add Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Fri, 18 Mar 2016 11:27:21 -0700 Subject: [PATCH 245/342] rename LanguageService.getSourceFile to LanguageService.getNonBoundSourceFile and mark it as internal --- src/harness/fourslash.ts | 2 +- src/harness/harnessLanguageService.ts | 2 +- src/server/client.ts | 2 +- src/server/editorServices.ts | 2 +- src/services/services.ts | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index ba7a5f20dae..2fba2d13299 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -1414,7 +1414,7 @@ namespace FourSlash { return; } - const incrementalSourceFile = this.languageService.getSourceFile(this.activeFile.fileName); + const incrementalSourceFile = this.languageService.getNonBoundSourceFile(this.activeFile.fileName); Utils.assertInvariants(incrementalSourceFile, /*parent:*/ undefined); const incrementalSyntaxDiagnostics = incrementalSourceFile.parseDiagnostics; diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 2a6ed85f9cd..12bb6a470e4 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -423,7 +423,7 @@ namespace Harness.LanguageService { getProgram(): ts.Program { throw new Error("Program can not be marshaled across the shim layer."); } - getSourceFile(fileName: string): ts.SourceFile { + getNonBoundSourceFile(fileName: string): ts.SourceFile { throw new Error("SourceFile can not be marshaled across the shim layer."); } dispose(): void { this.shim.dispose({}); } diff --git a/src/server/client.ts b/src/server/client.ts index 8731c52cc72..957d36e4a3a 100644 --- a/src/server/client.ts +++ b/src/server/client.ts @@ -613,7 +613,7 @@ namespace ts.server { throw new Error("SourceFile objects are not serializable through the server protocol."); } - getSourceFile(fileName: string): SourceFile { + getNonBoundSourceFile(fileName: string): SourceFile { throw new Error("SourceFile objects are not serializable through the server protocol."); } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 42a2bded6a5..4a299ef6fd4 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1330,7 +1330,7 @@ namespace ts.server { } isExternalModule(filename: string): boolean { - const sourceFile = this.languageService.getSourceFile(filename); + const sourceFile = this.languageService.getNonBoundSourceFile(filename); return ts.isExternalModule(sourceFile); } diff --git a/src/services/services.ts b/src/services/services.ts index 72255b55479..a634b2baf1a 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1112,7 +1112,7 @@ namespace ts { getProgram(): Program; - getSourceFile(fileName: string): SourceFile; + /* @internal */ getNonBoundSourceFile(fileName: string): SourceFile; dispose(): void; } @@ -6528,7 +6528,7 @@ namespace ts { } /// Syntactic features - function getSourceFile(fileName: string): SourceFile { + function getNonBoundSourceFile(fileName: string): SourceFile { return syntaxTreeCache.getCurrentSourceFile(fileName); } @@ -7616,7 +7616,7 @@ namespace ts { getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition, getEmitOutput, - getSourceFile, + getNonBoundSourceFile, getProgram }; } From 3691261db45d18063ea2077bbb2d1de4fa59fd31 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Fri, 18 Mar 2016 22:26:52 -0700 Subject: [PATCH 246/342] partially revert #7583 --- src/compiler/checker.ts | 4 ++-- .../reference/mergeWithImportedNamespace.js | 20 +++++++++++++++++++ .../mergeWithImportedNamespace.symbols | 17 ++++++++++++++++ .../mergeWithImportedNamespace.types | 18 +++++++++++++++++ .../reference/mergeWithImportedType.js | 18 +++++++++++++++++ .../reference/mergeWithImportedType.symbols | 14 +++++++++++++ .../reference/mergeWithImportedType.types | 14 +++++++++++++ .../compiler/mergeWithImportedNamespace.ts | 10 ++++++++++ tests/cases/compiler/mergeWithImportedType.ts | 8 ++++++++ 9 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/mergeWithImportedNamespace.js create mode 100644 tests/baselines/reference/mergeWithImportedNamespace.symbols create mode 100644 tests/baselines/reference/mergeWithImportedNamespace.types create mode 100644 tests/baselines/reference/mergeWithImportedType.js create mode 100644 tests/baselines/reference/mergeWithImportedType.symbols create mode 100644 tests/baselines/reference/mergeWithImportedType.types create mode 100644 tests/cases/compiler/mergeWithImportedNamespace.ts create mode 100644 tests/cases/compiler/mergeWithImportedType.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 27b08397205..6adb488aea9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15085,8 +15085,8 @@ namespace ts { // in order to prevent collisions with declarations that were exported from the current module (they still contribute to local names). const excludedMeanings = (symbol.flags & (SymbolFlags.Value | SymbolFlags.ExportValue) ? SymbolFlags.Value : 0) | - (symbol.flags & (SymbolFlags.Type | SymbolFlags.ExportType) ? SymbolFlags.Type : 0) | - (symbol.flags & (SymbolFlags.Namespace | SymbolFlags.ExportNamespace) ? SymbolFlags.Namespace : 0); + (symbol.flags & SymbolFlags.Type ? SymbolFlags.Type : 0) | + (symbol.flags & SymbolFlags.Namespace ? SymbolFlags.Namespace : 0); if (target.flags & excludedMeanings) { const message = node.kind === SyntaxKind.ExportSpecifier ? Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : diff --git a/tests/baselines/reference/mergeWithImportedNamespace.js b/tests/baselines/reference/mergeWithImportedNamespace.js new file mode 100644 index 00000000000..60f6fedd3f2 --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedNamespace.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/mergeWithImportedNamespace.ts] //// + +//// [f1.ts] +export namespace N { export var x = 1; } + +//// [f2.ts] +import {N} from "./f1"; +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export namespace N { + export interface I {x: any} +} + +//// [f1.js] +"use strict"; +var N; +(function (N) { + N.x = 1; +})(N = exports.N || (exports.N = {})); +//// [f2.js] +"use strict"; diff --git a/tests/baselines/reference/mergeWithImportedNamespace.symbols b/tests/baselines/reference/mergeWithImportedNamespace.symbols new file mode 100644 index 00000000000..58b0f0a811f --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedNamespace.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/f1.ts === +export namespace N { export var x = 1; } +>N : Symbol(N, Decl(f1.ts, 0, 0)) +>x : Symbol(x, Decl(f1.ts, 0, 31)) + +=== tests/cases/compiler/f2.ts === +import {N} from "./f1"; +>N : Symbol(N, Decl(f2.ts, 0, 8), Decl(f2.ts, 0, 23)) + +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export namespace N { +>N : Symbol(N, Decl(f2.ts, 0, 23)) + + export interface I {x: any} +>I : Symbol(I, Decl(f2.ts, 2, 20)) +>x : Symbol(I.x, Decl(f2.ts, 3, 24)) +} diff --git a/tests/baselines/reference/mergeWithImportedNamespace.types b/tests/baselines/reference/mergeWithImportedNamespace.types new file mode 100644 index 00000000000..d6c1df3b609 --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedNamespace.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/f1.ts === +export namespace N { export var x = 1; } +>N : typeof N +>x : number +>1 : number + +=== tests/cases/compiler/f2.ts === +import {N} from "./f1"; +>N : typeof N + +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export namespace N { +>N : any + + export interface I {x: any} +>I : I +>x : any +} diff --git a/tests/baselines/reference/mergeWithImportedType.js b/tests/baselines/reference/mergeWithImportedType.js new file mode 100644 index 00000000000..89fc353d395 --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedType.js @@ -0,0 +1,18 @@ +//// [tests/cases/compiler/mergeWithImportedType.ts] //// + +//// [f1.ts] +export enum E {X} + +//// [f2.ts] +import {E} from "./f1"; +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export type E = E; + +//// [f1.js] +"use strict"; +(function (E) { + E[E["X"] = 0] = "X"; +})(exports.E || (exports.E = {})); +var E = exports.E; +//// [f2.js] +"use strict"; diff --git a/tests/baselines/reference/mergeWithImportedType.symbols b/tests/baselines/reference/mergeWithImportedType.symbols new file mode 100644 index 00000000000..d14d76f91e7 --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedType.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/f1.ts === +export enum E {X} +>E : Symbol(E, Decl(f1.ts, 0, 0)) +>X : Symbol(E.X, Decl(f1.ts, 0, 15)) + +=== tests/cases/compiler/f2.ts === +import {E} from "./f1"; +>E : Symbol(E, Decl(f2.ts, 0, 8), Decl(f2.ts, 0, 23)) + +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export type E = E; +>E : Symbol(E, Decl(f2.ts, 0, 23)) +>E : Symbol(E, Decl(f2.ts, 0, 8), Decl(f2.ts, 0, 23)) + diff --git a/tests/baselines/reference/mergeWithImportedType.types b/tests/baselines/reference/mergeWithImportedType.types new file mode 100644 index 00000000000..583492444c5 --- /dev/null +++ b/tests/baselines/reference/mergeWithImportedType.types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/f1.ts === +export enum E {X} +>E : E +>X : E + +=== tests/cases/compiler/f2.ts === +import {E} from "./f1"; +>E : typeof E + +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export type E = E; +>E : E +>E : E + diff --git a/tests/cases/compiler/mergeWithImportedNamespace.ts b/tests/cases/compiler/mergeWithImportedNamespace.ts new file mode 100644 index 00000000000..79a94fd0ba4 --- /dev/null +++ b/tests/cases/compiler/mergeWithImportedNamespace.ts @@ -0,0 +1,10 @@ +// @module:commonjs +// @filename: f1.ts +export namespace N { export var x = 1; } + +// @filename: f2.ts +import {N} from "./f1"; +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export namespace N { + export interface I {x: any} +} \ No newline at end of file diff --git a/tests/cases/compiler/mergeWithImportedType.ts b/tests/cases/compiler/mergeWithImportedType.ts new file mode 100644 index 00000000000..2310022012f --- /dev/null +++ b/tests/cases/compiler/mergeWithImportedType.ts @@ -0,0 +1,8 @@ +// @module:commonjs +// @filename: f1.ts +export enum E {X} + +// @filename: f2.ts +import {E} from "./f1"; +// partial revert of https://github.com/Microsoft/TypeScript/pull/7583 to prevent breaking changes +export type E = E; \ No newline at end of file From 497b4c341c8488bb65e2ab1f3cb9553049cb0d57 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Sat, 19 Mar 2016 20:59:32 -0700 Subject: [PATCH 247/342] revert changes in the signature of 'convertCompilerOptionsFromJson' --- src/compiler/commandLineParser.ts | 30 ++++++++++++------- .../convertCompilerOptionsFromJson.ts | 3 +- .../unittests/convertTypingOptionsFromJson.ts | 3 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 2f10a8103c4..59ebf01d47f 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -590,9 +590,9 @@ namespace ts { */ export function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions: CompilerOptions = {}, configFileName?: string): ParsedCommandLine { const errors: Diagnostic[] = []; - const compilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], basePath, errors, configFileName); + const compilerOptions: CompilerOptions = convertCompilerOptionsFromJsonWorker(json["compilerOptions"], basePath, errors, configFileName); const options = extend(existingOptions, compilerOptions); - const typingOptions: TypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], basePath, errors, configFileName); + const typingOptions: TypingOptions = convertTypingOptionsFromJsonWorker(json["typingOptions"], basePath, errors, configFileName); const fileNames = getFileNames(errors); @@ -666,28 +666,38 @@ namespace ts { } } - /* @internal */ - export function convertCompilerOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, + export function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { options: CompilerOptions, errors: Diagnostic[] } { + const errors: Diagnostic[] = []; + const options = convertCompilerOptionsFromJsonWorker(jsonOptions, basePath, errors, configFileName); + return { options, errors }; + } + + export function convertTypingOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { options: CompilerOptions, errors: Diagnostic[] } { + const errors: Diagnostic[] = []; + const options = convertTypingOptionsFromJsonWorker(jsonOptions, basePath, errors, configFileName); + return { options, errors }; + } + + function convertCompilerOptionsFromJsonWorker(jsonOptions: any, basePath: string, errors: Diagnostic[], configFileName?: string): CompilerOptions { const options: CompilerOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { allowJs: true } : {}; - convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_compiler_option_0, errors); + convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_compiler_option_0, errors); return options; } - /* @internal */ - export function convertTypingOptionsFromJson(optionsDeclarations: CommandLineOption[], jsonOptions: any, + function convertTypingOptionsFromJsonWorker(jsonOptions: any, basePath: string, errors: Diagnostic[], configFileName?: string): TypingOptions { const options: TypingOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { enableAutoDiscovery: true, include: [], exclude: [] } : { enableAutoDiscovery: false, include: [], exclude: [] }; - convertOptionsFromJson(typingOptionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_typing_option_0, errors); + convertOptionsFromJson(typingOptionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_typing_option_0, errors); return options; } - function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, - defaultOptions: T, diagnosticMessage: DiagnosticMessage, errors: Diagnostic[]) { + function convertOptionsFromJson(optionDeclarations: CommandLineOption[], jsonOptions: any, basePath: string, + defaultOptions: CompilerOptions | TypingOptions, diagnosticMessage: DiagnosticMessage, errors: Diagnostic[]) { if (!jsonOptions) { return ; diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index 4edc3bdd200..7ac80be7892 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -4,8 +4,7 @@ namespace ts { describe('convertCompilerOptionsFromJson', () => { function assertCompilerOptions(json: any, configFileName: string, expectedResult: { compilerOptions: CompilerOptions, errors: Diagnostic[] }) { - const actualErrors: Diagnostic[] = []; - const actualCompilerOptions: CompilerOptions = convertCompilerOptionsFromJson(optionDeclarations, json["compilerOptions"], "/apath/", actualErrors, configFileName); + const { options: actualCompilerOptions, errors: actualErrors} = convertCompilerOptionsFromJson(json["compilerOptions"], "/apath/", configFileName); const parsedCompilerOptions = JSON.stringify(actualCompilerOptions); const expectedCompilerOptions = JSON.stringify(expectedResult.compilerOptions); diff --git a/tests/cases/unittests/convertTypingOptionsFromJson.ts b/tests/cases/unittests/convertTypingOptionsFromJson.ts index 92b450555a9..3cd15a17c61 100644 --- a/tests/cases/unittests/convertTypingOptionsFromJson.ts +++ b/tests/cases/unittests/convertTypingOptionsFromJson.ts @@ -4,8 +4,7 @@ namespace ts { describe('convertTypingOptionsFromJson', () => { function assertTypingOptions(json: any, configFileName: string, expectedResult: { typingOptions: TypingOptions, errors: Diagnostic[] }) { - const actualErrors: Diagnostic[] = []; - const actualTypingOptions = convertTypingOptionsFromJson(typingOptionDeclarations, json["typingOptions"], "/apath/", actualErrors, configFileName); + const { options: actualTypingOptions, errors: actualErrors } = convertTypingOptionsFromJson(json["typingOptions"], "/apath/", configFileName); const parsedTypingOptions = JSON.stringify(actualTypingOptions); const expectedTypingOptions = JSON.stringify(expectedResult.typingOptions); assert.equal(parsedTypingOptions, expectedTypingOptions); From 323a195db9b07fd54fa888d744da1866f24a4b76 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Sun, 20 Mar 2016 12:30:54 -0700 Subject: [PATCH 248/342] Don't elaborate errors when trying to relate a primitive to a union. --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 27b08397205..b7779fc9da0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5678,7 +5678,7 @@ namespace ts { } } if (target.flags & TypeFlags.Union) { - if (result = typeRelatedToSomeType(source, target, reportErrors)) { + if (result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & TypeFlags.Primitive))) { return result; } } From e9aeaa2f0d7f8813e2bb874ec5e64df4cf71bec2 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Sun, 20 Mar 2016 12:31:11 -0700 Subject: [PATCH 249/342] Accepted baselines. --- .../reference/contextualTypeWithTuple.errors.txt | 2 -- ...uallyTypedBindingInitializerNegative.errors.txt | 2 -- ...TypedStringLiteralsInJsxAttributes01.errors.txt | 6 +----- .../destructuringParameterDeclaration2.errors.txt | 4 ---- .../destructuringParameterDeclaration4.errors.txt | 2 -- .../errorMessagesIntersectionTypes02.errors.txt | 2 -- .../reference/genericCallWithTupleType.errors.txt | 2 -- .../reference/iteratorSpreadInCall6.errors.txt | 2 -- ...ypeArgumentsWithStringLiteralTypes01.errors.txt | 14 -------------- 9 files changed, 1 insertion(+), 35 deletions(-) diff --git a/tests/baselines/reference/contextualTypeWithTuple.errors.txt b/tests/baselines/reference/contextualTypeWithTuple.errors.txt index e447ed62b39..a2d3b224ddc 100644 --- a/tests/baselines/reference/contextualTypeWithTuple.errors.txt +++ b/tests/baselines/reference/contextualTypeWithTuple.errors.txt @@ -3,7 +3,6 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(3,5): error TS232 Type '() => number | string | boolean' is not assignable to type '() => number | string'. Type 'number | string | boolean' is not assignable to type 'number | string'. Type 'boolean' is not assignable to type 'number | string'. - Type 'boolean' is not assignable to type 'string'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(15,1): error TS2322: Type '[number, string, boolean]' is not assignable to type '[number, string]'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(18,1): error TS2322: Type '[{}, number]' is not assignable to type '[{ a: string; }, number]'. Types of property '0' are incompatible. @@ -34,7 +33,6 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(25,1): error TS23 !!! error TS2322: Type '() => number | string | boolean' is not assignable to type '() => number | string'. !!! error TS2322: Type 'number | string | boolean' is not assignable to type 'number | string'. !!! error TS2322: Type 'boolean' is not assignable to type 'number | string'. -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. var numStrBoolTuple: [number, string, boolean] = [5, "foo", true]; var objNumTuple: [{ a: string }, number] = [{ a: "world" }, 5]; var strTupleTuple: [string, [number, {}]] = ["bar", [5, { x: 1, y: 1 }]]; diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt index 689645386c4..42d617887e0 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt @@ -14,7 +14,6 @@ tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTyp Types of property '0' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(26,14): error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. - Type '"baz"' is not assignable to type '"bar"'. ==== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts (7 errors) ==== @@ -67,5 +66,4 @@ tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTyp function h({ prop = "baz" }: StringUnion) {} ~~~~ !!! error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. -!!! error TS2322: Type '"baz"' is not assignable to type '"bar"'. \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt index 32b86e455d2..48e11fb1221 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.errors.txt @@ -1,7 +1,5 @@ tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(16,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. - Type '"f"' is not assignable to type '"C"'. tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx(17,15): error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. - Type '"f"' is not assignable to type '"C"'. ==== tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx (2 errors) ==== @@ -23,8 +21,6 @@ tests/cases/conformance/types/contextualTypes/jsxAttributes/contextuallyTypedStr ; ~~~~~~~~~ !!! error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. -!!! error TS2322: Type '"f"' is not assignable to type '"C"'. ; ~~~~~~~ -!!! error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. -!!! error TS2322: Type '"f"' is not assignable to type '"C"'. \ No newline at end of file +!!! error TS2322: Type '"f"' is not assignable to type '"A" | "B" | "C"'. \ No newline at end of file diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt index 114efc14d9c..d68220c8308 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt @@ -7,7 +7,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( Type '() => number | string[][] | string' is not assignable to type '() => number | string[][]'. Type 'number | string[][] | string' is not assignable to type 'number | string[][]'. Type 'string' is not assignable to type 'number | string[][]'. - Type 'string' is not assignable to type 'string[][]'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(16,8): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(16,16): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(23,14): error TS2345: Argument of type '{ x: string; y: boolean; }' is not assignable to parameter of type '{ x: number; y: any; }'. @@ -29,7 +28,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(38,4): error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: number | string; }'. Types of property 'b' are incompatible. Type 'boolean' is not assignable to type 'number | string'. - Type 'boolean' is not assignable to type 'string'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(39,4): error TS2345: Argument of type '[number, number, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. Types of property '2' are incompatible. Type 'boolean' is not assignable to type '[[any]]'. @@ -75,7 +73,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( !!! error TS2345: Type '() => number | string[][] | string' is not assignable to type '() => number | string[][]'. !!! error TS2345: Type 'number | string[][] | string' is not assignable to type 'number | string[][]'. !!! error TS2345: Type 'string' is not assignable to type 'number | string[][]'. -!!! error TS2345: Type 'string' is not assignable to type 'string[][]'. // If the declaration includes an initializer expression (which is permitted only @@ -137,7 +134,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( !!! error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: number | string; }'. !!! error TS2345: Types of property 'b' are incompatible. !!! error TS2345: Type 'boolean' is not assignable to type 'number | string'. -!!! error TS2345: Type 'boolean' is not assignable to type 'string'. c5([1, 2, false, true]); // Error, implied type is [any, any, [[any]]] ~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[number, number, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt index b08c5b942d8..aa5a8e8daea 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt @@ -1,7 +1,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(11,13): error TS2370: A rest parameter must be of an array type. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(13,13): error TS2370: A rest parameter must be of an array type. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(20,19): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number | string'. - Type 'boolean' is not assignable to type 'string'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(21,7): error TS2304: Cannot find name 'array2'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(22,4): error TS2345: Argument of type '[number, number, string, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. Types of property '2' are incompatible. @@ -43,7 +42,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts( a1(1, 2, "hello", true); // Error, parameter type is (number|string)[] ~~~~ !!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number | string'. -!!! error TS2345: Type 'boolean' is not assignable to type 'string'. a1(...array2); // Error parameter type is (number|string)[] ~~~~~~ !!! error TS2304: Cannot find name 'array2'. diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes02.errors.txt b/tests/baselines/reference/errorMessagesIntersectionTypes02.errors.txt index 06e06c87015..6a9dd26706c 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes02.errors.txt +++ b/tests/baselines/reference/errorMessagesIntersectionTypes02.errors.txt @@ -1,7 +1,6 @@ tests/cases/compiler/errorMessagesIntersectionTypes02.ts(14,5): error TS2322: Type '{ fooProp: string; } & Bar' is not assignable to type 'FooBar'. Types of property 'fooProp' are incompatible. Type 'string' is not assignable to type '"hello" | "world"'. - Type 'string' is not assignable to type '"world"'. ==== tests/cases/compiler/errorMessagesIntersectionTypes02.ts (1 errors) ==== @@ -23,6 +22,5 @@ tests/cases/compiler/errorMessagesIntersectionTypes02.ts(14,5): error TS2322: Ty !!! error TS2322: Type '{ fooProp: string; } & Bar' is not assignable to type 'FooBar'. !!! error TS2322: Types of property 'fooProp' are incompatible. !!! error TS2322: Type 'string' is not assignable to type '"hello" | "world"'. -!!! error TS2322: Type 'string' is not assignable to type '"world"'. fooProp: "frizzlebizzle" }); \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithTupleType.errors.txt b/tests/baselines/reference/genericCallWithTupleType.errors.txt index bcf580320e5..24e0505d009 100644 --- a/tests/baselines/reference/genericCallWithTupleType.errors.txt +++ b/tests/baselines/reference/genericCallWithTupleType.errors.txt @@ -3,7 +3,6 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTup Type '() => string | number | boolean' is not assignable to type '() => string | number'. Type 'string | number | boolean' is not assignable to type 'string | number'. Type 'boolean' is not assignable to type 'string | number'. - Type 'boolean' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(14,1): error TS2322: Type '{ a: string; }' is not assignable to type 'string | number'. Type '{ a: string; }' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(22,1): error TS2322: Type '[number, string]' is not assignable to type '[string, number]'. @@ -35,7 +34,6 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTup !!! error TS2322: Type '() => string | number | boolean' is not assignable to type '() => string | number'. !!! error TS2322: Type 'string | number | boolean' is not assignable to type 'string | number'. !!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. var e3 = i1.tuple1[2]; // {} i1.tuple1[3] = { a: "string" }; ~~~~~~~~~~~~ diff --git a/tests/baselines/reference/iteratorSpreadInCall6.errors.txt b/tests/baselines/reference/iteratorSpreadInCall6.errors.txt index 0a0da985ace..ee9945f7af6 100644 --- a/tests/baselines/reference/iteratorSpreadInCall6.errors.txt +++ b/tests/baselines/reference/iteratorSpreadInCall6.errors.txt @@ -1,12 +1,10 @@ tests/cases/conformance/es6/spread/iteratorSpreadInCall6.ts(1,28): error TS2345: Argument of type 'string' is not assignable to parameter of type 'symbol | number'. - Type 'string' is not assignable to type 'number'. ==== tests/cases/conformance/es6/spread/iteratorSpreadInCall6.ts (1 errors) ==== foo(...new SymbolIterator, ...new StringIterator); ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'symbol | number'. -!!! error TS2345: Type 'string' is not assignable to type 'number'. function foo(...s: (symbol | number)[]) { } class SymbolIterator { diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt index ef582ab9b26..48c7efb37e8 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt @@ -4,15 +4,10 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(40,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(41,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(44,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(45,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(46,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(47,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(48,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(55,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(58,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. @@ -26,9 +21,7 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,43): error TS2345: Argument of type '"Hello"' is not assignable to parameter of type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(89,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(93,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(97,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. - Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. Type '"World"' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(104,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. @@ -92,23 +85,18 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 a = takeReturnHelloWorld(a); ~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'string' is not assignable to type '"World"'. b = takeReturnHelloWorld(b); ~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'string' is not assignable to type '"World"'. c = takeReturnHelloWorld(c); ~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'string' is not assignable to type '"World"'. d = takeReturnHelloWorld(d); ~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'string' is not assignable to type '"World"'. e = takeReturnHelloWorld(e); ~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'string' is not assignable to type '"World"'. } namespace n2 { @@ -178,14 +166,12 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 a = takeReturnString(a); ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. -!!! error TS2322: Type 'string' is not assignable to type '"World"'. b = takeReturnString(b); c = takeReturnString(c); d = takeReturnString(d); e = takeReturnString(e); ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. -!!! error TS2322: Type 'string' is not assignable to type '"World"'. // Passing these as arguments should cause an error. a = takeReturnHello(a); From 07185c1c4a96230a783aa8a578318c6498ab8c5d Mon Sep 17 00:00:00 2001 From: zhengbli Date: Mon, 21 Mar 2016 12:55:55 -0700 Subject: [PATCH 250/342] Routine update of dom-related lib.d.ts --- src/lib/dom.generated.d.ts | 2219 ++++++++++++++++++++++-------- src/lib/webworker.generated.d.ts | 62 +- 2 files changed, 1666 insertions(+), 615 deletions(-) diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index ec71fa78e8d..59cd2675e7a 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -12,11 +12,6 @@ interface AriaRequestEventInit extends EventInit { attributeValue?: string; } -interface ClipboardEventInit extends EventInit { - data?: string; - dataType?: string; -} - interface CommandEventInit extends EventInit { commandName?: string; detail?: string; @@ -30,6 +25,31 @@ interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation arrayOfDomainStrings?: string[]; } +interface ConstrainBooleanParameters { + exact?: boolean; + ideal?: boolean; +} + +interface ConstrainDOMStringParameters { + exact?: string | string[]; + ideal?: string | string[]; +} + +interface ConstrainDoubleRange extends DoubleRange { + exact?: number; + ideal?: number; +} + +interface ConstrainLongRange extends LongRange { + exact?: number; + ideal?: number; +} + +interface ConstrainVideoFacingModeParameters { + exact?: string | string[]; + ideal?: string | string[]; +} + interface CustomEventInit extends EventInit { detail?: any; } @@ -40,17 +60,44 @@ interface DeviceAccelerationDict { z?: number; } +interface DeviceLightEventInit extends EventInit { + value?: number; +} + interface DeviceRotationRateDict { alpha?: number; beta?: number; gamma?: number; } +interface DoubleRange { + max?: number; + min?: number; +} + interface EventInit { bubbles?: boolean; cancelable?: boolean; } +interface EventModifierInit extends UIEventInit { + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + metaKey?: boolean; + modifierAltGraph?: boolean; + modifierCapsLock?: boolean; + modifierFn?: boolean; + modifierFnLock?: boolean; + modifierHyper?: boolean; + modifierNumLock?: boolean; + modifierOS?: boolean; + modifierScrollLock?: boolean; + modifierSuper?: boolean; + modifierSymbol?: boolean; + modifierSymbolLock?: boolean; +} + interface ExceptionInformation { domain?: string; } @@ -64,17 +111,415 @@ interface HashChangeEventInit extends EventInit { oldURL?: string; } +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: IDBKeyPath; +} + interface KeyAlgorithm { name?: string; } -interface KeyboardEventInit extends SharedKeyboardAndMouseEventInit { +interface KeyboardEventInit extends EventModifierInit { key?: string; location?: number; repeat?: boolean; } -interface MouseEventInit extends SharedKeyboardAndMouseEventInit { +interface LongRange { + max?: number; + min?: number; +} + +interface MSAccountInfo { + rpDisplayName?: string; + userDisplayName?: string; + accountName?: string; + userId?: string; + accountImageUri?: string; +} + +interface MSAudioLocalClientEvent extends MSLocalClientEventBase { + networkSendQualityEventRatio?: number; + networkDelayEventRatio?: number; + cpuInsufficientEventRatio?: number; + deviceHalfDuplexAECEventRatio?: number; + deviceRenderNotFunctioningEventRatio?: number; + deviceCaptureNotFunctioningEventRatio?: number; + deviceGlitchesEventRatio?: number; + deviceLowSNREventRatio?: number; + deviceLowSpeechLevelEventRatio?: number; + deviceClippingEventRatio?: number; + deviceEchoEventRatio?: number; + deviceNearEndToEchoRatioEventRatio?: number; + deviceRenderZeroVolumeEventRatio?: number; + deviceRenderMuteEventRatio?: number; + deviceMultipleEndpointsEventCount?: number; + deviceHowlingEventCount?: number; +} + +interface MSAudioRecvPayload extends MSPayloadBase { + samplingRate?: number; + signal?: MSAudioRecvSignal; + packetReorderRatio?: number; + packetReorderDepthAvg?: number; + packetReorderDepthMax?: number; + burstLossLength1?: number; + burstLossLength2?: number; + burstLossLength3?: number; + burstLossLength4?: number; + burstLossLength5?: number; + burstLossLength6?: number; + burstLossLength7?: number; + burstLossLength8OrHigher?: number; + fecRecvDistance1?: number; + fecRecvDistance2?: number; + fecRecvDistance3?: number; + ratioConcealedSamplesAvg?: number; + ratioStretchedSamplesAvg?: number; + ratioCompressedSamplesAvg?: number; +} + +interface MSAudioRecvSignal { + initialSignalLevelRMS?: number; + recvSignalLevelCh1?: number; + recvNoiseLevelCh1?: number; + renderSignalLevel?: number; + renderNoiseLevel?: number; + renderLoopbackSignalLevel?: number; +} + +interface MSAudioSendPayload extends MSPayloadBase { + samplingRate?: number; + signal?: MSAudioSendSignal; + audioFECUsed?: boolean; + sendMutePercent?: number; +} + +interface MSAudioSendSignal { + noiseLevel?: number; + sendSignalLevelCh1?: number; + sendNoiseLevelCh1?: number; +} + +interface MSConnectivity { + iceType?: string; + iceWarningFlags?: MSIceWarningFlags; + relayAddress?: MSRelayAddress; +} + +interface MSCredentialFilter { + accept?: MSCredentialSpec[]; +} + +interface MSCredentialParameters { + type?: string; +} + +interface MSCredentialSpec { + type?: string; + id?: string; +} + +interface MSDelay { + roundTrip?: number; + roundTripMax?: number; +} + +interface MSDescription extends RTCStats { + connectivity?: MSConnectivity; + transport?: string; + networkconnectivity?: MSNetworkConnectivityInfo; + localAddr?: MSIPAddressInfo; + remoteAddr?: MSIPAddressInfo; + deviceDevName?: string; + reflexiveLocalIPAddr?: MSIPAddressInfo; +} + +interface MSFIDOCredentialParameters extends MSCredentialParameters { + algorithm?: string | Algorithm; + authenticators?: AAGUID[]; +} + +interface MSIPAddressInfo { + ipAddr?: string; + port?: number; + manufacturerMacAddrMask?: string; +} + +interface MSIceWarningFlags { + turnTcpTimedOut?: boolean; + turnUdpAllocateFailed?: boolean; + turnUdpSendFailed?: boolean; + turnTcpAllocateFailed?: boolean; + turnTcpSendFailed?: boolean; + udpLocalConnectivityFailed?: boolean; + udpNatConnectivityFailed?: boolean; + udpRelayConnectivityFailed?: boolean; + tcpNatConnectivityFailed?: boolean; + tcpRelayConnectivityFailed?: boolean; + connCheckMessageIntegrityFailed?: boolean; + allocationMessageIntegrityFailed?: boolean; + connCheckOtherError?: boolean; + turnAuthUnknownUsernameError?: boolean; + noRelayServersConfigured?: boolean; + multipleRelayServersAttempted?: boolean; + portRangeExhausted?: boolean; + alternateServerReceived?: boolean; + pseudoTLSFailure?: boolean; + turnTurnTcpConnectivityFailed?: boolean; + useCandidateChecksFailed?: boolean; + fipsAllocationFailure?: boolean; +} + +interface MSJitter { + interArrival?: number; + interArrivalMax?: number; + interArrivalSD?: number; +} + +interface MSLocalClientEventBase extends RTCStats { + networkReceiveQualityEventRatio?: number; + networkBandwidthLowEventRatio?: number; +} + +interface MSNetwork extends RTCStats { + jitter?: MSJitter; + delay?: MSDelay; + packetLoss?: MSPacketLoss; + utilization?: MSUtilization; +} + +interface MSNetworkConnectivityInfo { + vpn?: boolean; + linkspeed?: number; + networkConnectionDetails?: string; +} + +interface MSNetworkInterfaceType { + interfaceTypeEthernet?: boolean; + interfaceTypeWireless?: boolean; + interfaceTypePPP?: boolean; + interfaceTypeTunnel?: boolean; + interfaceTypeWWAN?: boolean; +} + +interface MSOutboundNetwork extends MSNetwork { + appliedBandwidthLimit?: number; +} + +interface MSPacketLoss { + lossRate?: number; + lossRateMax?: number; +} + +interface MSPayloadBase extends RTCStats { + payloadDescription?: string; +} + +interface MSRelayAddress { + relayAddress?: string; + port?: number; +} + +interface MSSignatureParameters { + userPrompt?: string; +} + +interface MSTransportDiagnosticsStats extends RTCStats { + baseAddress?: string; + localAddress?: string; + localSite?: string; + networkName?: string; + remoteAddress?: string; + remoteSite?: string; + localMR?: string; + remoteMR?: string; + iceWarningFlags?: MSIceWarningFlags; + portRangeMin?: number; + portRangeMax?: number; + localMRTCPPort?: number; + remoteMRTCPPort?: number; + stunVer?: number; + numConsentReqSent?: number; + numConsentReqReceived?: number; + numConsentRespSent?: number; + numConsentRespReceived?: number; + interfaces?: MSNetworkInterfaceType; + baseInterface?: MSNetworkInterfaceType; + protocol?: string; + localInterface?: MSNetworkInterfaceType; + localAddrType?: string; + remoteAddrType?: string; + iceRole?: string; + rtpRtcpMux?: boolean; + allocationTimeInMs?: number; + msRtcEngineVersion?: string; +} + +interface MSUtilization { + packets?: number; + bandwidthEstimation?: number; + bandwidthEstimationMin?: number; + bandwidthEstimationMax?: number; + bandwidthEstimationStdDev?: number; + bandwidthEstimationAvg?: number; +} + +interface MSVideoPayload extends MSPayloadBase { + resoluton?: string; + videoBitRateAvg?: number; + videoBitRateMax?: number; + videoFrameRateAvg?: number; + videoPacketLossRate?: number; + durationSeconds?: number; +} + +interface MSVideoRecvPayload extends MSVideoPayload { + videoFrameLossRate?: number; + recvCodecType?: string; + recvResolutionWidth?: number; + recvResolutionHeight?: number; + videoResolutions?: MSVideoResolutionDistribution; + recvFrameRateAverage?: number; + recvBitRateMaximum?: number; + recvBitRateAverage?: number; + recvVideoStreamsMax?: number; + recvVideoStreamsMin?: number; + recvVideoStreamsMode?: number; + videoPostFECPLR?: number; + lowBitRateCallPercent?: number; + lowFrameRateCallPercent?: number; + reorderBufferTotalPackets?: number; + recvReorderBufferReorderedPackets?: number; + recvReorderBufferPacketsDroppedDueToBufferExhaustion?: number; + recvReorderBufferMaxSuccessfullyOrderedExtent?: number; + recvReorderBufferMaxSuccessfullyOrderedLateTime?: number; + recvReorderBufferPacketsDroppedDueToTimeout?: number; + recvFpsHarmonicAverage?: number; + recvNumResSwitches?: number; +} + +interface MSVideoResolutionDistribution { + cifQuality?: number; + vgaQuality?: number; + h720Quality?: number; + h1080Quality?: number; + h1440Quality?: number; + h2160Quality?: number; +} + +interface MSVideoSendPayload extends MSVideoPayload { + sendFrameRateAverage?: number; + sendBitRateMaximum?: number; + sendBitRateAverage?: number; + sendVideoStreamsMax?: number; + sendResolutionWidth?: number; + sendResolutionHeight?: number; +} + +interface MediaEncryptedEventInit extends EventInit { + initDataType?: string; + initData?: ArrayBuffer; +} + +interface MediaKeyMessageEventInit extends EventInit { + messageType?: string; + message?: ArrayBuffer; +} + +interface MediaKeySystemConfiguration { + initDataTypes?: string[]; + audioCapabilities?: MediaKeySystemMediaCapability[]; + videoCapabilities?: MediaKeySystemMediaCapability[]; + distinctiveIdentifier?: string; + persistentState?: string; +} + +interface MediaKeySystemMediaCapability { + contentType?: string; + robustness?: string; +} + +interface MediaStreamConstraints { + video?: boolean | MediaTrackConstraints; + audio?: boolean | MediaTrackConstraints; +} + +interface MediaStreamErrorEventInit extends EventInit { + error?: MediaStreamError; +} + +interface MediaStreamTrackEventInit extends EventInit { + track?: MediaStreamTrack; +} + +interface MediaTrackCapabilities { + width?: number | LongRange; + height?: number | LongRange; + aspectRatio?: number | DoubleRange; + frameRate?: number | DoubleRange; + facingMode?: string; + volume?: number | DoubleRange; + sampleRate?: number | LongRange; + sampleSize?: number | LongRange; + echoCancellation?: boolean[]; + deviceId?: string; + groupId?: string; +} + +interface MediaTrackConstraintSet { + width?: number | ConstrainLongRange; + height?: number | ConstrainLongRange; + aspectRatio?: number | ConstrainDoubleRange; + frameRate?: number | ConstrainDoubleRange; + facingMode?: string | string[] | ConstrainDOMStringParameters; + volume?: number | ConstrainDoubleRange; + sampleRate?: number | ConstrainLongRange; + sampleSize?: number | ConstrainLongRange; + echoCancelation?: boolean | ConstrainBooleanParameters; + deviceId?: string | string[] | ConstrainDOMStringParameters; + groupId?: string | string[] | ConstrainDOMStringParameters; +} + +interface MediaTrackConstraints extends MediaTrackConstraintSet { + advanced?: MediaTrackConstraintSet[]; +} + +interface MediaTrackSettings { + width?: number; + height?: number; + aspectRatio?: number; + frameRate?: number; + facingMode?: string; + volume?: number; + sampleRate?: number; + sampleSize?: number; + echoCancellation?: boolean; + deviceId?: string; + groupId?: string; +} + +interface MediaTrackSupportedConstraints { + width?: boolean; + height?: boolean; + aspectRatio?: boolean; + frameRate?: boolean; + facingMode?: boolean; + volume?: boolean; + sampleRate?: boolean; + sampleSize?: boolean; + echoCancellation?: boolean; + deviceId?: boolean; + groupId?: boolean; +} + +interface MouseEventInit extends EventModifierInit { screenX?: number; screenY?: number; clientX?: number; @@ -107,6 +552,10 @@ interface ObjectURLOptions { oneTimeOnly?: boolean; } +interface PeriodicWaveConstraints { + disableNormalization?: boolean; +} + interface PointerEventInit extends MouseEventInit { pointerId?: number; width?: number; @@ -124,22 +573,266 @@ interface PositionOptions { maximumAge?: number; } -interface SharedKeyboardAndMouseEventInit extends UIEventInit { - ctrlKey?: boolean; - shiftKey?: boolean; - altKey?: boolean; - metaKey?: boolean; - keyModifierStateAltGraph?: boolean; - keyModifierStateCapsLock?: boolean; - keyModifierStateFn?: boolean; - keyModifierStateFnLock?: boolean; - keyModifierStateHyper?: boolean; - keyModifierStateNumLock?: boolean; - keyModifierStateOS?: boolean; - keyModifierStateScrollLock?: boolean; - keyModifierStateSuper?: boolean; - keyModifierStateSymbol?: boolean; - keyModifierStateSymbolLock?: boolean; +interface RTCDTMFToneChangeEventInit extends EventInit { + tone?: string; +} + +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; +} + +interface RTCDtlsParameters { + role?: string; + fingerprints?: RTCDtlsFingerprint[]; +} + +interface RTCIceCandidate { + foundation?: string; + priority?: number; + ip?: string; + protocol?: string; + port?: number; + type?: string; + tcpType?: string; + relatedAddress?: string; + relatedPort?: number; +} + +interface RTCIceCandidateAttributes extends RTCStats { + ipAddress?: string; + portNumber?: number; + transport?: string; + candidateType?: string; + priority?: number; + addressSourceUrl?: string; +} + +interface RTCIceCandidateComplete { +} + +interface RTCIceCandidatePair { + local?: RTCIceCandidate; + remote?: RTCIceCandidate; +} + +interface RTCIceCandidatePairStats extends RTCStats { + transportId?: string; + localCandidateId?: string; + remoteCandidateId?: string; + state?: string; + priority?: number; + nominated?: boolean; + writable?: boolean; + readable?: boolean; + bytesSent?: number; + bytesReceived?: number; + roundTripTime?: number; + availableOutgoingBitrate?: number; + availableIncomingBitrate?: number; +} + +interface RTCIceGatherOptions { + gatherPolicy?: string; + iceservers?: RTCIceServer[]; +} + +interface RTCIceParameters { + usernameFragment?: string; + password?: string; +} + +interface RTCIceServer { + urls?: any; + username?: string; + credential?: string; +} + +interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { + packetsReceived?: number; + bytesReceived?: number; + packetsLost?: number; + jitter?: number; + fractionLost?: number; +} + +interface RTCMediaStreamTrackStats extends RTCStats { + trackIdentifier?: string; + remoteSource?: boolean; + ssrcIds?: string[]; + frameWidth?: number; + frameHeight?: number; + framesPerSecond?: number; + framesSent?: number; + framesReceived?: number; + framesDecoded?: number; + framesDropped?: number; + framesCorrupted?: number; + audioLevel?: number; + echoReturnLoss?: number; + echoReturnLossEnhancement?: number; +} + +interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { + packetsSent?: number; + bytesSent?: number; + targetBitrate?: number; + roundTripTime?: number; +} + +interface RTCRTPStreamStats extends RTCStats { + ssrc?: string; + associateStatsId?: string; + isRemote?: boolean; + mediaTrackId?: string; + transportId?: string; + codecId?: string; + firCount?: number; + pliCount?: number; + nackCount?: number; + sliCount?: number; +} + +interface RTCRtcpFeedback { + type?: string; + parameter?: string; +} + +interface RTCRtcpParameters { + ssrc?: number; + cname?: string; + reducedSize?: boolean; + mux?: boolean; +} + +interface RTCRtpCapabilities { + codecs?: RTCRtpCodecCapability[]; + headerExtensions?: RTCRtpHeaderExtension[]; + fecMechanisms?: string[]; +} + +interface RTCRtpCodecCapability { + name?: string; + kind?: string; + clockRate?: number; + preferredPayloadType?: number; + maxptime?: number; + numChannels?: number; + rtcpFeedback?: RTCRtcpFeedback[]; + parameters?: any; + options?: any; + maxTemporalLayers?: number; + maxSpatialLayers?: number; + svcMultiStreamSupport?: boolean; +} + +interface RTCRtpCodecParameters { + name?: string; + payloadType?: any; + clockRate?: number; + maxptime?: number; + numChannels?: number; + rtcpFeedback?: RTCRtcpFeedback[]; + parameters?: any; +} + +interface RTCRtpContributingSource { + timestamp?: number; + csrc?: number; + audioLevel?: number; +} + +interface RTCRtpEncodingParameters { + ssrc?: number; + codecPayloadType?: number; + fec?: RTCRtpFecParameters; + rtx?: RTCRtpRtxParameters; + priority?: number; + maxBitrate?: number; + minQuality?: number; + framerateBias?: number; + resolutionScale?: number; + framerateScale?: number; + active?: boolean; + encodingId?: string; + dependencyEncodingIds?: string[]; + ssrcRange?: RTCSsrcRange; +} + +interface RTCRtpFecParameters { + ssrc?: number; + mechanism?: string; +} + +interface RTCRtpHeaderExtension { + kind?: string; + uri?: string; + preferredId?: number; + preferredEncrypt?: boolean; +} + +interface RTCRtpHeaderExtensionParameters { + uri?: string; + id?: number; + encrypt?: boolean; +} + +interface RTCRtpParameters { + muxId?: string; + codecs?: RTCRtpCodecParameters[]; + headerExtensions?: RTCRtpHeaderExtensionParameters[]; + encodings?: RTCRtpEncodingParameters[]; + rtcp?: RTCRtcpParameters; +} + +interface RTCRtpRtxParameters { + ssrc?: number; +} + +interface RTCRtpUnhandled { + ssrc?: number; + payloadType?: number; + muxId?: string; +} + +interface RTCSrtpKeyParam { + keyMethod?: string; + keySalt?: string; + lifetime?: string; + mkiValue?: number; + mkiLength?: number; +} + +interface RTCSrtpSdesParameters { + tag?: number; + cryptoSuite?: string; + keyParams?: RTCSrtpKeyParam[]; + sessionParams?: string[]; +} + +interface RTCSsrcRange { + min?: number; + max?: number; +} + +interface RTCStats { + timestamp?: number; + type?: string; + id?: string; + msType?: string; +} + +interface RTCStatsReport { +} + +interface RTCTransportStats extends RTCStats { + bytesSent?: number; + bytesReceived?: number; + rtcpTransportStatsId?: string; + activeConnection?: boolean; + selectedCandidatePairId?: string; + localCertificateId?: string; + remoteCertificateId?: string; } interface StoreExceptionsInformation extends ExceptionInformation { @@ -276,6 +969,7 @@ declare var AriaRequestEvent: { interface Attr extends Node { name: string; ownerElement: Element; + prefix: string; specified: boolean; value: string; } @@ -290,6 +984,8 @@ interface AudioBuffer { length: number; numberOfChannels: number; sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; getChannelData(channel: number): Float32Array; } @@ -300,14 +996,15 @@ declare var AudioBuffer: { interface AudioBufferSourceNode extends AudioNode { buffer: AudioBuffer; + detune: AudioParam; loop: boolean; loopEnd: number; loopStart: number; - onended: (ev: Event) => any; + onended: (ev: MediaStreamErrorEvent) => any; playbackRate: AudioParam; start(when?: number, offset?: number, duration?: number): void; stop(when?: number): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -333,13 +1030,14 @@ interface AudioContext extends EventTarget { createDynamicsCompressor(): DynamicsCompressorNode; createGain(): GainNode; createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; createOscillator(): OscillatorNode; createPanner(): PannerNode; - createPeriodicWave(real: Float32Array, imag: Float32Array): PeriodicWave; + createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; createStereoPanner(): StereoPannerNode; createWaveShaper(): WaveShaperNode; - decodeAudioData(audioData: ArrayBuffer, successCallback: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): void; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): PromiseLike; } declare var AudioContext: { @@ -525,8 +1223,8 @@ declare var CSSFontFaceRule: { interface CSSGroupingRule extends CSSRule { cssRules: CSSRuleList; - deleteRule(index?: number): void; - insertRule(rule: string, index?: number): number; + deleteRule(index: number): void; + insertRule(rule: string, index: number): number; } declare var CSSGroupingRule: { @@ -881,7 +1579,6 @@ interface CSSStyleDeclaration { textAlignLast: string; textAnchor: string; textDecoration: string; - textFillColor: string; textIndent: string; textJustify: string; textKashida: string; @@ -917,25 +1614,12 @@ interface CSSStyleDeclaration { webkitAnimationTimingFunction: string; webkitAppearance: string; webkitBackfaceVisibility: string; - webkitBackground: string; - webkitBackgroundAttachment: string; webkitBackgroundClip: string; - webkitBackgroundColor: string; - webkitBackgroundImage: string; webkitBackgroundOrigin: string; - webkitBackgroundPosition: string; - webkitBackgroundPositionX: string; - webkitBackgroundPositionY: string; - webkitBackgroundRepeat: string; webkitBackgroundSize: string; webkitBorderBottomLeftRadius: string; webkitBorderBottomRightRadius: string; webkitBorderImage: string; - webkitBorderImageOutset: string; - webkitBorderImageRepeat: string; - webkitBorderImageSlice: string; - webkitBorderImageSource: string; - webkitBorderImageWidth: string; webkitBorderRadius: string; webkitBorderTopLeftRadius: string; webkitBorderTopRightRadius: string; @@ -981,6 +1665,7 @@ interface CSSStyleDeclaration { webkitTransitionDuration: string; webkitTransitionProperty: string; webkitTransitionTimingFunction: string; + webkitUserModify: string; webkitUserSelect: string; webkitWritingMode: string; whiteSpace: string; @@ -1068,7 +1753,7 @@ declare var CanvasPattern: { new(): CanvasPattern; } -interface CanvasRenderingContext2D { +interface CanvasRenderingContext2D extends Object, CanvasPathMethods { canvas: HTMLCanvasElement; fillStyle: string | CanvasGradient | CanvasPattern; font: string; @@ -1088,13 +1773,9 @@ interface CanvasRenderingContext2D { strokeStyle: string | CanvasGradient | CanvasPattern; textAlign: string; textBaseline: string; - arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; - arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; beginPath(): void; - bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; clearRect(x: number, y: number, w: number, h: number): void; clip(fillRule?: string): void; - closePath(): void; createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData; createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern; @@ -1106,12 +1787,8 @@ interface CanvasRenderingContext2D { getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; getLineDash(): number[]; isPointInPath(x: number, y: number, fillRule?: string): boolean; - lineTo(x: number, y: number): void; measureText(text: string): TextMetrics; - moveTo(x: number, y: number): void; putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void; - quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; - rect(x: number, y: number, w: number, h: number): void; restore(): void; rotate(angle: number): void; save(): void; @@ -1246,6 +1923,7 @@ interface Console { dir(value?: any, ...optionalParams: any[]): void; dirxml(value: any): void; error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; group(groupTitle?: string): void; groupCollapsed(groupTitle?: string): void; groupEnd(): void; @@ -1255,6 +1933,7 @@ interface Console { profile(reportName?: string): void; profileEnd(): void; select(element: Element): void; + table(...data: any[]): void; time(timerName?: string): void; timeEnd(timerName?: string): void; trace(message?: any, ...optionalParams: any[]): void; @@ -1559,6 +2238,15 @@ declare var DeviceAcceleration: { new(): DeviceAcceleration; } +interface DeviceLightEvent extends Event { + value: number; +} + +declare var DeviceLightEvent: { + prototype: DeviceLightEvent; + new(type: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent; +} + interface DeviceMotionEvent extends Event { acceleration: DeviceAcceleration; accelerationIncludingGravity: DeviceAcceleration; @@ -1616,7 +2304,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven /** * Returns a reference to the collection of elements contained by the object. */ - all: HTMLCollection; + all: HTMLAllCollection; /** * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. */ @@ -1643,6 +2331,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven */ compatMode: string; cookie: string; + currentScript: HTMLScriptElement | SVGScriptElement; /** * Gets the default character set from the current regional language settings. */ @@ -1712,11 +2401,8 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * Contains information about the current URL. */ location: Location; - media: string; msCSSOMElementFloatMetrics: boolean; msCapsLockWarningOff: boolean; - msHidden: boolean; - msVisibilityState: string; /** * Fires when the user aborts the download. * @param ev The event. @@ -1818,7 +2504,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * Occurs when the end of playback is reached. * @param ev The event */ - onended: (ev: Event) => any; + onended: (ev: MediaStreamErrorEvent) => any; /** * Fires when an error occurs during object loading. * @param ev The event. @@ -1832,6 +2518,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven onfullscreenchange: (ev: Event) => any; onfullscreenerror: (ev: Event) => any; oninput: (ev: Event) => any; + oninvalid: (ev: Event) => any; /** * Fires when the user presses a key. * @param ev The keyboard event @@ -1896,7 +2583,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * Fires when the wheel button is rotated. * @param ev The mouse event */ - onmousewheel: (ev: MouseWheelEvent) => any; + onmousewheel: (ev: WheelEvent) => any; onmscontentzoom: (ev: UIEvent) => any; onmsgesturechange: (ev: MSGestureEvent) => any; onmsgesturedoubletap: (ev: MSGestureEvent) => any; @@ -1981,6 +2668,11 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param ev The event. */ onselect: (ev: UIEvent) => any; + /** + * Fires when the selection state of a document changes. + * @param ev The event. + */ + onselectionchange: (ev: Event) => any; onselectstart: (ev: Event) => any; /** * Occurs when the download has stopped. @@ -2037,7 +2729,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * Retrieves a collection of all script objects in the document. */ scripts: HTMLCollection; - security: string; + scrollingElement: Element; /** * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */ @@ -2061,9 +2753,9 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * Gets or sets the version attribute specified in the declaration of an XML document. */ xmlVersion: string; - currentScript: HTMLScriptElement; adoptNode(source: Node): Node; captureEvents(): void; + caretRangeFromPoint(x: number, y: number): Range; clear(): void; /** * Closes an output stream and forces the sent data to display. @@ -2090,37 +2782,24 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param tagName The name of an element. */ createElement(tagName: "a"): HTMLAnchorElement; - createElement(tagName: "abbr"): HTMLPhraseElement; - createElement(tagName: "acronym"): HTMLPhraseElement; - createElement(tagName: "address"): HTMLBlockElement; createElement(tagName: "applet"): HTMLAppletElement; createElement(tagName: "area"): HTMLAreaElement; createElement(tagName: "audio"): HTMLAudioElement; - createElement(tagName: "b"): HTMLPhraseElement; createElement(tagName: "base"): HTMLBaseElement; createElement(tagName: "basefont"): HTMLBaseFontElement; - createElement(tagName: "bdo"): HTMLPhraseElement; - createElement(tagName: "big"): HTMLPhraseElement; - createElement(tagName: "blockquote"): HTMLBlockElement; + createElement(tagName: "blockquote"): HTMLQuoteElement; createElement(tagName: "body"): HTMLBodyElement; createElement(tagName: "br"): HTMLBRElement; createElement(tagName: "button"): HTMLButtonElement; createElement(tagName: "canvas"): HTMLCanvasElement; createElement(tagName: "caption"): HTMLTableCaptionElement; - createElement(tagName: "center"): HTMLBlockElement; - createElement(tagName: "cite"): HTMLPhraseElement; - createElement(tagName: "code"): HTMLPhraseElement; createElement(tagName: "col"): HTMLTableColElement; createElement(tagName: "colgroup"): HTMLTableColElement; createElement(tagName: "datalist"): HTMLDataListElement; - createElement(tagName: "dd"): HTMLDDElement; createElement(tagName: "del"): HTMLModElement; - createElement(tagName: "dfn"): HTMLPhraseElement; createElement(tagName: "dir"): HTMLDirectoryElement; createElement(tagName: "div"): HTMLDivElement; createElement(tagName: "dl"): HTMLDListElement; - createElement(tagName: "dt"): HTMLDTElement; - createElement(tagName: "em"): HTMLPhraseElement; createElement(tagName: "embed"): HTMLEmbedElement; createElement(tagName: "fieldset"): HTMLFieldSetElement; createElement(tagName: "font"): HTMLFontElement; @@ -2136,52 +2815,41 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven createElement(tagName: "head"): HTMLHeadElement; createElement(tagName: "hr"): HTMLHRElement; createElement(tagName: "html"): HTMLHtmlElement; - createElement(tagName: "i"): HTMLPhraseElement; createElement(tagName: "iframe"): HTMLIFrameElement; createElement(tagName: "img"): HTMLImageElement; createElement(tagName: "input"): HTMLInputElement; createElement(tagName: "ins"): HTMLModElement; - createElement(tagName: "isindex"): HTMLIsIndexElement; - createElement(tagName: "kbd"): HTMLPhraseElement; - createElement(tagName: "keygen"): HTMLBlockElement; + createElement(tagName: "isindex"): HTMLUnknownElement; createElement(tagName: "label"): HTMLLabelElement; createElement(tagName: "legend"): HTMLLegendElement; createElement(tagName: "li"): HTMLLIElement; createElement(tagName: "link"): HTMLLinkElement; - createElement(tagName: "listing"): HTMLBlockElement; + createElement(tagName: "listing"): HTMLPreElement; createElement(tagName: "map"): HTMLMapElement; createElement(tagName: "marquee"): HTMLMarqueeElement; createElement(tagName: "menu"): HTMLMenuElement; createElement(tagName: "meta"): HTMLMetaElement; - createElement(tagName: "nextid"): HTMLNextIdElement; - createElement(tagName: "nobr"): HTMLPhraseElement; + createElement(tagName: "meter"): HTMLMeterElement; + createElement(tagName: "nextid"): HTMLUnknownElement; createElement(tagName: "object"): HTMLObjectElement; createElement(tagName: "ol"): HTMLOListElement; createElement(tagName: "optgroup"): HTMLOptGroupElement; createElement(tagName: "option"): HTMLOptionElement; createElement(tagName: "p"): HTMLParagraphElement; createElement(tagName: "param"): HTMLParamElement; - createElement(tagName: "plaintext"): HTMLBlockElement; + createElement(tagName: "picture"): HTMLPictureElement; createElement(tagName: "pre"): HTMLPreElement; createElement(tagName: "progress"): HTMLProgressElement; createElement(tagName: "q"): HTMLQuoteElement; - createElement(tagName: "rt"): HTMLPhraseElement; - createElement(tagName: "ruby"): HTMLPhraseElement; - createElement(tagName: "s"): HTMLPhraseElement; - createElement(tagName: "samp"): HTMLPhraseElement; createElement(tagName: "script"): HTMLScriptElement; createElement(tagName: "select"): HTMLSelectElement; - createElement(tagName: "small"): HTMLPhraseElement; createElement(tagName: "source"): HTMLSourceElement; createElement(tagName: "span"): HTMLSpanElement; - createElement(tagName: "strike"): HTMLPhraseElement; - createElement(tagName: "strong"): HTMLPhraseElement; createElement(tagName: "style"): HTMLStyleElement; - createElement(tagName: "sub"): HTMLPhraseElement; - createElement(tagName: "sup"): HTMLPhraseElement; createElement(tagName: "table"): HTMLTableElement; createElement(tagName: "tbody"): HTMLTableSectionElement; createElement(tagName: "td"): HTMLTableDataCellElement; + createElement(tagName: "template"): HTMLTemplateElement; createElement(tagName: "textarea"): HTMLTextAreaElement; createElement(tagName: "tfoot"): HTMLTableSectionElement; createElement(tagName: "th"): HTMLTableHeaderCellElement; @@ -2189,13 +2857,10 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven createElement(tagName: "title"): HTMLTitleElement; createElement(tagName: "tr"): HTMLTableRowElement; createElement(tagName: "track"): HTMLTrackElement; - createElement(tagName: "tt"): HTMLPhraseElement; - createElement(tagName: "u"): HTMLPhraseElement; createElement(tagName: "ul"): HTMLUListElement; - createElement(tagName: "var"): HTMLPhraseElement; createElement(tagName: "video"): HTMLVideoElement; createElement(tagName: "x-ms-webview"): MSHTMLWebViewElement; - createElement(tagName: "xmp"): HTMLBlockElement; + createElement(tagName: "xmp"): HTMLPreElement; createElement(tagName: string): HTMLElement; createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement @@ -2280,7 +2945,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param data String that specifies the nodeValue property of the text node. */ createTextNode(data: string): Text; - createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouch(view: Window, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; createTouchList(...touches: Touch[]): TouchList; /** * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. @@ -2331,44 +2996,44 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param name Specifies the name of an element. */ getElementsByTagName(tagname: "a"): NodeListOf; - getElementsByTagName(tagname: "abbr"): NodeListOf; - getElementsByTagName(tagname: "acronym"): NodeListOf; - getElementsByTagName(tagname: "address"): NodeListOf; + getElementsByTagName(tagname: "abbr"): NodeListOf; + getElementsByTagName(tagname: "acronym"): NodeListOf; + getElementsByTagName(tagname: "address"): NodeListOf; getElementsByTagName(tagname: "applet"): NodeListOf; getElementsByTagName(tagname: "area"): NodeListOf; getElementsByTagName(tagname: "article"): NodeListOf; getElementsByTagName(tagname: "aside"): NodeListOf; getElementsByTagName(tagname: "audio"): NodeListOf; - getElementsByTagName(tagname: "b"): NodeListOf; + getElementsByTagName(tagname: "b"): NodeListOf; getElementsByTagName(tagname: "base"): NodeListOf; getElementsByTagName(tagname: "basefont"): NodeListOf; - getElementsByTagName(tagname: "bdo"): NodeListOf; - getElementsByTagName(tagname: "big"): NodeListOf; - getElementsByTagName(tagname: "blockquote"): NodeListOf; + getElementsByTagName(tagname: "bdo"): NodeListOf; + getElementsByTagName(tagname: "big"): NodeListOf; + getElementsByTagName(tagname: "blockquote"): NodeListOf; getElementsByTagName(tagname: "body"): NodeListOf; getElementsByTagName(tagname: "br"): NodeListOf; getElementsByTagName(tagname: "button"): NodeListOf; getElementsByTagName(tagname: "canvas"): NodeListOf; getElementsByTagName(tagname: "caption"): NodeListOf; - getElementsByTagName(tagname: "center"): NodeListOf; + getElementsByTagName(tagname: "center"): NodeListOf; getElementsByTagName(tagname: "circle"): NodeListOf; - getElementsByTagName(tagname: "cite"): NodeListOf; + getElementsByTagName(tagname: "cite"): NodeListOf; getElementsByTagName(tagname: "clippath"): NodeListOf; - getElementsByTagName(tagname: "code"): NodeListOf; + getElementsByTagName(tagname: "code"): NodeListOf; getElementsByTagName(tagname: "col"): NodeListOf; getElementsByTagName(tagname: "colgroup"): NodeListOf; getElementsByTagName(tagname: "datalist"): NodeListOf; - getElementsByTagName(tagname: "dd"): NodeListOf; + getElementsByTagName(tagname: "dd"): NodeListOf; getElementsByTagName(tagname: "defs"): NodeListOf; getElementsByTagName(tagname: "del"): NodeListOf; getElementsByTagName(tagname: "desc"): NodeListOf; - getElementsByTagName(tagname: "dfn"): NodeListOf; + getElementsByTagName(tagname: "dfn"): NodeListOf; getElementsByTagName(tagname: "dir"): NodeListOf; getElementsByTagName(tagname: "div"): NodeListOf; getElementsByTagName(tagname: "dl"): NodeListOf; - getElementsByTagName(tagname: "dt"): NodeListOf; + getElementsByTagName(tagname: "dt"): NodeListOf; getElementsByTagName(tagname: "ellipse"): NodeListOf; - getElementsByTagName(tagname: "em"): NodeListOf; + getElementsByTagName(tagname: "em"): NodeListOf; getElementsByTagName(tagname: "embed"): NodeListOf; getElementsByTagName(tagname: "feblend"): NodeListOf; getElementsByTagName(tagname: "fecolormatrix"): NodeListOf; @@ -2416,22 +3081,22 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven getElementsByTagName(tagname: "hgroup"): NodeListOf; getElementsByTagName(tagname: "hr"): NodeListOf; getElementsByTagName(tagname: "html"): NodeListOf; - getElementsByTagName(tagname: "i"): NodeListOf; + getElementsByTagName(tagname: "i"): NodeListOf; getElementsByTagName(tagname: "iframe"): NodeListOf; getElementsByTagName(tagname: "image"): NodeListOf; getElementsByTagName(tagname: "img"): NodeListOf; getElementsByTagName(tagname: "input"): NodeListOf; getElementsByTagName(tagname: "ins"): NodeListOf; - getElementsByTagName(tagname: "isindex"): NodeListOf; - getElementsByTagName(tagname: "kbd"): NodeListOf; - getElementsByTagName(tagname: "keygen"): NodeListOf; + getElementsByTagName(tagname: "isindex"): NodeListOf; + getElementsByTagName(tagname: "kbd"): NodeListOf; + getElementsByTagName(tagname: "keygen"): NodeListOf; getElementsByTagName(tagname: "label"): NodeListOf; getElementsByTagName(tagname: "legend"): NodeListOf; getElementsByTagName(tagname: "li"): NodeListOf; getElementsByTagName(tagname: "line"): NodeListOf; getElementsByTagName(tagname: "lineargradient"): NodeListOf; getElementsByTagName(tagname: "link"): NodeListOf; - getElementsByTagName(tagname: "listing"): NodeListOf; + getElementsByTagName(tagname: "listing"): NodeListOf; getElementsByTagName(tagname: "map"): NodeListOf; getElementsByTagName(tagname: "mark"): NodeListOf; getElementsByTagName(tagname: "marker"): NodeListOf; @@ -2440,9 +3105,10 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven getElementsByTagName(tagname: "menu"): NodeListOf; getElementsByTagName(tagname: "meta"): NodeListOf; getElementsByTagName(tagname: "metadata"): NodeListOf; + getElementsByTagName(tagname: "meter"): NodeListOf; getElementsByTagName(tagname: "nav"): NodeListOf; - getElementsByTagName(tagname: "nextid"): NodeListOf; - getElementsByTagName(tagname: "nobr"): NodeListOf; + getElementsByTagName(tagname: "nextid"): NodeListOf; + getElementsByTagName(tagname: "nobr"): NodeListOf; getElementsByTagName(tagname: "noframes"): NodeListOf; getElementsByTagName(tagname: "noscript"): NodeListOf; getElementsByTagName(tagname: "object"): NodeListOf; @@ -2453,7 +3119,8 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven getElementsByTagName(tagname: "param"): NodeListOf; getElementsByTagName(tagname: "path"): NodeListOf; getElementsByTagName(tagname: "pattern"): NodeListOf; - getElementsByTagName(tagname: "plaintext"): NodeListOf; + getElementsByTagName(tagname: "picture"): NodeListOf; + getElementsByTagName(tagname: "plaintext"): NodeListOf; getElementsByTagName(tagname: "polygon"): NodeListOf; getElementsByTagName(tagname: "polyline"): NodeListOf; getElementsByTagName(tagname: "pre"): NodeListOf; @@ -2461,28 +3128,29 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven getElementsByTagName(tagname: "q"): NodeListOf; getElementsByTagName(tagname: "radialgradient"): NodeListOf; getElementsByTagName(tagname: "rect"): NodeListOf; - getElementsByTagName(tagname: "rt"): NodeListOf; - getElementsByTagName(tagname: "ruby"): NodeListOf; - getElementsByTagName(tagname: "s"): NodeListOf; - getElementsByTagName(tagname: "samp"): NodeListOf; + getElementsByTagName(tagname: "rt"): NodeListOf; + getElementsByTagName(tagname: "ruby"): NodeListOf; + getElementsByTagName(tagname: "s"): NodeListOf; + getElementsByTagName(tagname: "samp"): NodeListOf; getElementsByTagName(tagname: "script"): NodeListOf; getElementsByTagName(tagname: "section"): NodeListOf; getElementsByTagName(tagname: "select"): NodeListOf; - getElementsByTagName(tagname: "small"): NodeListOf; + getElementsByTagName(tagname: "small"): NodeListOf; getElementsByTagName(tagname: "source"): NodeListOf; getElementsByTagName(tagname: "span"): NodeListOf; getElementsByTagName(tagname: "stop"): NodeListOf; - getElementsByTagName(tagname: "strike"): NodeListOf; - getElementsByTagName(tagname: "strong"): NodeListOf; + getElementsByTagName(tagname: "strike"): NodeListOf; + getElementsByTagName(tagname: "strong"): NodeListOf; getElementsByTagName(tagname: "style"): NodeListOf; - getElementsByTagName(tagname: "sub"): NodeListOf; - getElementsByTagName(tagname: "sup"): NodeListOf; + getElementsByTagName(tagname: "sub"): NodeListOf; + getElementsByTagName(tagname: "sup"): NodeListOf; getElementsByTagName(tagname: "svg"): NodeListOf; getElementsByTagName(tagname: "switch"): NodeListOf; getElementsByTagName(tagname: "symbol"): NodeListOf; getElementsByTagName(tagname: "table"): NodeListOf; getElementsByTagName(tagname: "tbody"): NodeListOf; getElementsByTagName(tagname: "td"): NodeListOf; + getElementsByTagName(tagname: "template"): NodeListOf; getElementsByTagName(tagname: "text"): NodeListOf; getElementsByTagName(tagname: "textpath"): NodeListOf; getElementsByTagName(tagname: "textarea"): NodeListOf; @@ -2493,16 +3161,16 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven getElementsByTagName(tagname: "tr"): NodeListOf; getElementsByTagName(tagname: "track"): NodeListOf; getElementsByTagName(tagname: "tspan"): NodeListOf; - getElementsByTagName(tagname: "tt"): NodeListOf; - getElementsByTagName(tagname: "u"): NodeListOf; + getElementsByTagName(tagname: "tt"): NodeListOf; + getElementsByTagName(tagname: "u"): NodeListOf; getElementsByTagName(tagname: "ul"): NodeListOf; getElementsByTagName(tagname: "use"): NodeListOf; - getElementsByTagName(tagname: "var"): NodeListOf; + getElementsByTagName(tagname: "var"): NodeListOf; getElementsByTagName(tagname: "video"): NodeListOf; getElementsByTagName(tagname: "view"): NodeListOf; getElementsByTagName(tagname: "wbr"): NodeListOf; getElementsByTagName(tagname: "x-ms-webview"): NodeListOf; - getElementsByTagName(tagname: "xmp"): NodeListOf; + getElementsByTagName(tagname: "xmp"): NodeListOf; getElementsByTagName(tagname: string): NodeListOf; getElementsByTagNameNS(namespaceURI: string, localName: string): NodeListOf; /** @@ -2611,12 +3279,13 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "fullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "fullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -2629,7 +3298,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "mssitemodejumplistitemremoved", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; addEventListener(type: "msthumbnailclick", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -2653,6 +3322,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectionchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "stop", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -2725,6 +3395,14 @@ declare var DynamicsCompressorNode: { new(): DynamicsCompressorNode; } +interface EXT_frag_depth { +} + +declare var EXT_frag_depth: { + prototype: EXT_frag_depth; + new(): EXT_frag_depth; +} + interface EXT_texture_filter_anisotropic { MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; TEXTURE_MAX_ANISOTROPY_EXT: number; @@ -2739,10 +3417,12 @@ declare var EXT_texture_filter_anisotropic: { interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelector, ChildNode { classList: DOMTokenList; + className: string; clientHeight: number; clientLeft: number; clientTop: number; clientWidth: number; + id: string; msContentZoomFactor: number; msRegionOverflow: string; onariarequest: (ev: AriaRequestEvent) => any; @@ -2772,13 +3452,12 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec ontouchstart: (ev: TouchEvent) => any; onwebkitfullscreenchange: (ev: Event) => any; onwebkitfullscreenerror: (ev: Event) => any; + prefix: string; scrollHeight: number; scrollLeft: number; scrollTop: number; scrollWidth: number; tagName: string; - id: string; - className: string; innerHTML: string; getAttribute(name?: string): string; getAttributeNS(namespaceURI: string, localName: string): string; @@ -2787,44 +3466,44 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getBoundingClientRect(): ClientRect; getClientRects(): ClientRectList; getElementsByTagName(name: "a"): NodeListOf; - getElementsByTagName(name: "abbr"): NodeListOf; - getElementsByTagName(name: "acronym"): NodeListOf; - getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; getElementsByTagName(name: "applet"): NodeListOf; getElementsByTagName(name: "area"): NodeListOf; getElementsByTagName(name: "article"): NodeListOf; getElementsByTagName(name: "aside"): NodeListOf; getElementsByTagName(name: "audio"): NodeListOf; - getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; getElementsByTagName(name: "base"): NodeListOf; getElementsByTagName(name: "basefont"): NodeListOf; - getElementsByTagName(name: "bdo"): NodeListOf; - getElementsByTagName(name: "big"): NodeListOf; - getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; getElementsByTagName(name: "body"): NodeListOf; getElementsByTagName(name: "br"): NodeListOf; getElementsByTagName(name: "button"): NodeListOf; getElementsByTagName(name: "canvas"): NodeListOf; getElementsByTagName(name: "caption"): NodeListOf; - getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; getElementsByTagName(name: "circle"): NodeListOf; - getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; getElementsByTagName(name: "clippath"): NodeListOf; - getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; getElementsByTagName(name: "col"): NodeListOf; getElementsByTagName(name: "colgroup"): NodeListOf; getElementsByTagName(name: "datalist"): NodeListOf; - getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; getElementsByTagName(name: "defs"): NodeListOf; getElementsByTagName(name: "del"): NodeListOf; getElementsByTagName(name: "desc"): NodeListOf; - getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; getElementsByTagName(name: "dir"): NodeListOf; getElementsByTagName(name: "div"): NodeListOf; getElementsByTagName(name: "dl"): NodeListOf; - getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; getElementsByTagName(name: "ellipse"): NodeListOf; - getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; getElementsByTagName(name: "embed"): NodeListOf; getElementsByTagName(name: "feblend"): NodeListOf; getElementsByTagName(name: "fecolormatrix"): NodeListOf; @@ -2872,22 +3551,22 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getElementsByTagName(name: "hgroup"): NodeListOf; getElementsByTagName(name: "hr"): NodeListOf; getElementsByTagName(name: "html"): NodeListOf; - getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; getElementsByTagName(name: "iframe"): NodeListOf; getElementsByTagName(name: "image"): NodeListOf; getElementsByTagName(name: "img"): NodeListOf; getElementsByTagName(name: "input"): NodeListOf; getElementsByTagName(name: "ins"): NodeListOf; - getElementsByTagName(name: "isindex"): NodeListOf; - getElementsByTagName(name: "kbd"): NodeListOf; - getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; getElementsByTagName(name: "label"): NodeListOf; getElementsByTagName(name: "legend"): NodeListOf; getElementsByTagName(name: "li"): NodeListOf; getElementsByTagName(name: "line"): NodeListOf; getElementsByTagName(name: "lineargradient"): NodeListOf; getElementsByTagName(name: "link"): NodeListOf; - getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; getElementsByTagName(name: "map"): NodeListOf; getElementsByTagName(name: "mark"): NodeListOf; getElementsByTagName(name: "marker"): NodeListOf; @@ -2896,9 +3575,10 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getElementsByTagName(name: "menu"): NodeListOf; getElementsByTagName(name: "meta"): NodeListOf; getElementsByTagName(name: "metadata"): NodeListOf; + getElementsByTagName(name: "meter"): NodeListOf; getElementsByTagName(name: "nav"): NodeListOf; - getElementsByTagName(name: "nextid"): NodeListOf; - getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; getElementsByTagName(name: "noframes"): NodeListOf; getElementsByTagName(name: "noscript"): NodeListOf; getElementsByTagName(name: "object"): NodeListOf; @@ -2909,7 +3589,8 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getElementsByTagName(name: "param"): NodeListOf; getElementsByTagName(name: "path"): NodeListOf; getElementsByTagName(name: "pattern"): NodeListOf; - getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "picture"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; getElementsByTagName(name: "polygon"): NodeListOf; getElementsByTagName(name: "polyline"): NodeListOf; getElementsByTagName(name: "pre"): NodeListOf; @@ -2917,28 +3598,29 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getElementsByTagName(name: "q"): NodeListOf; getElementsByTagName(name: "radialgradient"): NodeListOf; getElementsByTagName(name: "rect"): NodeListOf; - getElementsByTagName(name: "rt"): NodeListOf; - getElementsByTagName(name: "ruby"): NodeListOf; - getElementsByTagName(name: "s"): NodeListOf; - getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; getElementsByTagName(name: "script"): NodeListOf; getElementsByTagName(name: "section"): NodeListOf; getElementsByTagName(name: "select"): NodeListOf; - getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; getElementsByTagName(name: "source"): NodeListOf; getElementsByTagName(name: "span"): NodeListOf; getElementsByTagName(name: "stop"): NodeListOf; - getElementsByTagName(name: "strike"): NodeListOf; - getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; getElementsByTagName(name: "style"): NodeListOf; - getElementsByTagName(name: "sub"): NodeListOf; - getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; getElementsByTagName(name: "svg"): NodeListOf; getElementsByTagName(name: "switch"): NodeListOf; getElementsByTagName(name: "symbol"): NodeListOf; getElementsByTagName(name: "table"): NodeListOf; getElementsByTagName(name: "tbody"): NodeListOf; getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "template"): NodeListOf; getElementsByTagName(name: "text"): NodeListOf; getElementsByTagName(name: "textpath"): NodeListOf; getElementsByTagName(name: "textarea"): NodeListOf; @@ -2949,16 +3631,16 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getElementsByTagName(name: "tr"): NodeListOf; getElementsByTagName(name: "track"): NodeListOf; getElementsByTagName(name: "tspan"): NodeListOf; - getElementsByTagName(name: "tt"): NodeListOf; - getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; getElementsByTagName(name: "ul"): NodeListOf; getElementsByTagName(name: "use"): NodeListOf; - getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; getElementsByTagName(name: "video"): NodeListOf; getElementsByTagName(name: "view"): NodeListOf; getElementsByTagName(name: "wbr"): NodeListOf; getElementsByTagName(name: "x-ms-webview"): NodeListOf; - getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; getElementsByTagName(name: string): NodeListOf; getElementsByTagNameNS(namespaceURI: string, localName: string): NodeListOf; hasAttribute(name: string): boolean; @@ -3075,9 +3757,9 @@ declare var Event: { } interface EventTarget { - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; dispatchEvent(evt: Event): boolean; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; } declare var EventTarget: { @@ -3096,6 +3778,7 @@ declare var External: { interface File extends Blob { lastModifiedDate: any; name: string; + webkitRelativePath: string; } declare var File: { @@ -3220,6 +3903,7 @@ interface HTMLAnchorElement extends HTMLElement { * Sets or retrieves the coordinates of the object. */ coords: string; + download: string; /** * Contains the anchor portion of the URL including the hash sign (#). */ @@ -3377,6 +4061,7 @@ interface HTMLAreaElement extends HTMLElement { * Sets or retrieves the coordinates of the object. */ coords: string; + download: string; /** * Sets or retrieves the subsection of the href property that follows the number sign (#). */ @@ -3502,23 +4187,6 @@ declare var HTMLBaseFontElement: { new(): HTMLBaseFontElement; } -interface HTMLBlockElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - */ - cite: string; - clear: string; - /** - * Sets or retrieves the width of the object. - */ - width: number; -} - -declare var HTMLBlockElement: { - prototype: HTMLBlockElement; - new(): HTMLBlockElement; -} - interface HTMLBodyElement extends HTMLElement { aLink: any; background: string; @@ -3546,7 +4214,6 @@ interface HTMLBodyElement extends HTMLElement { onunload: (ev: Event) => any; text: any; vLink: any; - createTextRange(): TextRange; addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; @@ -3571,10 +4238,10 @@ interface HTMLBodyElement extends HTMLElement { addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; @@ -3585,9 +4252,9 @@ interface HTMLBodyElement extends HTMLElement { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -3599,7 +4266,7 @@ interface HTMLBodyElement extends HTMLElement { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; @@ -3607,6 +4274,7 @@ interface HTMLBodyElement extends HTMLElement { addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -3624,13 +4292,13 @@ interface HTMLBodyElement extends HTMLElement { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -3734,10 +4402,6 @@ interface HTMLButtonElement extends HTMLElement { * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** - * Creates a TextRange object for the element. - */ - createTextRange(): TextRange; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. @@ -3804,18 +4468,6 @@ declare var HTMLCollection: { new(): HTMLCollection; } -interface HTMLDDElement extends HTMLElement { - /** - * Sets or retrieves whether the browser automatically performs wordwrap. - */ - noWrap: boolean; -} - -declare var HTMLDDElement: { - prototype: HTMLDDElement; - new(): HTMLDDElement; -} - interface HTMLDListElement extends HTMLElement { compact: boolean; } @@ -3825,18 +4477,6 @@ declare var HTMLDListElement: { new(): HTMLDListElement; } -interface HTMLDTElement extends HTMLElement { - /** - * Sets or retrieves whether the browser automatically performs wordwrap. - */ - noWrap: boolean; -} - -declare var HTMLDTElement: { - prototype: HTMLDTElement; - new(): HTMLDTElement; -} - interface HTMLDataListElement extends HTMLElement { options: HTMLCollection; } @@ -3900,19 +4540,19 @@ interface HTMLElement extends Element { onabort: (ev: Event) => any; onactivate: (ev: UIEvent) => any; onbeforeactivate: (ev: UIEvent) => any; - onbeforecopy: (ev: DragEvent) => any; - onbeforecut: (ev: DragEvent) => any; + onbeforecopy: (ev: ClipboardEvent) => any; + onbeforecut: (ev: ClipboardEvent) => any; onbeforedeactivate: (ev: UIEvent) => any; - onbeforepaste: (ev: DragEvent) => any; + onbeforepaste: (ev: ClipboardEvent) => any; onblur: (ev: FocusEvent) => any; oncanplay: (ev: Event) => any; oncanplaythrough: (ev: Event) => any; onchange: (ev: Event) => any; onclick: (ev: MouseEvent) => any; oncontextmenu: (ev: PointerEvent) => any; - oncopy: (ev: DragEvent) => any; + oncopy: (ev: ClipboardEvent) => any; oncuechange: (ev: Event) => any; - oncut: (ev: DragEvent) => any; + oncut: (ev: ClipboardEvent) => any; ondblclick: (ev: MouseEvent) => any; ondeactivate: (ev: UIEvent) => any; ondrag: (ev: DragEvent) => any; @@ -3924,10 +4564,11 @@ interface HTMLElement extends Element { ondrop: (ev: DragEvent) => any; ondurationchange: (ev: Event) => any; onemptied: (ev: Event) => any; - onended: (ev: Event) => any; + onended: (ev: MediaStreamErrorEvent) => any; onerror: (ev: Event) => any; onfocus: (ev: FocusEvent) => any; oninput: (ev: Event) => any; + oninvalid: (ev: Event) => any; onkeydown: (ev: KeyboardEvent) => any; onkeypress: (ev: KeyboardEvent) => any; onkeyup: (ev: KeyboardEvent) => any; @@ -3942,10 +4583,10 @@ interface HTMLElement extends Element { onmouseout: (ev: MouseEvent) => any; onmouseover: (ev: MouseEvent) => any; onmouseup: (ev: MouseEvent) => any; - onmousewheel: (ev: MouseWheelEvent) => any; + onmousewheel: (ev: WheelEvent) => any; onmscontentzoom: (ev: UIEvent) => any; onmsmanipulationstatechanged: (ev: MSManipulationEvent) => any; - onpaste: (ev: DragEvent) => any; + onpaste: (ev: ClipboardEvent) => any; onpause: (ev: Event) => any; onplay: (ev: Event) => any; onplaying: (ev: Event) => any; @@ -4002,10 +4643,10 @@ interface HTMLElement extends Element { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4013,9 +4654,9 @@ interface HTMLElement extends Element { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -4027,11 +4668,12 @@ interface HTMLElement extends Element { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -4047,8 +4689,8 @@ interface HTMLElement extends Element { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4327,10 +4969,6 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { * Sets or retrieves whether the frame can be scrolled. */ scrolling: string; - /** - * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. - */ - security: any; /** * Sets or retrieves a URL to be loaded by the object. */ @@ -4362,10 +5000,10 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4373,9 +5011,9 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -4387,11 +5025,12 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -4408,8 +5047,8 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4519,10 +5158,10 @@ interface HTMLFrameSetElement extends HTMLElement { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; @@ -4533,9 +5172,9 @@ interface HTMLFrameSetElement extends HTMLElement { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -4547,7 +5186,7 @@ interface HTMLFrameSetElement extends HTMLElement { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; @@ -4555,6 +5194,7 @@ interface HTMLFrameSetElement extends HTMLElement { addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -4572,13 +5212,13 @@ interface HTMLFrameSetElement extends HTMLElement { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4657,7 +5297,6 @@ interface HTMLHeadingElement extends HTMLElement { * Sets or retrieves a value that indicates the table alignment. */ align: string; - clear: string; } declare var HTMLHeadingElement: { @@ -4740,10 +5379,6 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { * Sets or retrieves whether the frame can be scrolled. */ scrolling: string; - /** - * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. - */ - security: any; /** * Sets or retrieves a URL to be loaded by the object. */ @@ -4779,10 +5414,10 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4790,9 +5425,9 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -4804,11 +5439,12 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -4825,8 +5461,8 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -4902,6 +5538,7 @@ interface HTMLImageElement extends HTMLElement { * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. */ longDesc: string; + lowsrc: string; /** * Gets or sets whether the DLNA PlayTo device is available. */ @@ -4927,6 +5564,7 @@ interface HTMLImageElement extends HTMLElement { * The original width of the image resource before sizing. */ naturalWidth: number; + sizes: string; /** * The address or URL of the a media resource that is to be considered. */ @@ -5071,6 +5709,7 @@ interface HTMLInputElement extends HTMLElement { * When present, marks an element that can't be submitted without a value. */ required: boolean; + selectionDirection: string; /** * Gets or sets the end position or offset of a text selection. */ @@ -5118,6 +5757,7 @@ interface HTMLInputElement extends HTMLElement { * Sets or retrieves the vertical margin for the object. */ vspace: number; + webkitdirectory: boolean; /** * Sets or retrieves the width of the object. */ @@ -5126,14 +5766,11 @@ interface HTMLInputElement extends HTMLElement { * Returns whether an element will successfully validate based on forms validation rules and constraints. */ willValidate: boolean; + minLength: number; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** - * Creates a TextRange object for the element. - */ - createTextRange(): TextRange; /** * Makes the selection equal to the current object. */ @@ -5148,7 +5785,7 @@ interface HTMLInputElement extends HTMLElement { * @param start The offset into the text field for the start of the selection. * @param end The offset into the text field for the end of the selection. */ - setSelectionRange(start: number, end: number): void; + setSelectionRange(start?: number, end?: number, direction?: string): void; /** * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value. * @param n Value to decrement the value by. @@ -5166,23 +5803,6 @@ declare var HTMLInputElement: { new(): HTMLInputElement; } -interface HTMLIsIndexElement extends HTMLElement { - /** - * Sets or retrieves the URL to which the form content is sent for processing. - */ - action: string; - /** - * Retrieves a reference to the form that the object is embedded in. - */ - form: HTMLFormElement; - prompt: string; -} - -declare var HTMLIsIndexElement: { - prototype: HTMLIsIndexElement; - new(): HTMLIsIndexElement; -} - interface HTMLLIElement extends HTMLElement { type: string; /** @@ -5262,6 +5882,7 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { * Sets or retrieves the MIME type of the object. */ type: string; + import?: Document; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -5326,10 +5947,10 @@ interface HTMLMarqueeElement extends HTMLElement { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "bounce", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -5338,9 +5959,9 @@ interface HTMLMarqueeElement extends HTMLElement { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -5352,12 +5973,13 @@ interface HTMLMarqueeElement extends HTMLElement { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "finish", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -5373,8 +5995,8 @@ interface HTMLMarqueeElement extends HTMLElement { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -5433,6 +6055,7 @@ interface HTMLMediaElement extends HTMLElement { * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). */ controls: boolean; + crossOrigin: string; /** * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. */ @@ -5462,6 +6085,7 @@ interface HTMLMediaElement extends HTMLElement { * Gets or sets a flag to specify whether playback should restart after it completes. */ loop: boolean; + mediaKeys: MediaKeys; /** * Specifies the purpose of the audio or video media, such as background audio or alerts. */ @@ -5503,6 +6127,7 @@ interface HTMLMediaElement extends HTMLElement { * Gets the current network activity for the element. */ networkState: number; + onencrypted: (ev: MediaEncryptedEvent) => any; onmsneedkey: (ev: MSMediaKeyNeededEvent) => any; /** * Gets a flag that specifies whether playback is paused. @@ -5533,6 +6158,7 @@ interface HTMLMediaElement extends HTMLElement { * The address or URL of the a media resource that is to be considered. */ src: string; + srcObject: MediaStream; textTracks: TextTrackList; videoTracks: VideoTrackList; /** @@ -5570,6 +6196,7 @@ interface HTMLMediaElement extends HTMLElement { * Loads and starts playback of a media resource. */ play(): void; + setMediaKeys(mediaKeys: MediaKeys): PromiseLike; HAVE_CURRENT_DATA: number; HAVE_ENOUGH_DATA: number; HAVE_FUTURE_DATA: number; @@ -5602,10 +6229,10 @@ interface HTMLMediaElement extends HTMLElement { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -5613,9 +6240,9 @@ interface HTMLMediaElement extends HTMLElement { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -5627,11 +6254,13 @@ interface HTMLMediaElement extends HTMLElement { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "encrypted", listener: (ev: MediaEncryptedEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -5647,9 +6276,9 @@ interface HTMLMediaElement extends HTMLElement { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -5741,6 +6370,20 @@ declare var HTMLMetaElement: { new(): HTMLMetaElement; } +interface HTMLMeterElement extends HTMLElement { + high: number; + low: number; + max: number; + min: number; + optimum: number; + value: number; +} + +declare var HTMLMeterElement: { + prototype: HTMLMeterElement; + new(): HTMLMeterElement; +} + interface HTMLModElement extends HTMLElement { /** * Sets or retrieves reference information about the object. @@ -5757,15 +6400,6 @@ declare var HTMLModElement: { new(): HTMLModElement; } -interface HTMLNextIdElement extends HTMLElement { - n: string; -} - -declare var HTMLNextIdElement: { - prototype: HTMLNextIdElement; - new(): HTMLNextIdElement; -} - interface HTMLOListElement extends HTMLElement { compact: boolean; /** @@ -5975,6 +6609,18 @@ declare var HTMLOptionElement: { create(): HTMLOptionElement; } +interface HTMLOptionsCollection extends HTMLCollection { + length: number; + selectedIndex: number; + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; + remove(index: number): void; +} + +declare var HTMLOptionsCollection: { + prototype: HTMLOptionsCollection; + new(): HTMLOptionsCollection; +} + interface HTMLParagraphElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. @@ -6012,28 +6658,15 @@ declare var HTMLParamElement: { new(): HTMLParamElement; } -interface HTMLPhraseElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - */ - cite: string; - /** - * Sets or retrieves the date and time of a modification to the object. - */ - dateTime: string; +interface HTMLPictureElement extends HTMLElement { } -declare var HTMLPhraseElement: { - prototype: HTMLPhraseElement; - new(): HTMLPhraseElement; +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; } interface HTMLPreElement extends HTMLElement { - /** - * Indicates a citation by rendering text in italic type. - */ - cite: string; - clear: string; /** * Sets or gets a value that you can use to implement your own width functionality for the object. */ @@ -6074,10 +6707,6 @@ interface HTMLQuoteElement extends HTMLElement { * Sets or retrieves reference information about the object. */ cite: string; - /** - * Sets or retrieves the date and time of a modification to the object. - */ - dateTime: string; } declare var HTMLQuoteElement: { @@ -6153,6 +6782,7 @@ interface HTMLSelectElement extends HTMLElement { * Sets or retrieves the index of the selected option in a select object. */ selectedIndex: number; + selectedOptions: HTMLCollection; /** * Sets or retrieves the number of rows in the list box. */ @@ -6177,7 +6807,6 @@ interface HTMLSelectElement extends HTMLElement { * Returns whether an element will successfully validate based on forms validation rules and constraints. */ willValidate: boolean; - selectedOptions: HTMLCollection; /** * Adds an element to the areas, controlRange, or options collection. * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. @@ -6223,10 +6852,12 @@ interface HTMLSourceElement extends HTMLElement { */ media: string; msKeySystem: string; + sizes: string; /** * The address or URL of the a media resource that is to be considered. */ src: string; + srcset: string; /** * Gets or sets the MIME type of a media resource. */ @@ -6247,6 +6878,7 @@ declare var HTMLSpanElement: { } interface HTMLStyleElement extends HTMLElement, LinkStyle { + disabled: boolean; /** * Sets or retrieves the media type. */ @@ -6552,6 +7184,15 @@ declare var HTMLTableSectionElement: { new(): HTMLTableSectionElement; } +interface HTMLTemplateElement extends HTMLElement { + content: DocumentFragment; +} + +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; +} + interface HTMLTextAreaElement extends HTMLElement { /** * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. @@ -6630,14 +7271,11 @@ interface HTMLTextAreaElement extends HTMLElement { * Sets or retrieves how to handle wordwrapping in the object. */ wrap: string; + minLength: number; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** - * Creates a TextRange object for the element. - */ - createTextRange(): TextRange; /** * Highlights the input area of a form element. */ @@ -6779,10 +7417,10 @@ interface HTMLVideoElement extends HTMLMediaElement { addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; - addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -6790,9 +7428,9 @@ interface HTMLVideoElement extends HTMLMediaElement { addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; - addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -6804,11 +7442,13 @@ interface HTMLVideoElement extends HTMLMediaElement { addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "encrypted", listener: (ev: MediaEncryptedEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -6824,9 +7464,9 @@ interface HTMLVideoElement extends HTMLMediaElement { addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; - addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: ClipboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -6894,11 +7534,11 @@ declare var History: { interface IDBCursor { direction: string; - key: any; + key: IDBKeyRange | IDBValidKey; primaryKey: any; source: IDBObjectStore | IDBIndex; advance(count: number): void; - continue(key?: any): void; + continue(key?: IDBKeyRange | IDBValidKey): void; delete(): IDBRequest; update(value: any): IDBRequest; NEXT: string; @@ -6931,10 +7571,12 @@ interface IDBDatabase extends EventTarget { onabort: (ev: Event) => any; onerror: (ev: Event) => any; version: number; + onversionchange: (ev: IDBVersionChangeEvent) => any; close(): void; createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; deleteObjectStore(name: string): void; transaction(storeNames: string | string[], mode?: string): IDBTransaction; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -6962,11 +7604,11 @@ interface IDBIndex { objectStore: IDBObjectStore; unique: boolean; multiEntry: boolean; - count(key?: any): IDBRequest; - get(key: any): IDBRequest; - getKey(key: any): IDBRequest; - openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; - openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; } declare var IDBIndex: { @@ -6985,9 +7627,9 @@ declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; - lowerBound(bound: any, open?: boolean): IDBKeyRange; + lowerBound(lower: any, open?: boolean): IDBKeyRange; only(value: any): IDBKeyRange; - upperBound(bound: any, open?: boolean): IDBKeyRange; + upperBound(upper: any, open?: boolean): IDBKeyRange; } interface IDBObjectStore { @@ -6996,16 +7638,16 @@ interface IDBObjectStore { name: string; transaction: IDBTransaction; autoIncrement: boolean; - add(value: any, key?: any): IDBRequest; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; clear(): IDBRequest; - count(key?: any): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: any): IDBRequest; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; deleteIndex(indexName: string): void; get(key: any): IDBRequest; index(name: string): IDBIndex; - openCursor(range?: any, direction?: string): IDBRequest; - put(value: any, key?: any): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } declare var IDBObjectStore: { @@ -7128,6 +7770,16 @@ declare var KeyboardEvent: { DOM_KEY_LOCATION_STANDARD: number; } +interface ListeningStateChangedEvent extends Event { + label: string; + state: string; +} + +declare var ListeningStateChangedEvent: { + prototype: ListeningStateChangedEvent; + new(): ListeningStateChangedEvent; +} + interface Location { hash: string; host: string; @@ -7169,7 +7821,7 @@ interface MSApp { execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; getCurrentPriority(): string; - getHtmlPrintDocumentSourceAsync(htmlDoc: any): any; + getHtmlPrintDocumentSourceAsync(htmlDoc: any): PromiseLike; getViewId(view: any): any; isTaskScheduledAtPriorityOrHigher(priority: string): boolean; pageHandlesAllApplicationActivations(enabled: boolean): void; @@ -7205,6 +7857,16 @@ declare var MSAppAsyncOperation: { STARTED: number; } +interface MSAssertion { + id: string; + type: string; +} + +declare var MSAssertion: { + prototype: MSAssertion; + new(): MSAssertion; +} + interface MSBlobBuilder { append(data: any, endings?: string): void; getBlob(contentType?: string): Blob; @@ -7215,44 +7877,46 @@ declare var MSBlobBuilder: { new(): MSBlobBuilder; } -interface MSCSSMatrix { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - m11: number; - m12: number; - m13: number; - m14: number; - m21: number; - m22: number; - m23: number; - m24: number; - m31: number; - m32: number; - m33: number; - m34: number; - m41: number; - m42: number; - m43: number; - m44: number; - inverse(): MSCSSMatrix; - multiply(secondMatrix: MSCSSMatrix): MSCSSMatrix; - rotate(angleX: number, angleY?: number, angleZ?: number): MSCSSMatrix; - rotateAxisAngle(x: number, y: number, z: number, angle: number): MSCSSMatrix; - scale(scaleX: number, scaleY?: number, scaleZ?: number): MSCSSMatrix; - setMatrixValue(value: string): void; - skewX(angle: number): MSCSSMatrix; - skewY(angle: number): MSCSSMatrix; - toString(): string; - translate(x: number, y: number, z?: number): MSCSSMatrix; +interface MSCredentials { + getAssertion(challenge: string, filter?: MSCredentialFilter, params?: MSSignatureParameters): PromiseLike; + makeCredential(accountInfo: MSAccountInfo, params: MSCredentialParameters[], challenge?: string): PromiseLike; } -declare var MSCSSMatrix: { - prototype: MSCSSMatrix; - new(text?: string): MSCSSMatrix; +declare var MSCredentials: { + prototype: MSCredentials; + new(): MSCredentials; +} + +interface MSFIDOCredentialAssertion extends MSAssertion { + algorithm: string | Algorithm; + attestation: any; + publicKey: string; + transportHints: string[]; +} + +declare var MSFIDOCredentialAssertion: { + prototype: MSFIDOCredentialAssertion; + new(): MSFIDOCredentialAssertion; +} + +interface MSFIDOSignature { + authnrData: string; + clientData: string; + signature: string; +} + +declare var MSFIDOSignature: { + prototype: MSFIDOSignature; + new(): MSFIDOSignature; +} + +interface MSFIDOSignatureAssertion extends MSAssertion { + signature: MSFIDOSignature; +} + +declare var MSFIDOSignatureAssertion: { + prototype: MSFIDOSignatureAssertion; + new(): MSFIDOSignatureAssertion; } interface MSGesture { @@ -7457,25 +8121,7 @@ declare var MSMediaKeys: { prototype: MSMediaKeys; new(keySystem: string): MSMediaKeys; isTypeSupported(keySystem: string, type?: string): boolean; -} - -interface MSMimeTypesCollection { - length: number; -} - -declare var MSMimeTypesCollection: { - prototype: MSMimeTypesCollection; - new(): MSMimeTypesCollection; -} - -interface MSPluginsCollection { - length: number; - refresh(reload?: boolean): void; -} - -declare var MSPluginsCollection: { - prototype: MSPluginsCollection; - new(): MSPluginsCollection; + isTypeSupportedWithFeatures(keySystem: string, type?: string): string; } interface MSPointerEvent extends MouseEvent { @@ -7589,6 +8235,32 @@ declare var MSWebViewSettings: { new(): MSWebViewSettings; } +interface MediaDeviceInfo { + deviceId: string; + groupId: string; + kind: string; + label: string; +} + +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; +} + +interface MediaDevices extends EventTarget { + ondevicechange: (ev: Event) => any; + enumerateDevices(): any; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints: MediaStreamConstraints): PromiseLike; + addEventListener(type: "devicechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; +} + interface MediaElementAudioSourceNode extends AudioNode { } @@ -7597,6 +8269,16 @@ declare var MediaElementAudioSourceNode: { new(): MediaElementAudioSourceNode; } +interface MediaEncryptedEvent extends Event { + initData: ArrayBuffer; + initDataType: string; +} + +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; +} + interface MediaError { code: number; msExtendedCode: number; @@ -7617,6 +8299,66 @@ declare var MediaError: { MS_MEDIA_ERR_ENCRYPTED: number; } +interface MediaKeyMessageEvent extends Event { + message: ArrayBuffer; + messageType: string; +} + +declare var MediaKeyMessageEvent: { + prototype: MediaKeyMessageEvent; + new(type: string, eventInitDict?: MediaKeyMessageEventInit): MediaKeyMessageEvent; +} + +interface MediaKeySession extends EventTarget { + closed: PromiseLike; + expiration: number; + keyStatuses: MediaKeyStatusMap; + sessionId: string; + close(): PromiseLike; + generateRequest(initDataType: string, initData: any): PromiseLike; + load(sessionId: string): PromiseLike; + remove(): PromiseLike; + update(response: any): PromiseLike; +} + +declare var MediaKeySession: { + prototype: MediaKeySession; + new(): MediaKeySession; +} + +interface MediaKeyStatusMap { + size: number; + forEach(callback: ForEachCallback): void; + get(keyId: any): string; + has(keyId: any): boolean; +} + +declare var MediaKeyStatusMap: { + prototype: MediaKeyStatusMap; + new(): MediaKeyStatusMap; +} + +interface MediaKeySystemAccess { + keySystem: string; + createMediaKeys(): PromiseLike; + getConfiguration(): MediaKeySystemConfiguration; +} + +declare var MediaKeySystemAccess: { + prototype: MediaKeySystemAccess; + new(): MediaKeySystemAccess; +} + +interface MediaKeys { + createSession(sessionType?: string): MediaKeySession; + setServerCertificate(serverCertificate: any): PromiseLike; +} + +declare var MediaKeys: { + prototype: MediaKeys; + new(): MediaKeys; +} + interface MediaList { length: number; mediaText: string; @@ -7660,6 +8402,101 @@ declare var MediaSource: { isTypeSupported(type: string): boolean; } +interface MediaStream extends EventTarget { + active: boolean; + id: string; + onactive: (ev: Event) => any; + onaddtrack: (ev: TrackEvent) => any; + oninactive: (ev: Event) => any; + onremovetrack: (ev: TrackEvent) => any; + addTrack(track: MediaStreamTrack): void; + clone(): MediaStream; + getAudioTracks(): MediaStreamTrack[]; + getTrackById(trackId: string): MediaStreamTrack; + getTracks(): MediaStreamTrack[]; + getVideoTracks(): MediaStreamTrack[]; + removeTrack(track: MediaStreamTrack): void; + stop(): void; + addEventListener(type: "active", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: "inactive", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "removetrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MediaStream: { + prototype: MediaStream; + new(streamOrTracks?: MediaStream | MediaStreamTrack[]): MediaStream; +} + +interface MediaStreamAudioSourceNode extends AudioNode { +} + +declare var MediaStreamAudioSourceNode: { + prototype: MediaStreamAudioSourceNode; + new(): MediaStreamAudioSourceNode; +} + +interface MediaStreamError { + constraintName: string; + message: string; + name: string; +} + +declare var MediaStreamError: { + prototype: MediaStreamError; + new(): MediaStreamError; +} + +interface MediaStreamErrorEvent extends Event { + error: MediaStreamError; +} + +declare var MediaStreamErrorEvent: { + prototype: MediaStreamErrorEvent; + new(type: string, eventInitDict?: MediaStreamErrorEventInit): MediaStreamErrorEvent; +} + +interface MediaStreamTrack extends EventTarget { + enabled: boolean; + id: string; + kind: string; + label: string; + muted: boolean; + onended: (ev: MediaStreamErrorEvent) => any; + onmute: (ev: Event) => any; + onoverconstrained: (ev: MediaStreamErrorEvent) => any; + onunmute: (ev: Event) => any; + readonly: boolean; + readyState: string; + remote: boolean; + applyConstraints(constraints: MediaTrackConstraints): PromiseLike; + clone(): MediaStreamTrack; + getCapabilities(): MediaTrackCapabilities; + getConstraints(): MediaTrackConstraints; + getSettings(): MediaTrackSettings; + stop(): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mute", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "overconstrained", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "unmute", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MediaStreamTrack: { + prototype: MediaStreamTrack; + new(): MediaStreamTrack; +} + +interface MediaStreamTrackEvent extends Event { + track: MediaStreamTrack; +} + +declare var MediaStreamTrackEvent: { + prototype: MediaStreamTrackEvent; + new(type: string, eventInitDict?: MediaStreamTrackEventInit): MediaStreamTrackEvent; +} + interface MessageChannel { port1: MessagePort; port2: MessagePort; @@ -7755,18 +8592,6 @@ declare var MouseEvent: { new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent; } -interface MouseWheelEvent extends MouseEvent { - wheelDelta: number; - wheelDeltaX: number; - wheelDeltaY: number; - initMouseWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, wheelDeltaArg: number): void; -} - -declare var MouseWheelEvent: { - prototype: MouseWheelEvent; - new(): MouseWheelEvent; -} - interface MutationEvent extends Event { attrChange: number; attrName: string; @@ -7860,27 +8685,22 @@ declare var NavigationEventWithReferrer: { new(): NavigationEventWithReferrer; } -interface Navigator extends Object, NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, NavigatorGeolocation, MSNavigatorDoNotTrack, MSFileSaver { +interface Navigator extends Object, NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, NavigatorGeolocation, MSNavigatorDoNotTrack, MSFileSaver, NavigatorUserMedia { appCodeName: string; - appMinorVersion: string; - browserLanguage: string; - connectionSpeed: number; cookieEnabled: boolean; - cpuClass: string; language: string; maxTouchPoints: number; - mimeTypes: MSMimeTypesCollection; + mimeTypes: MimeTypeArray; msManipulationViewsEnabled: boolean; msMaxTouchPoints: number; msPointerEnabled: boolean; - plugins: MSPluginsCollection; + plugins: PluginArray; pointerEnabled: boolean; - systemLanguage: string; - userLanguage: string; webdriver: boolean; getGamepads(): Gamepad[]; javaEnabled(): boolean; msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; + requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): PromiseLike; vibrate(pattern: number | number[]): boolean; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -7905,12 +8725,12 @@ interface Node extends EventTarget { ownerDocument: Document; parentElement: HTMLElement; parentNode: Node; - prefix: string; previousSibling: Node; textContent: string; appendChild(newChild: Node): Node; cloneNode(deep?: boolean): Node; compareDocumentPosition(other: Node): number; + contains(child: Node): boolean; hasAttributes(): boolean; hasChildNodes(): boolean; insertBefore(newChild: Node, refChild?: Node): Node; @@ -8060,7 +8880,7 @@ declare var OfflineAudioCompletionEvent: { interface OfflineAudioContext extends AudioContext { oncomplete: (ev: Event) => any; - startRendering(): void; + startRendering(): PromiseLike; addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -8073,12 +8893,12 @@ declare var OfflineAudioContext: { interface OscillatorNode extends AudioNode { detune: AudioParam; frequency: AudioParam; - onended: (ev: Event) => any; + onended: (ev: MediaStreamErrorEvent) => any; type: string; setPeriodicWave(periodicWave: PeriodicWave): void; start(when?: number): void; stop(when?: number): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -8087,6 +8907,23 @@ declare var OscillatorNode: { new(): OscillatorNode; } +interface OverflowEvent extends UIEvent { + horizontalOverflow: boolean; + orient: number; + verticalOverflow: boolean; + BOTH: number; + HORIZONTAL: number; + VERTICAL: number; +} + +declare var OverflowEvent: { + prototype: OverflowEvent; + new(): OverflowEvent; + BOTH: number; + HORIZONTAL: number; + VERTICAL: number; +} + interface PageTransitionEvent extends Event { persisted: boolean; } @@ -8430,6 +9267,203 @@ declare var ProgressEvent: { new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; } +interface RTCDTMFToneChangeEvent extends Event { + tone: string; +} + +declare var RTCDTMFToneChangeEvent: { + prototype: RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +} + +interface RTCDtlsTransport extends RTCStatsProvider { + ondtlsstatechange: (ev: RTCDtlsTransportStateChangedEvent) => any; + onerror: (ev: Event) => any; + state: string; + transport: RTCIceTransport; + getLocalParameters(): RTCDtlsParameters; + getRemoteCertificates(): ArrayBuffer[]; + getRemoteParameters(): RTCDtlsParameters; + start(remoteParameters: RTCDtlsParameters): void; + stop(): void; + addEventListener(type: "dtlsstatechange", listener: (ev: RTCDtlsTransportStateChangedEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCDtlsTransport: { + prototype: RTCDtlsTransport; + new(transport: RTCIceTransport): RTCDtlsTransport; +} + +interface RTCDtlsTransportStateChangedEvent extends Event { + state: string; +} + +declare var RTCDtlsTransportStateChangedEvent: { + prototype: RTCDtlsTransportStateChangedEvent; + new(): RTCDtlsTransportStateChangedEvent; +} + +interface RTCDtmfSender extends EventTarget { + canInsertDTMF: boolean; + duration: number; + interToneGap: number; + ontonechange: (ev: RTCDTMFToneChangeEvent) => any; + sender: RTCRtpSender; + toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: "tonechange", listener: (ev: RTCDTMFToneChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCDtmfSender: { + prototype: RTCDtmfSender; + new(sender: RTCRtpSender): RTCDtmfSender; +} + +interface RTCIceCandidatePairChangedEvent extends Event { + pair: RTCIceCandidatePair; +} + +declare var RTCIceCandidatePairChangedEvent: { + prototype: RTCIceCandidatePairChangedEvent; + new(): RTCIceCandidatePairChangedEvent; +} + +interface RTCIceGatherer extends RTCStatsProvider { + component: string; + onerror: (ev: Event) => any; + onlocalcandidate: (ev: RTCIceGathererEvent) => any; + createAssociatedGatherer(): RTCIceGatherer; + getLocalCandidates(): RTCIceCandidate[]; + getLocalParameters(): RTCIceParameters; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "localcandidate", listener: (ev: RTCIceGathererEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCIceGatherer: { + prototype: RTCIceGatherer; + new(options: RTCIceGatherOptions): RTCIceGatherer; +} + +interface RTCIceGathererEvent extends Event { + candidate: RTCIceCandidate | RTCIceCandidateComplete; +} + +declare var RTCIceGathererEvent: { + prototype: RTCIceGathererEvent; + new(): RTCIceGathererEvent; +} + +interface RTCIceTransport extends RTCStatsProvider { + component: string; + iceGatherer: RTCIceGatherer; + oncandidatepairchange: (ev: RTCIceCandidatePairChangedEvent) => any; + onicestatechange: (ev: RTCIceTransportStateChangedEvent) => any; + role: string; + state: string; + addRemoteCandidate(remoteCandidate: RTCIceCandidate | RTCIceCandidateComplete): void; + createAssociatedTransport(): RTCIceTransport; + getNominatedCandidatePair(): RTCIceCandidatePair; + getRemoteCandidates(): RTCIceCandidate[]; + getRemoteParameters(): RTCIceParameters; + setRemoteCandidates(remoteCandidates: RTCIceCandidate[]): void; + start(gatherer: RTCIceGatherer, remoteParameters: RTCIceParameters, role?: string): void; + stop(): void; + addEventListener(type: "candidatepairchange", listener: (ev: RTCIceCandidatePairChangedEvent) => any, useCapture?: boolean): void; + addEventListener(type: "icestatechange", listener: (ev: RTCIceTransportStateChangedEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCIceTransport: { + prototype: RTCIceTransport; + new(): RTCIceTransport; +} + +interface RTCIceTransportStateChangedEvent extends Event { + state: string; +} + +declare var RTCIceTransportStateChangedEvent: { + prototype: RTCIceTransportStateChangedEvent; + new(): RTCIceTransportStateChangedEvent; +} + +interface RTCRtpReceiver extends RTCStatsProvider { + onerror: (ev: Event) => any; + rtcpTransport: RTCDtlsTransport; + track: MediaStreamTrack; + transport: RTCDtlsTransport | RTCSrtpSdesTransport; + getContributingSources(): RTCRtpContributingSource[]; + receive(parameters: RTCRtpParameters): void; + requestSendCSRC(csrc: number): void; + setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; + stop(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCRtpReceiver: { + prototype: RTCRtpReceiver; + new(transport: RTCDtlsTransport | RTCSrtpSdesTransport, kind: string, rtcpTransport?: RTCDtlsTransport): RTCRtpReceiver; + getCapabilities(kind?: string): RTCRtpCapabilities; +} + +interface RTCRtpSender extends RTCStatsProvider { + onerror: (ev: Event) => any; + onssrcconflict: (ev: RTCSsrcConflictEvent) => any; + rtcpTransport: RTCDtlsTransport; + track: MediaStreamTrack; + transport: RTCDtlsTransport | RTCSrtpSdesTransport; + send(parameters: RTCRtpParameters): void; + setTrack(track: MediaStreamTrack): void; + setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; + stop(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ssrcconflict", listener: (ev: RTCSsrcConflictEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCRtpSender: { + prototype: RTCRtpSender; + new(track: MediaStreamTrack, transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): RTCRtpSender; + getCapabilities(kind?: string): RTCRtpCapabilities; +} + +interface RTCSrtpSdesTransport extends EventTarget { + onerror: (ev: Event) => any; + transport: RTCIceTransport; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCSrtpSdesTransport: { + prototype: RTCSrtpSdesTransport; + new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport; + getLocalParameters(): RTCSrtpSdesParameters[]; +} + +interface RTCSsrcConflictEvent extends Event { + ssrc: number; +} + +declare var RTCSsrcConflictEvent: { + prototype: RTCSsrcConflictEvent; + new(): RTCSsrcConflictEvent; +} + +interface RTCStatsProvider extends EventTarget { + getStats(): PromiseLike; + msGetStats(): PromiseLike; +} + +declare var RTCStatsProvider: { + prototype: RTCStatsProvider; + new(): RTCStatsProvider; +} + interface Range { collapsed: boolean; commonAncestorContainer: Node; @@ -8696,7 +9730,6 @@ declare var SVGDescElement: { } interface SVGElement extends Element { - id: string; onclick: (ev: MouseEvent) => any; ondblclick: (ev: MouseEvent) => any; onfocusin: (ev: FocusEvent) => any; @@ -10021,6 +11054,7 @@ declare var SVGStringList: { } interface SVGStyleElement extends SVGElement, SVGLangSpace { + disabled: boolean; media: string; title: string; type: string; @@ -10365,7 +11399,7 @@ declare var StereoPannerNode: { interface Storage { length: number; clear(): void; - getItem(key: string): any; + getItem(key: string): string; key(index: number): string; removeItem(key: string): void; setItem(key: string, data: string): void; @@ -10439,18 +11473,18 @@ declare var StyleSheetPageList: { } interface SubtleCrypto { - decrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; - deriveBits(algorithm: string | Algorithm, baseKey: CryptoKey, length: number): any; - deriveKey(algorithm: string | Algorithm, baseKey: CryptoKey, derivedKeyType: string | Algorithm, extractable: boolean, keyUsages: string[]): any; - digest(algorithm: string | Algorithm, data: ArrayBufferView): any; - encrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; - exportKey(format: string, key: CryptoKey): any; - generateKey(algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; - importKey(format: string, keyData: ArrayBufferView, algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; - sign(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; - unwrapKey(format: string, wrappedKey: ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; - verify(algorithm: string | Algorithm, key: CryptoKey, signature: ArrayBufferView, data: ArrayBufferView): any; - wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): any; + decrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike; + deriveBits(algorithm: string | Algorithm, baseKey: CryptoKey, length: number): PromiseLike; + deriveKey(algorithm: string | Algorithm, baseKey: CryptoKey, derivedKeyType: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + digest(algorithm: string | Algorithm, data: ArrayBufferView): PromiseLike; + encrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike; + exportKey(format: string, key: CryptoKey): PromiseLike; + generateKey(algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: ArrayBufferView, algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + sign(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike; + unwrapKey(format: string, wrappedKey: ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + verify(algorithm: string | Algorithm, key: CryptoKey, signature: ArrayBufferView, data: ArrayBufferView): PromiseLike; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike; } declare var SubtleCrypto: { @@ -10460,7 +11494,6 @@ declare var SubtleCrypto: { interface Text extends CharacterData { wholeText: string; - replaceWholeText(content: string): Text; splitText(offset: number): Text; } @@ -10510,62 +11543,6 @@ declare var TextMetrics: { new(): TextMetrics; } -interface TextRange { - boundingHeight: number; - boundingLeft: number; - boundingTop: number; - boundingWidth: number; - htmlText: string; - offsetLeft: number; - offsetTop: number; - text: string; - collapse(start?: boolean): void; - compareEndPoints(how: string, sourceRange: TextRange): number; - duplicate(): TextRange; - execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; - execCommandShowHelp(cmdID: string): boolean; - expand(Unit: string): boolean; - findText(string: string, count?: number, flags?: number): boolean; - getBookmark(): string; - getBoundingClientRect(): ClientRect; - getClientRects(): ClientRectList; - inRange(range: TextRange): boolean; - isEqual(range: TextRange): boolean; - move(unit: string, count?: number): number; - moveEnd(unit: string, count?: number): number; - moveStart(unit: string, count?: number): number; - moveToBookmark(bookmark: string): boolean; - moveToElementText(element: Element): void; - moveToPoint(x: number, y: number): void; - parentElement(): Element; - pasteHTML(html: string): void; - queryCommandEnabled(cmdID: string): boolean; - queryCommandIndeterm(cmdID: string): boolean; - queryCommandState(cmdID: string): boolean; - queryCommandSupported(cmdID: string): boolean; - queryCommandText(cmdID: string): string; - queryCommandValue(cmdID: string): any; - scrollIntoView(fStart?: boolean): void; - select(): void; - setEndPoint(how: string, SourceRange: TextRange): void; -} - -declare var TextRange: { - prototype: TextRange; - new(): TextRange; -} - -interface TextRangeCollection { - length: number; - item(index: number): TextRange; - [index: number]: TextRange; -} - -declare var TextRangeCollection: { - prototype: TextRangeCollection; - new(): TextRangeCollection; -} - interface TextTrack extends EventTarget { activeCues: TextTrackCueList; cues: TextTrackCueList; @@ -10756,10 +11733,26 @@ declare var UIEvent: { } interface URL { + hash: string; + host: string; + hostname: string; + href: string; + origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + username: string; + toString(): string; +} + +declare var URL: { + prototype: URL; + new(url: string, base?: string): URL; createObjectURL(object: any, options?: ObjectURLOptions): string; revokeObjectURL(url: string): void; } -declare var URL: URL; interface UnviewableContentIdentifiedEvent extends NavigationEventWithReferrer { mediaType: string; @@ -10908,7 +11901,7 @@ interface WebGLContextEvent extends Event { declare var WebGLContextEvent: { prototype: WebGLContextEvent; - new(): WebGLContextEvent; + new(type: string, eventInitDict?: WebGLContextEventInit): WebGLContextEvent; } interface WebGLFramebuffer extends WebGLObject { @@ -11815,6 +12808,9 @@ interface WheelEvent extends MouseEvent { deltaX: number; deltaY: number; deltaZ: number; + wheelDelta: number; + wheelDeltaX: number; + wheelDeltaY: number; getCurrentPoint(element: Element): void; initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; DOM_DELTA_LINE: number; @@ -11831,7 +12827,6 @@ declare var WheelEvent: { } interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64 { - animationStartTime: number; applicationCache: ApplicationCache; clientInformation: Navigator; closed: boolean; @@ -11851,7 +12846,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window location: Location; locationbar: BarProp; menubar: BarProp; - msAnimationStartTime: number; + msCredentials: MSCredentials; name: string; navigator: Navigator; offscreenBuffering: string | boolean; @@ -11867,6 +12862,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window oncompassneedscalibration: (ev: Event) => any; oncontextmenu: (ev: PointerEvent) => any; ondblclick: (ev: MouseEvent) => any; + ondevicelight: (ev: DeviceLightEvent) => any; ondevicemotion: (ev: DeviceMotionEvent) => any; ondeviceorientation: (ev: DeviceOrientationEvent) => any; ondrag: (ev: DragEvent) => any; @@ -11878,11 +12874,12 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window ondrop: (ev: DragEvent) => any; ondurationchange: (ev: Event) => any; onemptied: (ev: Event) => any; - onended: (ev: Event) => any; + onended: (ev: MediaStreamErrorEvent) => any; onerror: ErrorEventHandler; onfocus: (ev: FocusEvent) => any; onhashchange: (ev: HashChangeEvent) => any; oninput: (ev: Event) => any; + oninvalid: (ev: Event) => any; onkeydown: (ev: KeyboardEvent) => any; onkeypress: (ev: KeyboardEvent) => any; onkeyup: (ev: KeyboardEvent) => any; @@ -11898,7 +12895,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window onmouseout: (ev: MouseEvent) => any; onmouseover: (ev: MouseEvent) => any; onmouseup: (ev: MouseEvent) => any; - onmousewheel: (ev: MouseWheelEvent) => any; + onmousewheel: (ev: WheelEvent) => any; onmsgesturechange: (ev: MSGestureEvent) => any; onmsgesturedoubletap: (ev: MSGestureEvent) => any; onmsgestureend: (ev: MSGestureEvent) => any; @@ -11937,10 +12934,10 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window onsubmit: (ev: Event) => any; onsuspend: (ev: Event) => any; ontimeupdate: (ev: Event) => any; - ontouchcancel: any; - ontouchend: any; - ontouchmove: any; - ontouchstart: any; + ontouchcancel: (ev: TouchEvent) => any; + ontouchend: (ev: TouchEvent) => any; + ontouchmove: (ev: TouchEvent) => any; + ontouchstart: (ev: TouchEvent) => any; onunload: (ev: Event) => any; onvolumechange: (ev: Event) => any; onwaiting: (ev: Event) => any; @@ -11968,7 +12965,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window toolbar: BarProp; top: Window; window: Window; - URL: URL; + URL: typeof URL; alert(message?: any): void; blur(): void; cancelAnimationFrame(handle: number): void; @@ -11982,12 +12979,9 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window matchMedia(mediaQuery: string): MediaQueryList; moveBy(x?: number, y?: number): void; moveTo(x?: number, y?: number): void; - msCancelRequestAnimationFrame(handle: number): void; - msMatchMedia(mediaQuery: string): MediaQueryList; - msRequestAnimationFrame(callback: FrameRequestCallback): number; msWriteProfilerMark(profilerMarkName: string): void; open(url?: string, target?: string, features?: string, replace?: boolean): Window; - postMessage(message: any, targetOrigin: string, ports?: any): void; + postMessage(message: any, targetOrigin: string, transfer?: any[]): void; print(): void; prompt(message?: string, _default?: string): string; releaseEvents(): void; @@ -11997,8 +12991,10 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window scroll(x?: number, y?: number): void; scrollBy(x?: number, y?: number): void; scrollTo(x?: number, y?: number): void; + webkitCancelAnimationFrame(handle: number): void; webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; + webkitRequestAnimationFrame(callback: FrameRequestCallback): number; addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; @@ -12026,6 +13022,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window addEventListener(type: "compassneedscalibration", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "devicelight", listener: (ev: DeviceLightEvent) => any, useCapture?: boolean): void; addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -12037,10 +13034,11 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -12056,7 +13054,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; - addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -12128,7 +13126,6 @@ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { onreadystatechange: (ev: ProgressEvent) => any; readyState: number; response: any; - responseBody: any; responseText: string; responseType: string; responseXML: any; @@ -12280,6 +13277,18 @@ interface AbstractWorker { addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } +interface CanvasPathMethods { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + interface ChildNode { remove(): void; } @@ -12302,6 +13311,7 @@ interface DocumentEvent { createEvent(eventInterface:"CommandEvent"): CommandEvent; createEvent(eventInterface:"CompositionEvent"): CompositionEvent; createEvent(eventInterface:"CustomEvent"): CustomEvent; + createEvent(eventInterface:"DeviceLightEvent"): DeviceLightEvent; createEvent(eventInterface:"DeviceMotionEvent"): DeviceMotionEvent; createEvent(eventInterface:"DeviceOrientationEvent"): DeviceOrientationEvent; createEvent(eventInterface:"DragEvent"): DragEvent; @@ -12313,6 +13323,7 @@ interface DocumentEvent { createEvent(eventInterface:"HashChangeEvent"): HashChangeEvent; createEvent(eventInterface:"IDBVersionChangeEvent"): IDBVersionChangeEvent; createEvent(eventInterface:"KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface:"ListeningStateChangedEvent"): ListeningStateChangedEvent; createEvent(eventInterface:"LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; createEvent(eventInterface:"MSGestureEvent"): MSGestureEvent; createEvent(eventInterface:"MSManipulationEvent"): MSManipulationEvent; @@ -12320,21 +13331,31 @@ interface DocumentEvent { createEvent(eventInterface:"MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; createEvent(eventInterface:"MSPointerEvent"): MSPointerEvent; createEvent(eventInterface:"MSSiteModeEvent"): MSSiteModeEvent; + createEvent(eventInterface:"MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface:"MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface:"MediaStreamErrorEvent"): MediaStreamErrorEvent; + createEvent(eventInterface:"MediaStreamTrackEvent"): MediaStreamTrackEvent; createEvent(eventInterface:"MessageEvent"): MessageEvent; createEvent(eventInterface:"MouseEvent"): MouseEvent; createEvent(eventInterface:"MouseEvents"): MouseEvent; - createEvent(eventInterface:"MouseWheelEvent"): MouseWheelEvent; createEvent(eventInterface:"MutationEvent"): MutationEvent; createEvent(eventInterface:"MutationEvents"): MutationEvent; createEvent(eventInterface:"NavigationCompletedEvent"): NavigationCompletedEvent; createEvent(eventInterface:"NavigationEvent"): NavigationEvent; createEvent(eventInterface:"NavigationEventWithReferrer"): NavigationEventWithReferrer; createEvent(eventInterface:"OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface:"OverflowEvent"): OverflowEvent; createEvent(eventInterface:"PageTransitionEvent"): PageTransitionEvent; createEvent(eventInterface:"PermissionRequestedEvent"): PermissionRequestedEvent; createEvent(eventInterface:"PointerEvent"): PointerEvent; createEvent(eventInterface:"PopStateEvent"): PopStateEvent; createEvent(eventInterface:"ProgressEvent"): ProgressEvent; + createEvent(eventInterface:"RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface:"RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface:"RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface:"RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface:"RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface:"RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface:"SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface:"SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface:"ScriptNotifyEvent"): ScriptNotifyEvent; @@ -12402,7 +13423,6 @@ interface HTMLTableAlignment { interface IDBEnvironment { indexedDB: IDBFactory; - msIndexedDB: IDBFactory; } interface LinkStyle { @@ -12470,6 +13490,11 @@ interface NavigatorOnLine { interface NavigatorStorageUtils { } +interface NavigatorUserMedia { + mediaDevices: MediaDevices; + getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; +} + interface NodeSelector { querySelector(selectors: string): Element; querySelectorAll(selectors: string): NodeListOf; @@ -12565,8 +13590,6 @@ interface WindowTimers extends Object, WindowTimersExtension { interface WindowTimersExtension { clearImmediate(handle: number): void; - msClearImmediate(handle: number): void; - msSetImmediate(expression: any, ...args: any[]): number; setImmediate(expression: any, ...args: any[]): number; } @@ -12596,16 +13619,6 @@ interface StorageEventInit extends EventInit { storageArea?: Storage; } -interface IDBObjectStoreParameters { - keyPath?: string | string[]; - autoIncrement?: boolean; -} - -interface IDBIndexParameters { - unique?: boolean; - multiEntry?: boolean; -} - interface NodeListOf extends NodeList { length: number; item(index: number): TNode; @@ -12641,15 +13654,6 @@ interface ProgressEventInit extends EventInit { total?: number; } -interface HTMLTemplateElement extends HTMLElement { - content: DocumentFragment; -} - -declare var HTMLTemplateElement: { - prototype: HTMLTemplateElement; - new(): HTMLTemplateElement; -} - interface HTMLPictureElement extends HTMLElement { } @@ -12658,6 +13662,14 @@ declare var HTMLPictureElement: { new(): HTMLPictureElement; } +interface ClipboardEventInit extends EventInit { + data?: string; + dataType?: string; +} + +interface IDBArrayKey extends Array { +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface ErrorEventHandler { @@ -12696,10 +13708,18 @@ interface DecodeErrorCallback { interface FunctionStringCallback { (data: string): void; } +interface NavigatorUserMediaSuccessCallback { + (stream: MediaStream): void; +} +interface NavigatorUserMediaErrorCallback { + (error: MediaStreamError): void; +} +interface ForEachCallback { + (keyId: any, status: string): void; +} declare var Audio: {new(src?: string): HTMLAudioElement; }; declare var Image: {new(width?: number, height?: number): HTMLImageElement; }; declare var Option: {new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; }; -declare var animationStartTime: number; declare var applicationCache: ApplicationCache; declare var clientInformation: Navigator; declare var closed: boolean; @@ -12719,7 +13739,7 @@ declare var length: number; declare var location: Location; declare var locationbar: BarProp; declare var menubar: BarProp; -declare var msAnimationStartTime: number; +declare var msCredentials: MSCredentials; declare var name: string; declare var navigator: Navigator; declare var offscreenBuffering: string | boolean; @@ -12735,6 +13755,7 @@ declare var onclick: (ev: MouseEvent) => any; declare var oncompassneedscalibration: (ev: Event) => any; declare var oncontextmenu: (ev: PointerEvent) => any; declare var ondblclick: (ev: MouseEvent) => any; +declare var ondevicelight: (ev: DeviceLightEvent) => any; declare var ondevicemotion: (ev: DeviceMotionEvent) => any; declare var ondeviceorientation: (ev: DeviceOrientationEvent) => any; declare var ondrag: (ev: DragEvent) => any; @@ -12746,11 +13767,12 @@ declare var ondragstart: (ev: DragEvent) => any; declare var ondrop: (ev: DragEvent) => any; declare var ondurationchange: (ev: Event) => any; declare var onemptied: (ev: Event) => any; -declare var onended: (ev: Event) => any; +declare var onended: (ev: MediaStreamErrorEvent) => any; declare var onerror: ErrorEventHandler; declare var onfocus: (ev: FocusEvent) => any; declare var onhashchange: (ev: HashChangeEvent) => any; declare var oninput: (ev: Event) => any; +declare var oninvalid: (ev: Event) => any; declare var onkeydown: (ev: KeyboardEvent) => any; declare var onkeypress: (ev: KeyboardEvent) => any; declare var onkeyup: (ev: KeyboardEvent) => any; @@ -12766,7 +13788,7 @@ declare var onmousemove: (ev: MouseEvent) => any; declare var onmouseout: (ev: MouseEvent) => any; declare var onmouseover: (ev: MouseEvent) => any; declare var onmouseup: (ev: MouseEvent) => any; -declare var onmousewheel: (ev: MouseWheelEvent) => any; +declare var onmousewheel: (ev: WheelEvent) => any; declare var onmsgesturechange: (ev: MSGestureEvent) => any; declare var onmsgesturedoubletap: (ev: MSGestureEvent) => any; declare var onmsgestureend: (ev: MSGestureEvent) => any; @@ -12805,10 +13827,10 @@ declare var onstorage: (ev: StorageEvent) => any; declare var onsubmit: (ev: Event) => any; declare var onsuspend: (ev: Event) => any; declare var ontimeupdate: (ev: Event) => any; -declare var ontouchcancel: any; -declare var ontouchend: any; -declare var ontouchmove: any; -declare var ontouchstart: any; +declare var ontouchcancel: (ev: TouchEvent) => any; +declare var ontouchend: (ev: TouchEvent) => any; +declare var ontouchmove: (ev: TouchEvent) => any; +declare var ontouchstart: (ev: TouchEvent) => any; declare var onunload: (ev: Event) => any; declare var onvolumechange: (ev: Event) => any; declare var onwaiting: (ev: Event) => any; @@ -12836,7 +13858,6 @@ declare var styleMedia: StyleMedia; declare var toolbar: BarProp; declare var top: Window; declare var window: Window; -declare var URL: URL; declare function alert(message?: any): void; declare function blur(): void; declare function cancelAnimationFrame(handle: number): void; @@ -12850,12 +13871,9 @@ declare function getSelection(): Selection; declare function matchMedia(mediaQuery: string): MediaQueryList; declare function moveBy(x?: number, y?: number): void; declare function moveTo(x?: number, y?: number): void; -declare function msCancelRequestAnimationFrame(handle: number): void; -declare function msMatchMedia(mediaQuery: string): MediaQueryList; -declare function msRequestAnimationFrame(callback: FrameRequestCallback): number; declare function msWriteProfilerMark(profilerMarkName: string): void; declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; -declare function postMessage(message: any, targetOrigin: string, ports?: any): void; +declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; declare function print(): void; declare function prompt(message?: string, _default?: string): string; declare function releaseEvents(): void; @@ -12865,19 +13883,19 @@ declare function resizeTo(x?: number, y?: number): void; declare function scroll(x?: number, y?: number): void; declare function scrollBy(x?: number, y?: number): void; declare function scrollTo(x?: number, y?: number): void; +declare function webkitCancelAnimationFrame(handle: number): void; declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitRequestAnimationFrame(callback: FrameRequestCallback): number; declare function toString(): string; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function addEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; declare function dispatchEvent(evt: Event): boolean; -declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; declare function clearInterval(handle: number): void; declare function clearTimeout(handle: number): void; declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; declare function clearImmediate(handle: number): void; -declare function msClearImmediate(handle: number): void; -declare function msSetImmediate(expression: any, ...args: any[]): number; declare function setImmediate(expression: any, ...args: any[]): number; declare var sessionStorage: Storage; declare var localStorage: Storage; @@ -12892,7 +13910,6 @@ declare var onpointerover: (ev: PointerEvent) => any; declare var onpointerup: (ev: PointerEvent) => any; declare var onwheel: (ev: WheelEvent) => any; declare var indexedDB: IDBFactory; -declare var msIndexedDB: IDBFactory; declare function atob(encodedString: string): string; declare function btoa(rawString: string): string; declare function addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; @@ -12922,6 +13939,7 @@ declare function addEventListener(type: "click", listener: (ev: MouseEvent) => a declare function addEventListener(type: "compassneedscalibration", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "devicelight", listener: (ev: DeviceLightEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; @@ -12933,10 +13951,11 @@ declare function addEventListener(type: "dragstart", listener: (ev: DragEvent) = declare function addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; -declare function addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ended", listener: (ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "invalid", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; @@ -12952,7 +13971,7 @@ declare function addEventListener(type: "mousemove", listener: (ev: MouseEvent) declare function addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; -declare function addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousewheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; @@ -12988,4 +14007,36 @@ declare function addEventListener(type: "unload", listener: (ev: Event) => any, declare function addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; declare function addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; \ No newline at end of file +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +type AAGUID = string; +type AlgorithmIdentifier = string | Algorithm; +type ConstrainBoolean = boolean | ConstrainBooleanParameters; +type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; +type ConstrainDouble = number | ConstrainDoubleRange; +type ConstrainLong = number | ConstrainLongRange; +type CryptoOperationData = ArrayBufferView; +type GLbitfield = number; +type GLboolean = boolean; +type GLbyte = number; +type GLclampf = number; +type GLenum = number; +type GLfloat = number; +type GLint = number; +type GLintptr = number; +type GLshort = number; +type GLsizei = number; +type GLsizeiptr = number; +type GLubyte = number; +type GLuint = number; +type GLushort = number; +type IDBKeyPath = string; +type KeyFormat = string; +type KeyType = string; +type KeyUsage = string; +type MSInboundPayload = MSVideoRecvPayload | MSAudioRecvPayload; +type MSLocalClientEvent = MSLocalClientEventBase | MSAudioLocalClientEvent; +type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload; +type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete; +type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; +type payloadtype = number; +type IDBValidKey = number | string | Date | IDBArrayKey; \ No newline at end of file diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index cd49a565f12..b342c88a9fd 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -17,6 +17,8 @@ interface AudioBuffer { length: number; numberOfChannels: number; sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; getChannelData(channel: number): Float32Array; } @@ -58,6 +60,7 @@ interface Console { dir(value?: any, ...optionalParams: any[]): void; dirxml(value: any): void; error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; group(groupTitle?: string): void; groupCollapsed(groupTitle?: string): void; groupEnd(): void; @@ -67,6 +70,7 @@ interface Console { profile(reportName?: string): void; profileEnd(): void; select(element: any): void; + table(...data: any[]): void; time(timerName?: string): void; timeEnd(timerName?: string): void; trace(message?: any, ...optionalParams: any[]): void; @@ -226,9 +230,9 @@ declare var Event: { } interface EventTarget { - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; dispatchEvent(evt: Event): boolean; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; } declare var EventTarget: { @@ -239,6 +243,7 @@ declare var EventTarget: { interface File extends Blob { lastModifiedDate: any; name: string; + webkitRelativePath: string; } declare var File: { @@ -273,11 +278,11 @@ declare var FileReader: { interface IDBCursor { direction: string; - key: any; + key: IDBKeyRange | IDBValidKey; primaryKey: any; source: IDBObjectStore | IDBIndex; advance(count: number): void; - continue(key?: any): void; + continue(key?: IDBKeyRange | IDBValidKey): void; delete(): IDBRequest; update(value: any): IDBRequest; NEXT: string; @@ -310,10 +315,12 @@ interface IDBDatabase extends EventTarget { onabort: (ev: Event) => any; onerror: (ev: Event) => any; version: number; + onversionchange: (ev: IDBVersionChangeEvent) => any; close(): void; createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; deleteObjectStore(name: string): void; transaction(storeNames: string | string[], mode?: string): IDBTransaction; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -341,11 +348,11 @@ interface IDBIndex { objectStore: IDBObjectStore; unique: boolean; multiEntry: boolean; - count(key?: any): IDBRequest; - get(key: any): IDBRequest; - getKey(key: any): IDBRequest; - openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; - openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; } declare var IDBIndex: { @@ -364,9 +371,9 @@ declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; - lowerBound(bound: any, open?: boolean): IDBKeyRange; + lowerBound(lower: any, open?: boolean): IDBKeyRange; only(value: any): IDBKeyRange; - upperBound(bound: any, open?: boolean): IDBKeyRange; + upperBound(upper: any, open?: boolean): IDBKeyRange; } interface IDBObjectStore { @@ -375,16 +382,16 @@ interface IDBObjectStore { name: string; transaction: IDBTransaction; autoIncrement: boolean; - add(value: any, key?: any): IDBRequest; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; clear(): IDBRequest; - count(key?: any): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: any): IDBRequest; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; deleteIndex(indexName: string): void; get(key: any): IDBRequest; index(name: string): IDBIndex; - openCursor(range?: any, direction?: string): IDBRequest; - put(value: any, key?: any): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: string): IDBRequest; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } declare var IDBObjectStore: { @@ -483,7 +490,7 @@ interface MSApp { execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; getCurrentPriority(): string; - getHtmlPrintDocumentSourceAsync(htmlDoc: any): any; + getHtmlPrintDocumentSourceAsync(htmlDoc: any): PromiseLike; getViewId(view: any): any; isTaskScheduledAtPriorityOrHigher(priority: string): boolean; pageHandlesAllApplicationActivations(enabled: boolean): void; @@ -695,7 +702,6 @@ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { onreadystatechange: (ev: ProgressEvent) => any; readyState: number; response: any; - responseBody: any; responseText: string; responseType: string; responseXML: any; @@ -894,16 +900,6 @@ interface WorkerUtils extends Object, WindowBase64 { setTimeout(handler: any, timeout?: any, ...args: any[]): number; } -interface IDBObjectStoreParameters { - keyPath?: string | string[]; - autoIncrement?: boolean; -} - -interface IDBIndexParameters { - unique?: boolean; - multiEntry?: boolean; -} - interface BlobPropertyBag { type?: string; endings?: string; @@ -933,6 +929,9 @@ interface ProgressEventInit extends EventInit { total?: number; } +interface IDBArrayKey extends Array { +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface ErrorEventHandler { @@ -971,9 +970,9 @@ declare var self: WorkerGlobalScope; declare function close(): void; declare function msWriteProfilerMark(profilerMarkName: string): void; declare function toString(): string; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function addEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; declare function dispatchEvent(evt: Event): boolean; -declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, useCapture?: boolean): void; declare var indexedDB: IDBFactory; declare var msIndexedDB: IDBFactory; declare var navigator: WorkerNavigator; @@ -991,4 +990,5 @@ declare function postMessage(data: any): void; declare var console: Console; declare function addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; \ No newline at end of file +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +type IDBValidKey = number | string | Date | IDBArrayKey; \ No newline at end of file From 6f37d31e18d3fdf68dee1ce83b5ddc08dd850a79 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 21 Mar 2016 15:15:41 -0700 Subject: [PATCH 251/342] drop inference limit --- src/compiler/checker.ts | 6 - tests/baselines/reference/inferenceLimit.js | 82 ++++++++++++ .../reference/inferenceLimit.symbols | 101 ++++++++++++++ .../baselines/reference/inferenceLimit.types | 123 ++++++++++++++++++ tests/cases/compiler/inferenceLimit.ts | 41 ++++++ 5 files changed, 347 insertions(+), 6 deletions(-) create mode 100644 tests/baselines/reference/inferenceLimit.js create mode 100644 tests/baselines/reference/inferenceLimit.symbols create mode 100644 tests/baselines/reference/inferenceLimit.types create mode 100644 tests/cases/compiler/inferenceLimit.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b7779fc9da0..90ded8fc6bc 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6673,7 +6673,6 @@ namespace ts { function inferTypes(context: InferenceContext, source: Type, target: Type) { let sourceStack: Type[]; let targetStack: Type[]; - const maxDepth = 5; let depth = 0; let inferiority = 0; const visited: Map = {}; @@ -6802,11 +6801,6 @@ namespace ts { if (isInProcess(source, target)) { return; } - // we delibirately limit the depth we examine to infer types: this speeds up the overall inference process - // and user rarely expects inferences to be made from the deeply nested constituents. - if (depth > maxDepth) { - return; - } if (isDeeplyNestedGeneric(source, sourceStack, depth) && isDeeplyNestedGeneric(target, targetStack, depth)) { return; } diff --git a/tests/baselines/reference/inferenceLimit.js b/tests/baselines/reference/inferenceLimit.js new file mode 100644 index 00000000000..a74bf59df44 --- /dev/null +++ b/tests/baselines/reference/inferenceLimit.js @@ -0,0 +1,82 @@ +//// [tests/cases/compiler/inferenceLimit.ts] //// + +//// [file1.ts] +"use strict"; +import * as MyModule from "./mymodule"; + +export class BrokenClass { + + constructor() {} + + public brokenMethod(field: string, value: string) { + return new Promise>((resolve, reject) => { + + let result: Array = []; + + let populateItems = (order) => { + return new Promise((resolve, reject) => { + this.doStuff(order.id) + .then((items) => { + order.items = items; + resolve(order); + }); + }); + }; + + return Promise.all(result.map(populateItems)) + .then((orders: Array) => { + resolve(orders); + }); + }); + } + + public async doStuff(id: number) { + return; + } +} + +//// [mymodule.ts] +export interface MyModel { + id: number; +} + +//// [mymodule.js] +"use strict"; +//// [file1.js] +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +class BrokenClass { + constructor() { + } + brokenMethod(field, value) { + return new Promise((resolve, reject) => { + let result = []; + let populateItems = (order) => { + return new Promise((resolve, reject) => { + this.doStuff(order.id) + .then((items) => { + order.items = items; + resolve(order); + }); + }); + }; + return Promise.all(result.map(populateItems)) + .then((orders) => { + resolve(orders); + }); + }); + } + doStuff(id) { + return __awaiter(this, void 0, void 0, function* () { + return; + }); + } +} +exports.BrokenClass = BrokenClass; diff --git a/tests/baselines/reference/inferenceLimit.symbols b/tests/baselines/reference/inferenceLimit.symbols new file mode 100644 index 00000000000..8a338b80307 --- /dev/null +++ b/tests/baselines/reference/inferenceLimit.symbols @@ -0,0 +1,101 @@ +=== tests/cases/compiler/file1.ts === +"use strict"; +import * as MyModule from "./mymodule"; +>MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) + +export class BrokenClass { +>BrokenClass : Symbol(BrokenClass, Decl(file1.ts, 1, 39)) + + constructor() {} + + public brokenMethod(field: string, value: string) { +>brokenMethod : Symbol(BrokenClass.brokenMethod, Decl(file1.ts, 5, 18)) +>field : Symbol(field, Decl(file1.ts, 7, 22)) +>value : Symbol(value, Decl(file1.ts, 7, 36)) + + return new Promise>((resolve, reject) => { +>Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) +>MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) +>resolve : Symbol(resolve, Decl(file1.ts, 8, 47)) +>reject : Symbol(reject, Decl(file1.ts, 8, 55)) + + let result: Array = []; +>result : Symbol(result, Decl(file1.ts, 10, 7)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) +>MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) + + let populateItems = (order) => { +>populateItems : Symbol(populateItems, Decl(file1.ts, 12, 7)) +>order : Symbol(order, Decl(file1.ts, 12, 25)) + + return new Promise((resolve, reject) => { +>Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>resolve : Symbol(resolve, Decl(file1.ts, 13, 26)) +>reject : Symbol(reject, Decl(file1.ts, 13, 34)) + + this.doStuff(order.id) +>this.doStuff(order.id) .then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>this.doStuff : Symbol(BrokenClass.doStuff, Decl(file1.ts, 27, 3)) +>this : Symbol(BrokenClass, Decl(file1.ts, 1, 39)) +>doStuff : Symbol(BrokenClass.doStuff, Decl(file1.ts, 27, 3)) +>order : Symbol(order, Decl(file1.ts, 12, 25)) + + .then((items) => { +>then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>items : Symbol(items, Decl(file1.ts, 15, 17)) + + order.items = items; +>order : Symbol(order, Decl(file1.ts, 12, 25)) +>items : Symbol(items, Decl(file1.ts, 15, 17)) + + resolve(order); +>resolve : Symbol(resolve, Decl(file1.ts, 13, 26)) +>order : Symbol(order, Decl(file1.ts, 12, 25)) + + }); + }); + }; + + return Promise.all(result.map(populateItems)) +>Promise.all(result.map(populateItems)) .then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>result.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>result : Symbol(result, Decl(file1.ts, 10, 7)) +>map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>populateItems : Symbol(populateItems, Decl(file1.ts, 12, 7)) + + .then((orders: Array) => { +>then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>orders : Symbol(orders, Decl(file1.ts, 23, 13)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) +>MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) + + resolve(orders); +>resolve : Symbol(resolve, Decl(file1.ts, 8, 47)) +>orders : Symbol(orders, Decl(file1.ts, 23, 13)) + + }); + }); + } + + public async doStuff(id: number) { +>doStuff : Symbol(BrokenClass.doStuff, Decl(file1.ts, 27, 3)) +>id : Symbol(id, Decl(file1.ts, 29, 23)) + + return; + } +} + +=== tests/cases/compiler/mymodule.ts === +export interface MyModel { +>MyModel : Symbol(MyModel, Decl(mymodule.ts, 0, 0)) + + id: number; +>id : Symbol(MyModel.id, Decl(mymodule.ts, 0, 26)) +} diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types new file mode 100644 index 00000000000..58f9b1e4ae0 --- /dev/null +++ b/tests/baselines/reference/inferenceLimit.types @@ -0,0 +1,123 @@ +=== tests/cases/compiler/file1.ts === +"use strict"; +>"use strict" : string + +import * as MyModule from "./mymodule"; +>MyModule : typeof MyModule + +export class BrokenClass { +>BrokenClass : BrokenClass + + constructor() {} + + public brokenMethod(field: string, value: string) { +>brokenMethod : (field: string, value: string) => Promise +>field : string +>value : string + + return new Promise>((resolve, reject) => { +>new Promise>((resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); }) : Promise +>Promise : PromiseConstructor +>Array : T[] +>MyModule : any +>MyModel : MyModule.MyModel +>(resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); } : (resolve: (value?: MyModule.MyModel[] | PromiseLike) => void, reject: (reason?: any) => void) => Promise +>resolve : (value?: MyModule.MyModel[] | PromiseLike) => void +>reject : (reason?: any) => void + + let result: Array = []; +>result : MyModule.MyModel[] +>Array : T[] +>MyModule : any +>MyModel : MyModule.MyModel +>[] : undefined[] + + let populateItems = (order) => { +>populateItems : (order: any) => Promise<{}> +>(order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); } : (order: any) => Promise<{}> +>order : any + + return new Promise((resolve, reject) => { +>new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }) : Promise<{}> +>Promise : PromiseConstructor +>(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | PromiseLike<{}>) => void +>reject : (reason?: any) => void + + this.doStuff(order.id) +>this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }) : Promise +>this.doStuff(order.id) .then : { (onfulfilled?: (value: void) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled?: (value: void) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; } +>this.doStuff(order.id) : Promise +>this.doStuff : (id: number) => Promise +>this : this +>doStuff : (id: number) => Promise +>order.id : any +>order : any +>id : any + + .then((items) => { +>then : { (onfulfilled?: (value: void) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled?: (value: void) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; } +>(items) => { order.items = items; resolve(order); } : (items: void) => void +>items : void + + order.items = items; +>order.items = items : void +>order.items : any +>order : any +>items : any +>items : void + + resolve(order); +>resolve(order) : void +>resolve : (value?: {} | PromiseLike<{}>) => void +>order : any + + }); + }); + }; + + return Promise.all(result.map(populateItems)) +>Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }) : Promise +>Promise.all(result.map(populateItems)) .then : { (onfulfilled?: (value: {}[]) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled?: (value: {}[]) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; } +>Promise.all(result.map(populateItems)) : Promise<{}[]> +>Promise.all : { (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: Iterable>): Promise; } +>Promise : PromiseConstructor +>all : { (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: Iterable>): Promise; } +>result.map(populateItems) : Promise<{}>[] +>result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] +>result : MyModule.MyModel[] +>map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] +>populateItems : (order: any) => Promise<{}> + + .then((orders: Array) => { +>then : { (onfulfilled?: (value: {}[]) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled?: (value: {}[]) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; } +>(orders: Array) => { resolve(orders); } : (orders: MyModule.MyModel[]) => void +>orders : MyModule.MyModel[] +>Array : T[] +>MyModule : any +>MyModel : MyModule.MyModel + + resolve(orders); +>resolve(orders) : void +>resolve : (value?: MyModule.MyModel[] | PromiseLike) => void +>orders : MyModule.MyModel[] + + }); + }); + } + + public async doStuff(id: number) { +>doStuff : (id: number) => Promise +>id : number + + return; + } +} + +=== tests/cases/compiler/mymodule.ts === +export interface MyModel { +>MyModel : MyModel + + id: number; +>id : number +} diff --git a/tests/cases/compiler/inferenceLimit.ts b/tests/cases/compiler/inferenceLimit.ts new file mode 100644 index 00000000000..adaf13bad22 --- /dev/null +++ b/tests/cases/compiler/inferenceLimit.ts @@ -0,0 +1,41 @@ +// @target: es6 +// @module: commonjs +// @filename: file1.ts +"use strict"; +import * as MyModule from "./mymodule"; + +export class BrokenClass { + + constructor() {} + + public brokenMethod(field: string, value: string) { + return new Promise>((resolve, reject) => { + + let result: Array = []; + + let populateItems = (order) => { + return new Promise((resolve, reject) => { + this.doStuff(order.id) + .then((items) => { + order.items = items; + resolve(order); + }); + }); + }; + + return Promise.all(result.map(populateItems)) + .then((orders: Array) => { + resolve(orders); + }); + }); + } + + public async doStuff(id: number) { + return; + } +} + +// @filename: mymodule.ts +export interface MyModel { + id: number; +} \ No newline at end of file From 134a253f57a529bbdc9f7a74cff05d54e0b25f21 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 21 Mar 2016 15:20:59 -0700 Subject: [PATCH 252/342] added API sample to tests --- .../reference/APISample_parseConfig.js | 70 +++++++++++++++++++ tests/cases/compiler/APISample_parseConfig.ts | 39 +++++++++++ 2 files changed, 109 insertions(+) create mode 100644 tests/baselines/reference/APISample_parseConfig.js create mode 100644 tests/cases/compiler/APISample_parseConfig.ts diff --git a/tests/baselines/reference/APISample_parseConfig.js b/tests/baselines/reference/APISample_parseConfig.js new file mode 100644 index 00000000000..1312f8a4f81 --- /dev/null +++ b/tests/baselines/reference/APISample_parseConfig.js @@ -0,0 +1,70 @@ +//// [APISample_parseConfig.ts] + +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var process: any; +declare var console: any; +declare var os: any; + +import ts = require("typescript"); + +function printError(error: ts.Diagnostic): void { + if (!error) { + return; + } + console.log(`${error.file && error.file.fileName}: ${error.messageText}`); +} + +export function createProgram(rootFiles: string[], compilerOptionsJson: string): ts.Program { + const { config, error } = ts.parseConfigFileTextToJson("tsconfig.json", compilerOptionsJson) + if (error) { + printError(error); + return undefined; + } + const basePath: string = process.cwd(); + const settings = ts.convertCompilerOptionsFromJson(config.config["compilerOptions"], basePath); + if (!settings.options) { + for (const err of settings.errors) { + printError(err); + } + return undefined; + } + return ts.createProgram(rootFiles, settings.options); +} + +//// [APISample_parseConfig.js] +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ +"use strict"; +var ts = require("typescript"); +function printError(error) { + if (!error) { + return; + } + console.log((error.file && error.file.fileName) + ": " + error.messageText); +} +function createProgram(rootFiles, compilerOptionsJson) { + var _a = ts.parseConfigFileTextToJson("tsconfig.json", compilerOptionsJson), config = _a.config, error = _a.error; + if (error) { + printError(error); + return undefined; + } + var basePath = process.cwd(); + var settings = ts.convertCompilerOptionsFromJson(config.config["compilerOptions"], basePath); + if (!settings.options) { + for (var _i = 0, _b = settings.errors; _i < _b.length; _i++) { + var err = _b[_i]; + printError(err); + } + return undefined; + } + return ts.createProgram(rootFiles, settings.options); +} +exports.createProgram = createProgram; diff --git a/tests/cases/compiler/APISample_parseConfig.ts b/tests/cases/compiler/APISample_parseConfig.ts new file mode 100644 index 00000000000..3e88e50727e --- /dev/null +++ b/tests/cases/compiler/APISample_parseConfig.ts @@ -0,0 +1,39 @@ +// @module: commonjs +// @includebuiltfile: typescript_standalone.d.ts +// @stripInternal:true + +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var process: any; +declare var console: any; +declare var os: any; + +import ts = require("typescript"); + +function printError(error: ts.Diagnostic): void { + if (!error) { + return; + } + console.log(`${error.file && error.file.fileName}: ${error.messageText}`); +} + +export function createProgram(rootFiles: string[], compilerOptionsJson: string): ts.Program { + const { config, error } = ts.parseConfigFileTextToJson("tsconfig.json", compilerOptionsJson) + if (error) { + printError(error); + return undefined; + } + const basePath: string = process.cwd(); + const settings = ts.convertCompilerOptionsFromJson(config.config["compilerOptions"], basePath); + if (!settings.options) { + for (const err of settings.errors) { + printError(err); + } + return undefined; + } + return ts.createProgram(rootFiles, settings.options); +} \ No newline at end of file From d5c3a0a52b3c40f71de8acd98769fd9004c04264 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 21 Mar 2016 15:40:14 -0700 Subject: [PATCH 253/342] Fix issue with find references for jsx tags --- src/compiler/checker.ts | 3 +++ .../reference/jsxReactTestSuite.symbols | 24 +++++++++++++++++++ .../reference/reactNamespaceJSXEmit.symbols | 3 +++ .../reference/tsxElementResolution19.symbols | 2 +- .../reference/tsxExternalModuleEmit1.symbols | 2 +- .../reference/tsxExternalModuleEmit2.symbols | 4 ++++ .../tsxGenericArrowFunctionParsing.symbols | 6 +++++ .../reference/tsxPreserveEmit1.symbols | 3 +++ .../reference/tsxPreserveEmit2.symbols | 1 + .../baselines/reference/tsxReactEmit3.symbols | 8 +++++++ .../tsxStatelessFunctionComponents3.symbols | 4 ++-- .../fourslash/findReferencesJSXTagName.ts | 22 +++++++++++++++++ 12 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 tests/cases/fourslash/findReferencesJSXTagName.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b7779fc9da0..c94027b40ac 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8755,6 +8755,9 @@ namespace ts { if (isJsxIntrinsicIdentifier(node.tagName)) { return getIntrinsicTagSymbol(node); } + else if (node.tagName.kind === SyntaxKind.Identifier) { + return resolveEntityName(node.tagName, SymbolFlags.Value | SymbolFlags.Alias); + } else { return checkExpression(node.tagName).symbol; } diff --git a/tests/baselines/reference/jsxReactTestSuite.symbols b/tests/baselines/reference/jsxReactTestSuite.symbols index 1ee71370dbc..24ff3a1cf3d 100644 --- a/tests/baselines/reference/jsxReactTestSuite.symbols +++ b/tests/baselines/reference/jsxReactTestSuite.symbols @@ -56,9 +56,11 @@ declare var hasOwnProperty:any; >div : Symbol(unknown) {foo}
{bar}
+>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >foo : Symbol(foo, Decl(jsxReactTestSuite.tsx, 7, 11)) >br : Symbol(unknown) >bar : Symbol(bar, Decl(jsxReactTestSuite.tsx, 8, 11)) +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
>br : Symbol(unknown) @@ -68,12 +70,20 @@ declare var hasOwnProperty:any; +>Composite : Symbol(Composite, Decl(jsxReactTestSuite.tsx, 3, 11)) + {this.props.children} ; +>Composite : Symbol(Composite, Decl(jsxReactTestSuite.tsx, 3, 11)) +>Composite : Symbol(Composite, Decl(jsxReactTestSuite.tsx, 3, 11)) + +>Composite2 : Symbol(Composite2, Decl(jsxReactTestSuite.tsx, 4, 11)) + ; +>Composite : Symbol(Composite, Decl(jsxReactTestSuite.tsx, 3, 11)) var x = >x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3)) @@ -164,6 +174,7 @@ var x = >hasOwnProperty : Symbol(unknown) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >constructor : Symbol(unknown) ; @@ -171,6 +182,7 @@ var x = ; Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3)) >y : Symbol(unknown) @@ -178,6 +190,8 @@ var x = >z : Symbol(unknown) Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) + {...this.props} sound="moo" />; >sound : Symbol(unknown) @@ -185,6 +199,7 @@ var x = >font-face : Symbol(unknown) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(unknown) >y : Symbol(y, Decl(jsxReactTestSuite.tsx, 9, 11)) @@ -192,34 +207,43 @@ var x = >x-component : Symbol(unknown) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3)) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3)) >y : Symbol(unknown) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3)) >y : Symbol(unknown) >z : Symbol(unknown) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(unknown) >y : Symbol(y, Decl(jsxReactTestSuite.tsx, 9, 11)) ; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(unknown) >y : Symbol(unknown) >z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11)) >z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11)) +>Child : Symbol(Child, Decl(jsxReactTestSuite.tsx, 5, 11)) +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) Text; +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) >x : Symbol(unknown) >z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11)) >y : Symbol(y, Decl(jsxReactTestSuite.tsx, 113, 27)) >z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11)) >z : Symbol(unknown) +>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11)) diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.symbols b/tests/baselines/reference/reactNamespaceJSXEmit.symbols index a0012cfd07a..3ca5b91e538 100644 --- a/tests/baselines/reference/reactNamespaceJSXEmit.symbols +++ b/tests/baselines/reference/reactNamespaceJSXEmit.symbols @@ -17,6 +17,7 @@ declare var x: any; >data : Symbol(unknown) ; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) >x : Symbol(unknown) >x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) @@ -24,9 +25,11 @@ declare var x: any; >x-component : Symbol(unknown) ; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) >x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) ; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) >x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) >y : Symbol(unknown) diff --git a/tests/baselines/reference/tsxElementResolution19.symbols b/tests/baselines/reference/tsxElementResolution19.symbols index 87c48ccedf0..48aa4f962b6 100644 --- a/tests/baselines/reference/tsxElementResolution19.symbols +++ b/tests/baselines/reference/tsxElementResolution19.symbols @@ -24,5 +24,5 @@ import {MyClass} from './file1'; >MyClass : Symbol(MyClass, Decl(file2.tsx, 3, 8)) ; ->MyClass : Symbol(MyClass, Decl(file1.tsx, 2, 1)) +>MyClass : Symbol(MyClass, Decl(file2.tsx, 3, 8)) diff --git a/tests/baselines/reference/tsxExternalModuleEmit1.symbols b/tests/baselines/reference/tsxExternalModuleEmit1.symbols index 261a9035216..e2d3eee98b0 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit1.symbols +++ b/tests/baselines/reference/tsxExternalModuleEmit1.symbols @@ -25,7 +25,7 @@ export class App extends React.Component { >render : Symbol(App.render, Decl(app.tsx, 5, 52)) return

{ x: P; } >C : Symbol(C, Decl(genericConstraint3.ts, 0, 0)) >P : Symbol(P, Decl(genericConstraint3.ts, 0, 12)) ->x : Symbol(x, Decl(genericConstraint3.ts, 0, 16)) +>x : Symbol(C.x, Decl(genericConstraint3.ts, 0, 16)) >P : Symbol(P, Decl(genericConstraint3.ts, 0, 12)) interface A> { x: U; } @@ -11,7 +11,7 @@ interface A> { x: U; } >U : Symbol(U, Decl(genericConstraint3.ts, 1, 14)) >C : Symbol(C, Decl(genericConstraint3.ts, 0, 0)) >T : Symbol(T, Decl(genericConstraint3.ts, 1, 12)) ->x : Symbol(x, Decl(genericConstraint3.ts, 1, 32)) +>x : Symbol(A.x, Decl(genericConstraint3.ts, 1, 32)) >U : Symbol(U, Decl(genericConstraint3.ts, 1, 14)) interface B extends A<{}, { x: {} }> { } // Should not produce an error diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols index 68df4a89b36..8f8703f3e50 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols @@ -6,7 +6,7 @@ declare module EndGate { >ICloneable : Symbol(ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 0, 24)) Clone(): any; ->Clone : Symbol(Clone, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 1, 33)) +>Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 1, 33)) } } @@ -26,7 +26,7 @@ module EndGate.Tweening { >ICloneable : Symbol(ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 0, 24)) private _from: T; ->_from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) +>_from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) >T : Symbol(T, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 23)) @@ -35,9 +35,9 @@ module EndGate.Tweening { >T : Symbol(T, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 23)) this._from = from.Clone(); ->this._from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) +>this._from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) >this : Symbol(Tween, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 8, 25)) ->_from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) +>_from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 9, 45)) >from.Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 1, 33)) >from : Symbol(from, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 13, 20)) >Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 1, 33)) diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols index c5e9f0a79f5..c261d0404ec 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols @@ -6,7 +6,7 @@ module EndGate { >ICloneable : Symbol(ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 0, 16)) Clone(): any; ->Clone : Symbol(Clone, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 1, 33)) +>Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 1, 33)) } } @@ -26,7 +26,7 @@ module EndGate.Tweening { >ICloneable : Symbol(ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 0, 16)) private _from: T; ->_from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) +>_from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) >T : Symbol(T, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 23)) constructor(from: T) { @@ -34,9 +34,9 @@ module EndGate.Tweening { >T : Symbol(T, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 23)) this._from = from.Clone(); ->this._from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) +>this._from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) >this : Symbol(Tween, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 8, 25)) ->_from : Symbol(_from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) +>_from : Symbol(Tween._from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 9, 45)) >from.Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 1, 33)) >from : Symbol(from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 12, 20)) >Clone : Symbol(ICloneable.Clone, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 1, 33)) diff --git a/tests/baselines/reference/genericFunctions3.symbols b/tests/baselines/reference/genericFunctions3.symbols index 8b257500325..bf071722b29 100644 --- a/tests/baselines/reference/genericFunctions3.symbols +++ b/tests/baselines/reference/genericFunctions3.symbols @@ -4,7 +4,7 @@ interface Query { >T : Symbol(T, Decl(genericFunctions3.ts, 0, 16)) foo(x: string): Query; ->foo : Symbol(foo, Decl(genericFunctions3.ts, 0, 20)) +>foo : Symbol(Query.foo, Decl(genericFunctions3.ts, 0, 20)) >x : Symbol(x, Decl(genericFunctions3.ts, 1, 8)) >Query : Symbol(Query, Decl(genericFunctions3.ts, 0, 0)) >T : Symbol(T, Decl(genericFunctions3.ts, 0, 16)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols index fd79d736ffd..e8d3e904ae0 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols @@ -3,7 +3,7 @@ interface Utils { >Utils : Symbol(Utils, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 0)) fold(c?: Array, folder?: (s: S, t: T) => T, init?: S): T; ->fold : Symbol(fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) +>fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters1.ts, 0, 17)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 10)) >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 14)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols index d033f7b66bb..2bfc54f2c32 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols @@ -4,7 +4,7 @@ class Collection { >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters3.ts, 0, 17)) public add(x: T) { } ->add : Symbol(add, Decl(genericFunctionsWithOptionalParameters3.ts, 0, 21)) +>add : Symbol(Collection.add, Decl(genericFunctionsWithOptionalParameters3.ts, 0, 21)) >x : Symbol(x, Decl(genericFunctionsWithOptionalParameters3.ts, 1, 15)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters3.ts, 0, 17)) } @@ -12,7 +12,7 @@ interface Utils { >Utils : Symbol(Utils, Decl(genericFunctionsWithOptionalParameters3.ts, 2, 1)) fold(c?: Collection, folder?: (s: S, t: T) => T, init?: S): T; ->fold : Symbol(fold, Decl(genericFunctionsWithOptionalParameters3.ts, 3, 17)) +>fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters3.ts, 3, 17)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 9)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 11)) >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 15)) @@ -29,7 +29,7 @@ interface Utils { >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 9)) mapReduce(c: Collection, mapper: (x: T) => U, reducer: (y: U) => V): Collection; ->mapReduce : Symbol(mapReduce, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 75)) +>mapReduce : Symbol(Utils.mapReduce, Decl(genericFunctionsWithOptionalParameters3.ts, 4, 75)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters3.ts, 5, 14)) >U : Symbol(U, Decl(genericFunctionsWithOptionalParameters3.ts, 5, 16)) >V : Symbol(V, Decl(genericFunctionsWithOptionalParameters3.ts, 5, 19)) diff --git a/tests/baselines/reference/genericImplements.symbols b/tests/baselines/reference/genericImplements.symbols index b3bffdc1b6d..21d56ab08f1 100644 --- a/tests/baselines/reference/genericImplements.symbols +++ b/tests/baselines/reference/genericImplements.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/genericImplements.ts === class A { a; }; >A : Symbol(A, Decl(genericImplements.ts, 0, 0)) ->a : Symbol(a, Decl(genericImplements.ts, 0, 9)) +>a : Symbol(A.a, Decl(genericImplements.ts, 0, 9)) class B { b; }; >B : Symbol(B, Decl(genericImplements.ts, 0, 15)) ->b : Symbol(b, Decl(genericImplements.ts, 1, 9)) +>b : Symbol(B.b, Decl(genericImplements.ts, 1, 9)) interface I { >I : Symbol(I, Decl(genericImplements.ts, 1, 15)) f(): T; ->f : Symbol(f, Decl(genericImplements.ts, 2, 13)) +>f : Symbol(I.f, Decl(genericImplements.ts, 2, 13)) >T : Symbol(T, Decl(genericImplements.ts, 3, 6)) >A : Symbol(A, Decl(genericImplements.ts, 0, 0)) >T : Symbol(T, Decl(genericImplements.ts, 3, 6)) @@ -24,7 +24,7 @@ class X implements I { >I : Symbol(I, Decl(genericImplements.ts, 1, 15)) f(): T { return undefined; } ->f : Symbol(f, Decl(genericImplements.ts, 7, 22)) +>f : Symbol(X.f, Decl(genericImplements.ts, 7, 22)) >T : Symbol(T, Decl(genericImplements.ts, 8, 6)) >B : Symbol(B, Decl(genericImplements.ts, 0, 15)) >T : Symbol(T, Decl(genericImplements.ts, 8, 6)) @@ -38,7 +38,7 @@ class Y implements I { >I : Symbol(I, Decl(genericImplements.ts, 1, 15)) f(): T { return undefined; } ->f : Symbol(f, Decl(genericImplements.ts, 12, 22)) +>f : Symbol(Y.f, Decl(genericImplements.ts, 12, 22)) >T : Symbol(T, Decl(genericImplements.ts, 13, 6)) >A : Symbol(A, Decl(genericImplements.ts, 0, 0)) >T : Symbol(T, Decl(genericImplements.ts, 13, 6)) @@ -52,7 +52,7 @@ class Z implements I { >I : Symbol(I, Decl(genericImplements.ts, 1, 15)) f(): T { return undefined; } ->f : Symbol(f, Decl(genericImplements.ts, 17, 22)) +>f : Symbol(Z.f, Decl(genericImplements.ts, 17, 22)) >T : Symbol(T, Decl(genericImplements.ts, 18, 6)) >T : Symbol(T, Decl(genericImplements.ts, 18, 6)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/genericInference2.symbols b/tests/baselines/reference/genericInference2.symbols index 52b80747cb9..3389bf3a97b 100644 --- a/tests/baselines/reference/genericInference2.symbols +++ b/tests/baselines/reference/genericInference2.symbols @@ -14,13 +14,13 @@ >T : Symbol(T, Decl(genericInference2.ts, 1, 35)) N: number; ->N : Symbol(N, Decl(genericInference2.ts, 3, 27)) +>N : Symbol(Observable.N, Decl(genericInference2.ts, 3, 27)) g: boolean; ->g : Symbol(g, Decl(genericInference2.ts, 4, 21)) +>g : Symbol(Observable.g, Decl(genericInference2.ts, 4, 21)) r: T; ->r : Symbol(r, Decl(genericInference2.ts, 5, 22)) +>r : Symbol(Observable.r, Decl(genericInference2.ts, 5, 22)) >T : Symbol(T, Decl(genericInference2.ts, 1, 35)) } export function observable(value: T): Observable; diff --git a/tests/baselines/reference/genericInstanceOf.symbols b/tests/baselines/reference/genericInstanceOf.symbols index c1636724892..83242a198e1 100644 --- a/tests/baselines/reference/genericInstanceOf.symbols +++ b/tests/baselines/reference/genericInstanceOf.symbols @@ -10,21 +10,21 @@ class C { >T : Symbol(T, Decl(genericInstanceOf.ts, 4, 8)) constructor(public a: T, public b: F) {} ->a : Symbol(a, Decl(genericInstanceOf.ts, 5, 16)) +>a : Symbol(C.a, Decl(genericInstanceOf.ts, 5, 16)) >T : Symbol(T, Decl(genericInstanceOf.ts, 4, 8)) ->b : Symbol(b, Decl(genericInstanceOf.ts, 5, 28)) +>b : Symbol(C.b, Decl(genericInstanceOf.ts, 5, 28)) >F : Symbol(F, Decl(genericInstanceOf.ts, 0, 0)) foo() { ->foo : Symbol(foo, Decl(genericInstanceOf.ts, 5, 44)) +>foo : Symbol(C.foo, Decl(genericInstanceOf.ts, 5, 44)) if (this.a instanceof this.b) { ->this.a : Symbol(a, Decl(genericInstanceOf.ts, 5, 16)) +>this.a : Symbol(C.a, Decl(genericInstanceOf.ts, 5, 16)) >this : Symbol(C, Decl(genericInstanceOf.ts, 2, 1)) ->a : Symbol(a, Decl(genericInstanceOf.ts, 5, 16)) ->this.b : Symbol(b, Decl(genericInstanceOf.ts, 5, 28)) +>a : Symbol(C.a, Decl(genericInstanceOf.ts, 5, 16)) +>this.b : Symbol(C.b, Decl(genericInstanceOf.ts, 5, 28)) >this : Symbol(C, Decl(genericInstanceOf.ts, 2, 1)) ->b : Symbol(b, Decl(genericInstanceOf.ts, 5, 28)) +>b : Symbol(C.b, Decl(genericInstanceOf.ts, 5, 28)) } } } diff --git a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.symbols b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.symbols index 51579bad2d5..b65224cd0c8 100644 --- a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.symbols +++ b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.symbols @@ -3,9 +3,9 @@ interface Pair { first: T1; second: T2; } >Pair : Symbol(Pair, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 0)) >T1 : Symbol(T1, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 15)) >T2 : Symbol(T2, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 18)) ->first : Symbol(first, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 24)) +>first : Symbol(Pair.first, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 24)) >T1 : Symbol(T1, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 15)) ->second : Symbol(second, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 35)) +>second : Symbol(Pair.second, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 35)) >T2 : Symbol(T2, Decl(genericInstantiationEquivalentToObjectLiteral.ts, 0, 18)) var x: Pair diff --git a/tests/baselines/reference/genericInterfaceImplementation.symbols b/tests/baselines/reference/genericInterfaceImplementation.symbols index 5816396081f..0b9ef1b90ae 100644 --- a/tests/baselines/reference/genericInterfaceImplementation.symbols +++ b/tests/baselines/reference/genericInterfaceImplementation.symbols @@ -4,11 +4,11 @@ interface IOption { >A : Symbol(A, Decl(genericInterfaceImplementation.ts, 0, 18)) get(): A; ->get : Symbol(get, Decl(genericInterfaceImplementation.ts, 0, 22)) +>get : Symbol(IOption.get, Decl(genericInterfaceImplementation.ts, 0, 22)) >A : Symbol(A, Decl(genericInterfaceImplementation.ts, 0, 18)) flatten(): IOption; ->flatten : Symbol(flatten, Decl(genericInterfaceImplementation.ts, 1, 13)) +>flatten : Symbol(IOption.flatten, Decl(genericInterfaceImplementation.ts, 1, 13)) >B : Symbol(B, Decl(genericInterfaceImplementation.ts, 3, 12)) >IOption : Symbol(IOption, Decl(genericInterfaceImplementation.ts, 0, 0)) >B : Symbol(B, Decl(genericInterfaceImplementation.ts, 3, 12)) @@ -21,14 +21,14 @@ class None implements IOption{ >T : Symbol(T, Decl(genericInterfaceImplementation.ts, 6, 11)) get(): T { ->get : Symbol(get, Decl(genericInterfaceImplementation.ts, 6, 36)) +>get : Symbol(None.get, Decl(genericInterfaceImplementation.ts, 6, 36)) >T : Symbol(T, Decl(genericInterfaceImplementation.ts, 6, 11)) throw null; } flatten() : IOption { ->flatten : Symbol(flatten, Decl(genericInterfaceImplementation.ts, 9, 5)) +>flatten : Symbol(None.flatten, Decl(genericInterfaceImplementation.ts, 9, 5)) >U : Symbol(U, Decl(genericInterfaceImplementation.ts, 11, 12)) >IOption : Symbol(IOption, Decl(genericInterfaceImplementation.ts, 0, 0)) >U : Symbol(U, Decl(genericInterfaceImplementation.ts, 11, 12)) diff --git a/tests/baselines/reference/genericInterfaceTypeCall.symbols b/tests/baselines/reference/genericInterfaceTypeCall.symbols index e28ce8f8d80..fe640fd2e53 100644 --- a/tests/baselines/reference/genericInterfaceTypeCall.symbols +++ b/tests/baselines/reference/genericInterfaceTypeCall.symbols @@ -4,7 +4,7 @@ interface Foo { >T : Symbol(T, Decl(genericInterfaceTypeCall.ts, 0, 14)) reject(arg: T): void; ->reject : Symbol(reject, Decl(genericInterfaceTypeCall.ts, 0, 18)) +>reject : Symbol(Foo.reject, Decl(genericInterfaceTypeCall.ts, 0, 18)) >arg : Symbol(arg, Decl(genericInterfaceTypeCall.ts, 1, 11)) >T : Symbol(T, Decl(genericInterfaceTypeCall.ts, 0, 14)) } @@ -17,13 +17,13 @@ interface bar { >T : Symbol(T, Decl(genericInterfaceTypeCall.ts, 5, 14)) fail(func: (arg: T) => void ): void; ->fail : Symbol(fail, Decl(genericInterfaceTypeCall.ts, 5, 18)) +>fail : Symbol(bar.fail, Decl(genericInterfaceTypeCall.ts, 5, 18)) >func : Symbol(func, Decl(genericInterfaceTypeCall.ts, 6, 9)) >arg : Symbol(arg, Decl(genericInterfaceTypeCall.ts, 6, 16)) >T : Symbol(T, Decl(genericInterfaceTypeCall.ts, 5, 14)) fail2(func2: { (arg: T): void; }): void; ->fail2 : Symbol(fail2, Decl(genericInterfaceTypeCall.ts, 6, 40)) +>fail2 : Symbol(bar.fail2, Decl(genericInterfaceTypeCall.ts, 6, 40)) >func2 : Symbol(func2, Decl(genericInterfaceTypeCall.ts, 7, 10)) >arg : Symbol(arg, Decl(genericInterfaceTypeCall.ts, 7, 20)) >T : Symbol(T, Decl(genericInterfaceTypeCall.ts, 5, 14)) diff --git a/tests/baselines/reference/genericMethodOverspecialization.symbols b/tests/baselines/reference/genericMethodOverspecialization.symbols index 808addf068c..329ca2de675 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.symbols +++ b/tests/baselines/reference/genericMethodOverspecialization.symbols @@ -6,10 +6,10 @@ interface HTMLElement { >HTMLElement : Symbol(HTMLElement, Decl(genericMethodOverspecialization.ts, 0, 62)) clientWidth: number; ->clientWidth : Symbol(clientWidth, Decl(genericMethodOverspecialization.ts, 2, 23)) +>clientWidth : Symbol(HTMLElement.clientWidth, Decl(genericMethodOverspecialization.ts, 2, 23)) isDisabled: boolean; ->isDisabled : Symbol(isDisabled, Decl(genericMethodOverspecialization.ts, 3, 24)) +>isDisabled : Symbol(HTMLElement.isDisabled, Decl(genericMethodOverspecialization.ts, 3, 24)) } declare var document: Document; @@ -20,7 +20,7 @@ interface Document { >Document : Symbol(Document, Decl(genericMethodOverspecialization.ts, 7, 31)) getElementById(elementId: string): HTMLElement; ->getElementById : Symbol(getElementById, Decl(genericMethodOverspecialization.ts, 8, 20)) +>getElementById : Symbol(Document.getElementById, Decl(genericMethodOverspecialization.ts, 8, 20)) >elementId : Symbol(elementId, Decl(genericMethodOverspecialization.ts, 9, 19)) >HTMLElement : Symbol(HTMLElement, Decl(genericMethodOverspecialization.ts, 0, 62)) } diff --git a/tests/baselines/reference/genericObjectLitReturnType.symbols b/tests/baselines/reference/genericObjectLitReturnType.symbols index f3253bdf810..8dacec9a8c5 100644 --- a/tests/baselines/reference/genericObjectLitReturnType.symbols +++ b/tests/baselines/reference/genericObjectLitReturnType.symbols @@ -4,7 +4,7 @@ class X >T : Symbol(T, Decl(genericObjectLitReturnType.ts, 0, 8)) { f(t: T) { return { a: t }; } ->f : Symbol(f, Decl(genericObjectLitReturnType.ts, 1, 1)) +>f : Symbol(X.f, Decl(genericObjectLitReturnType.ts, 1, 1)) >t : Symbol(t, Decl(genericObjectLitReturnType.ts, 2, 6)) >T : Symbol(T, Decl(genericObjectLitReturnType.ts, 0, 8)) >a : Symbol(a, Decl(genericObjectLitReturnType.ts, 2, 22)) diff --git a/tests/baselines/reference/genericOfACloduleType1.symbols b/tests/baselines/reference/genericOfACloduleType1.symbols index b2bb95a8ef1..07a677b60c0 100644 --- a/tests/baselines/reference/genericOfACloduleType1.symbols +++ b/tests/baselines/reference/genericOfACloduleType1.symbols @@ -2,7 +2,7 @@ class G{ bar(x: T) { return x; } } >G : Symbol(G, Decl(genericOfACloduleType1.ts, 0, 0)) >T : Symbol(T, Decl(genericOfACloduleType1.ts, 0, 8)) ->bar : Symbol(bar, Decl(genericOfACloduleType1.ts, 0, 11)) +>bar : Symbol(G.bar, Decl(genericOfACloduleType1.ts, 0, 11)) >x : Symbol(x, Decl(genericOfACloduleType1.ts, 0, 16)) >T : Symbol(T, Decl(genericOfACloduleType1.ts, 0, 8)) >x : Symbol(x, Decl(genericOfACloduleType1.ts, 0, 16)) @@ -12,7 +12,7 @@ module M { export class C { foo() { } } >C : Symbol(C, Decl(genericOfACloduleType1.ts, 1, 10), Decl(genericOfACloduleType1.ts, 2, 32)) ->foo : Symbol(foo, Decl(genericOfACloduleType1.ts, 2, 20)) +>foo : Symbol(C.foo, Decl(genericOfACloduleType1.ts, 2, 20)) export module C { >C : Symbol(C, Decl(genericOfACloduleType1.ts, 1, 10), Decl(genericOfACloduleType1.ts, 2, 32)) diff --git a/tests/baselines/reference/genericOfACloduleType2.symbols b/tests/baselines/reference/genericOfACloduleType2.symbols index 2f4fe34818c..4999d227bbc 100644 --- a/tests/baselines/reference/genericOfACloduleType2.symbols +++ b/tests/baselines/reference/genericOfACloduleType2.symbols @@ -2,7 +2,7 @@ class G{ bar(x: T) { return x; } } >G : Symbol(G, Decl(genericOfACloduleType2.ts, 0, 0)) >T : Symbol(T, Decl(genericOfACloduleType2.ts, 0, 8)) ->bar : Symbol(bar, Decl(genericOfACloduleType2.ts, 0, 11)) +>bar : Symbol(G.bar, Decl(genericOfACloduleType2.ts, 0, 11)) >x : Symbol(x, Decl(genericOfACloduleType2.ts, 0, 16)) >T : Symbol(T, Decl(genericOfACloduleType2.ts, 0, 8)) >x : Symbol(x, Decl(genericOfACloduleType2.ts, 0, 16)) @@ -12,7 +12,7 @@ module M { export class C { foo() { } } >C : Symbol(C, Decl(genericOfACloduleType2.ts, 1, 10), Decl(genericOfACloduleType2.ts, 2, 32)) ->foo : Symbol(foo, Decl(genericOfACloduleType2.ts, 2, 20)) +>foo : Symbol(C.foo, Decl(genericOfACloduleType2.ts, 2, 20)) export module C { >C : Symbol(C, Decl(genericOfACloduleType2.ts, 1, 10), Decl(genericOfACloduleType2.ts, 2, 32)) diff --git a/tests/baselines/reference/genericOverloadSignatures.symbols b/tests/baselines/reference/genericOverloadSignatures.symbols index 76343fb1898..148aead0616 100644 --- a/tests/baselines/reference/genericOverloadSignatures.symbols +++ b/tests/baselines/reference/genericOverloadSignatures.symbols @@ -33,13 +33,13 @@ interface I2 { >I2 : Symbol(I2, Decl(genericOverloadSignatures.ts, 7, 17)) f(x: T): number; ->f : Symbol(f, Decl(genericOverloadSignatures.ts, 9, 14), Decl(genericOverloadSignatures.ts, 10, 23)) +>f : Symbol(I2.f, Decl(genericOverloadSignatures.ts, 9, 14), Decl(genericOverloadSignatures.ts, 10, 23)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 10, 6)) >x : Symbol(x, Decl(genericOverloadSignatures.ts, 10, 9)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 10, 6)) f(x: T): string; ->f : Symbol(f, Decl(genericOverloadSignatures.ts, 9, 14), Decl(genericOverloadSignatures.ts, 10, 23)) +>f : Symbol(I2.f, Decl(genericOverloadSignatures.ts, 9, 14), Decl(genericOverloadSignatures.ts, 10, 23)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 11, 6)) >x : Symbol(x, Decl(genericOverloadSignatures.ts, 11, 9)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 11, 6)) @@ -50,12 +50,12 @@ interface I3 { >T : Symbol(T, Decl(genericOverloadSignatures.ts, 14, 13)) f(x: T): number; ->f : Symbol(f, Decl(genericOverloadSignatures.ts, 14, 17), Decl(genericOverloadSignatures.ts, 15, 20)) +>f : Symbol(I3.f, Decl(genericOverloadSignatures.ts, 14, 17), Decl(genericOverloadSignatures.ts, 15, 20)) >x : Symbol(x, Decl(genericOverloadSignatures.ts, 15, 6)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 14, 13)) f(x: T): string; ->f : Symbol(f, Decl(genericOverloadSignatures.ts, 14, 17), Decl(genericOverloadSignatures.ts, 15, 20)) +>f : Symbol(I3.f, Decl(genericOverloadSignatures.ts, 14, 17), Decl(genericOverloadSignatures.ts, 15, 20)) >x : Symbol(x, Decl(genericOverloadSignatures.ts, 16, 6)) >T : Symbol(T, Decl(genericOverloadSignatures.ts, 14, 13)) } diff --git a/tests/baselines/reference/genericPrototypeProperty.symbols b/tests/baselines/reference/genericPrototypeProperty.symbols index ca2fe000dce..130d9669327 100644 --- a/tests/baselines/reference/genericPrototypeProperty.symbols +++ b/tests/baselines/reference/genericPrototypeProperty.symbols @@ -4,11 +4,11 @@ class C { >T : Symbol(T, Decl(genericPrototypeProperty.ts, 0, 8)) x: T; ->x : Symbol(x, Decl(genericPrototypeProperty.ts, 0, 12)) +>x : Symbol(C.x, Decl(genericPrototypeProperty.ts, 0, 12)) >T : Symbol(T, Decl(genericPrototypeProperty.ts, 0, 8)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(genericPrototypeProperty.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(genericPrototypeProperty.ts, 1, 9)) >x : Symbol(x, Decl(genericPrototypeProperty.ts, 2, 8)) >T : Symbol(T, Decl(genericPrototypeProperty.ts, 0, 8)) >T : Symbol(T, Decl(genericPrototypeProperty.ts, 0, 8)) diff --git a/tests/baselines/reference/genericPrototypeProperty2.symbols b/tests/baselines/reference/genericPrototypeProperty2.symbols index f7d55162154..71709239cef 100644 --- a/tests/baselines/reference/genericPrototypeProperty2.symbols +++ b/tests/baselines/reference/genericPrototypeProperty2.symbols @@ -1,13 +1,13 @@ === tests/cases/compiler/genericPrototypeProperty2.ts === interface EventTarget { x } >EventTarget : Symbol(EventTarget, Decl(genericPrototypeProperty2.ts, 0, 0)) ->x : Symbol(x, Decl(genericPrototypeProperty2.ts, 0, 23)) +>x : Symbol(EventTarget.x, Decl(genericPrototypeProperty2.ts, 0, 23)) class BaseEvent { >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty2.ts, 0, 27)) target: EventTarget; ->target : Symbol(target, Decl(genericPrototypeProperty2.ts, 1, 17)) +>target : Symbol(BaseEvent.target, Decl(genericPrototypeProperty2.ts, 1, 17)) >EventTarget : Symbol(EventTarget, Decl(genericPrototypeProperty2.ts, 0, 0)) } @@ -18,14 +18,14 @@ class MyEvent extends BaseEvent { >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty2.ts, 0, 27)) target: T; ->target : Symbol(target, Decl(genericPrototypeProperty2.ts, 5, 56)) +>target : Symbol(MyEvent.target, Decl(genericPrototypeProperty2.ts, 5, 56)) >T : Symbol(T, Decl(genericPrototypeProperty2.ts, 5, 14)) } class BaseEventWrapper { >BaseEventWrapper : Symbol(BaseEventWrapper, Decl(genericPrototypeProperty2.ts, 7, 1)) t: BaseEvent; ->t : Symbol(t, Decl(genericPrototypeProperty2.ts, 8, 24)) +>t : Symbol(BaseEventWrapper.t, Decl(genericPrototypeProperty2.ts, 8, 24)) >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty2.ts, 0, 27)) } @@ -34,6 +34,6 @@ class MyEventWrapper extends BaseEventWrapper { >BaseEventWrapper : Symbol(BaseEventWrapper, Decl(genericPrototypeProperty2.ts, 7, 1)) t: MyEvent; // any satisfies constraint and passes assignability check between 'target' properties ->t : Symbol(t, Decl(genericPrototypeProperty2.ts, 12, 47)) +>t : Symbol(MyEventWrapper.t, Decl(genericPrototypeProperty2.ts, 12, 47)) >MyEvent : Symbol(MyEvent, Decl(genericPrototypeProperty2.ts, 3, 1)) } diff --git a/tests/baselines/reference/genericPrototypeProperty3.symbols b/tests/baselines/reference/genericPrototypeProperty3.symbols index fb28fbcc89d..7f8c57ff2ea 100644 --- a/tests/baselines/reference/genericPrototypeProperty3.symbols +++ b/tests/baselines/reference/genericPrototypeProperty3.symbols @@ -3,7 +3,7 @@ class BaseEvent { >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty3.ts, 0, 0)) target: {}; ->target : Symbol(target, Decl(genericPrototypeProperty3.ts, 0, 17)) +>target : Symbol(BaseEvent.target, Decl(genericPrototypeProperty3.ts, 0, 17)) } class MyEvent extends BaseEvent { // T is instantiated to any in the prototype, which is assignable to {} @@ -12,14 +12,14 @@ class MyEvent extends BaseEvent { // T is instantiated to any in the prototyp >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty3.ts, 0, 0)) target: T; ->target : Symbol(target, Decl(genericPrototypeProperty3.ts, 4, 36)) +>target : Symbol(MyEvent.target, Decl(genericPrototypeProperty3.ts, 4, 36)) >T : Symbol(T, Decl(genericPrototypeProperty3.ts, 4, 14)) } class BaseEventWrapper { >BaseEventWrapper : Symbol(BaseEventWrapper, Decl(genericPrototypeProperty3.ts, 6, 1)) t: BaseEvent; ->t : Symbol(t, Decl(genericPrototypeProperty3.ts, 7, 24)) +>t : Symbol(BaseEventWrapper.t, Decl(genericPrototypeProperty3.ts, 7, 24)) >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty3.ts, 0, 0)) } @@ -28,6 +28,6 @@ class MyEventWrapper extends BaseEventWrapper { >BaseEventWrapper : Symbol(BaseEventWrapper, Decl(genericPrototypeProperty3.ts, 6, 1)) t: MyEvent; ->t : Symbol(t, Decl(genericPrototypeProperty3.ts, 11, 47)) +>t : Symbol(MyEventWrapper.t, Decl(genericPrototypeProperty3.ts, 11, 47)) >MyEvent : Symbol(MyEvent, Decl(genericPrototypeProperty3.ts, 2, 1)) } diff --git a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.symbols b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.symbols index ff8d19ff6e6..16171917561 100644 --- a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.symbols +++ b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.symbols @@ -32,7 +32,7 @@ module TypeScript2 { } // link methods public addOutgoingLink(linkTo: PullSymbol, kind: SymbolLinkKind) { ->addOutgoingLink : Symbol(addOutgoingLink, Decl(genericRecursiveImplicitConstructorErrors2.ts, 12, 5)) +>addOutgoingLink : Symbol(PullSymbol.addOutgoingLink, Decl(genericRecursiveImplicitConstructorErrors2.ts, 12, 5)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 27)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 29)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 31)) @@ -44,7 +44,7 @@ module TypeScript2 { } public getType(): PullTypeSymbol { ->getType : Symbol(getType, Decl(genericRecursiveImplicitConstructorErrors2.ts, 16, 5)) +>getType : Symbol(PullSymbol.getType, Decl(genericRecursiveImplicitConstructorErrors2.ts, 16, 5)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 19)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 21)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 23)) diff --git a/tests/baselines/reference/genericReversingTypeParameters.symbols b/tests/baselines/reference/genericReversingTypeParameters.symbols index 05eb102f36b..2a77e5496be 100644 --- a/tests/baselines/reference/genericReversingTypeParameters.symbols +++ b/tests/baselines/reference/genericReversingTypeParameters.symbols @@ -5,19 +5,19 @@ class BiMap { >V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14)) private inverseBiMap: BiMap; ->inverseBiMap : Symbol(inverseBiMap, Decl(genericReversingTypeParameters.ts, 0, 19)) +>inverseBiMap : Symbol(BiMap.inverseBiMap, Decl(genericReversingTypeParameters.ts, 0, 19)) >BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0)) >V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14)) >K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12)) public get(key: K): V { return null; } ->get : Symbol(get, Decl(genericReversingTypeParameters.ts, 1, 38)) +>get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38)) >key : Symbol(key, Decl(genericReversingTypeParameters.ts, 2, 15)) >K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12)) >V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14)) public inverse(): BiMap { return null; } ->inverse : Symbol(inverse, Decl(genericReversingTypeParameters.ts, 2, 42)) +>inverse : Symbol(BiMap.inverse, Decl(genericReversingTypeParameters.ts, 2, 42)) >BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0)) >V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14)) >K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12)) diff --git a/tests/baselines/reference/genericReversingTypeParameters2.symbols b/tests/baselines/reference/genericReversingTypeParameters2.symbols index d33dbd3a64b..43f6db8ecba 100644 --- a/tests/baselines/reference/genericReversingTypeParameters2.symbols +++ b/tests/baselines/reference/genericReversingTypeParameters2.symbols @@ -5,19 +5,19 @@ class BiMap { >V : Symbol(V, Decl(genericReversingTypeParameters2.ts, 0, 14)) private inverseBiMap: BiMap; ->inverseBiMap : Symbol(inverseBiMap, Decl(genericReversingTypeParameters2.ts, 0, 19)) +>inverseBiMap : Symbol(BiMap.inverseBiMap, Decl(genericReversingTypeParameters2.ts, 0, 19)) >BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters2.ts, 0, 0)) >V : Symbol(V, Decl(genericReversingTypeParameters2.ts, 0, 14)) >K : Symbol(K, Decl(genericReversingTypeParameters2.ts, 0, 12)) public get(key: K): V { return null; } ->get : Symbol(get, Decl(genericReversingTypeParameters2.ts, 1, 38)) +>get : Symbol(BiMap.get, Decl(genericReversingTypeParameters2.ts, 1, 38)) >key : Symbol(key, Decl(genericReversingTypeParameters2.ts, 2, 15)) >K : Symbol(K, Decl(genericReversingTypeParameters2.ts, 0, 12)) >V : Symbol(V, Decl(genericReversingTypeParameters2.ts, 0, 14)) public inverse(): BiMap { return null; } ->inverse : Symbol(inverse, Decl(genericReversingTypeParameters2.ts, 2, 42)) +>inverse : Symbol(BiMap.inverse, Decl(genericReversingTypeParameters2.ts, 2, 42)) >BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters2.ts, 0, 0)) >V : Symbol(V, Decl(genericReversingTypeParameters2.ts, 0, 14)) >K : Symbol(K, Decl(genericReversingTypeParameters2.ts, 0, 12)) diff --git a/tests/baselines/reference/genericSpecializationToTypeLiteral1.symbols b/tests/baselines/reference/genericSpecializationToTypeLiteral1.symbols index 78203ddacf6..057b6ec6548 100644 --- a/tests/baselines/reference/genericSpecializationToTypeLiteral1.symbols +++ b/tests/baselines/reference/genericSpecializationToTypeLiteral1.symbols @@ -4,7 +4,7 @@ interface IEnumerable { >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) zip(second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) +>zip : Symbol(IEnumerable.zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 2, 8)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 2, 17)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) @@ -20,7 +20,7 @@ interface IEnumerable { >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 2, 8)) zip(second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) +>zip : Symbol(IEnumerable.zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 3, 8)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 3, 17)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) @@ -35,14 +35,14 @@ interface IEnumerable { >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 3, 8)) zip(...params: any[]): IEnumerable; // last one is selector ->zip : Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) +>zip : Symbol(IEnumerable.zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 4, 8)) >params : Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 4, 17)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 4, 8)) merge(...params: IEnumerable[]): IEnumerable; ->merge : Symbol(merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) +>merge : Symbol(IEnumerable.merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 6, 10)) >params : Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 6, 19)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) @@ -51,7 +51,7 @@ interface IEnumerable { >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) merge(...params: T[][]): IEnumerable; ->merge : Symbol(merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) +>merge : Symbol(IEnumerable.merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) >TResult : Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 7, 10)) >params : Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 7, 19)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) @@ -60,7 +60,7 @@ interface IEnumerable { concat(...sequences: IEnumerable[]): IEnumerable; ->concat : Symbol(concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) +>concat : Symbol(IEnumerable.concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) >sequences : Symbol(sequences, Decl(genericSpecializationToTypeLiteral1.ts, 10, 11)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) @@ -68,14 +68,14 @@ interface IEnumerable { >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) concat(...sequences: T[]): IEnumerable; ->concat : Symbol(concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) +>concat : Symbol(IEnumerable.concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) >sequences : Symbol(sequences, Decl(genericSpecializationToTypeLiteral1.ts, 11, 11)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) insert(index: number, second: IEnumerable): IEnumerable; ->insert : Symbol(insert, Decl(genericSpecializationToTypeLiteral1.ts, 11, 46)) +>insert : Symbol(IEnumerable.insert, Decl(genericSpecializationToTypeLiteral1.ts, 11, 46)) >index : Symbol(index, Decl(genericSpecializationToTypeLiteral1.ts, 13, 11)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 13, 25)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) @@ -84,13 +84,13 @@ interface IEnumerable { >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: IEnumerable): boolean; ->sequenceEqual : Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) +>sequenceEqual : Symbol(IEnumerable.sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 15, 18)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; ->sequenceEqual : Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) +>sequenceEqual : Symbol(IEnumerable.sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >TCompare : Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 16, 18)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 16, 28)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) @@ -101,12 +101,12 @@ interface IEnumerable { >TCompare : Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 16, 18)) sequenceEqual(second: T[]): boolean; ->sequenceEqual : Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) +>sequenceEqual : Symbol(IEnumerable.sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 17, 18)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: T[], compareSelector: (element: T) => TCompare): boolean; ->sequenceEqual : Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) +>sequenceEqual : Symbol(IEnumerable.sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >TCompare : Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 18, 18)) >second : Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 18, 28)) >T : Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) @@ -116,7 +116,7 @@ interface IEnumerable { >TCompare : Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 18, 18)) toDictionary(keySelector: (element: T) => TKey): IDictionary; ->toDictionary : Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) +>toDictionary : Symbol(IEnumerable.toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 20, 17)) >keySelector : Symbol(keySelector, Decl(genericSpecializationToTypeLiteral1.ts, 20, 23)) >element : Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 20, 37)) @@ -126,7 +126,7 @@ interface IEnumerable { >TKey : Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 20, 17)) toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; ->toDictionary : Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) +>toDictionary : Symbol(IEnumerable.toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 21, 17)) >TValue : Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 21, 22)) >keySelector : Symbol(keySelector, Decl(genericSpecializationToTypeLiteral1.ts, 21, 31)) @@ -142,7 +142,7 @@ interface IEnumerable { >TValue : Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 21, 22)) toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; ->toDictionary : Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) +>toDictionary : Symbol(IEnumerable.toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 22, 17)) >TValue : Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 22, 22)) >TCompare : Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 22, 30)) @@ -169,7 +169,7 @@ interface IDictionary { >TValue : Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 25, 27)) toEnumerable(): IEnumerable<{ key: TKey; value: TValue }>; ->toEnumerable : Symbol(toEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 25, 37)) +>toEnumerable : Symbol(IDictionary.toEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 25, 37)) >IEnumerable : Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >key : Symbol(key, Decl(genericSpecializationToTypeLiteral1.ts, 26, 33)) >TKey : Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 25, 22)) diff --git a/tests/baselines/reference/genericSpecializations1.symbols b/tests/baselines/reference/genericSpecializations1.symbols index 87f31276b3f..79e591d3186 100644 --- a/tests/baselines/reference/genericSpecializations1.symbols +++ b/tests/baselines/reference/genericSpecializations1.symbols @@ -4,7 +4,7 @@ interface IFoo { >T : Symbol(T, Decl(genericSpecializations1.ts, 0, 15)) foo(x: T): T; // no error on implementors because IFoo's T is different from foo's T ->foo : Symbol(foo, Decl(genericSpecializations1.ts, 0, 19)) +>foo : Symbol(IFoo.foo, Decl(genericSpecializations1.ts, 0, 19)) >T : Symbol(T, Decl(genericSpecializations1.ts, 1, 8)) >x : Symbol(x, Decl(genericSpecializations1.ts, 1, 11)) >T : Symbol(T, Decl(genericSpecializations1.ts, 1, 8)) @@ -16,7 +16,7 @@ class IntFooBad implements IFoo { >IFoo : Symbol(IFoo, Decl(genericSpecializations1.ts, 0, 0)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(genericSpecializations1.ts, 4, 41)) +>foo : Symbol(IntFooBad.foo, Decl(genericSpecializations1.ts, 4, 41)) >x : Symbol(x, Decl(genericSpecializations1.ts, 5, 8)) } @@ -25,7 +25,7 @@ class StringFoo2 implements IFoo { >IFoo : Symbol(IFoo, Decl(genericSpecializations1.ts, 0, 0)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(genericSpecializations1.ts, 8, 42)) +>foo : Symbol(StringFoo2.foo, Decl(genericSpecializations1.ts, 8, 42)) >x : Symbol(x, Decl(genericSpecializations1.ts, 9, 8)) } @@ -34,7 +34,7 @@ class StringFoo3 implements IFoo { >IFoo : Symbol(IFoo, Decl(genericSpecializations1.ts, 0, 0)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(genericSpecializations1.ts, 12, 42)) +>foo : Symbol(StringFoo3.foo, Decl(genericSpecializations1.ts, 12, 42)) >T : Symbol(T, Decl(genericSpecializations1.ts, 13, 8)) >x : Symbol(x, Decl(genericSpecializations1.ts, 13, 11)) >T : Symbol(T, Decl(genericSpecializations1.ts, 13, 8)) diff --git a/tests/baselines/reference/genericTypeAliases.symbols b/tests/baselines/reference/genericTypeAliases.symbols index 1a1d0e51487..d5f68ec0615 100644 --- a/tests/baselines/reference/genericTypeAliases.symbols +++ b/tests/baselines/reference/genericTypeAliases.symbols @@ -130,11 +130,11 @@ interface Tuple { >B : Symbol(B, Decl(genericTypeAliases.ts, 41, 18)) a: A; ->a : Symbol(a, Decl(genericTypeAliases.ts, 41, 23)) +>a : Symbol(Tuple.a, Decl(genericTypeAliases.ts, 41, 23)) >A : Symbol(A, Decl(genericTypeAliases.ts, 41, 16)) b: B; ->b : Symbol(b, Decl(genericTypeAliases.ts, 42, 9)) +>b : Symbol(Tuple.b, Decl(genericTypeAliases.ts, 42, 9)) >B : Symbol(B, Decl(genericTypeAliases.ts, 41, 18)) } @@ -152,7 +152,7 @@ interface TaggedPair extends Pair { >T : Symbol(T, Decl(genericTypeAliases.ts, 48, 21)) tag: string; ->tag : Symbol(tag, Decl(genericTypeAliases.ts, 48, 41)) +>tag : Symbol(TaggedPair.tag, Decl(genericTypeAliases.ts, 48, 41)) } var p: TaggedPair; diff --git a/tests/baselines/reference/genericTypeArgumentInference1.symbols b/tests/baselines/reference/genericTypeArgumentInference1.symbols index 7b88a84337e..da48fc7919d 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.symbols +++ b/tests/baselines/reference/genericTypeArgumentInference1.symbols @@ -18,7 +18,7 @@ module Underscore { >Static : Symbol(Static, Decl(genericTypeArgumentInference1.ts, 3, 5)) all(list: T[], iterator?: Iterator, context?: any): T; ->all : Symbol(all, Decl(genericTypeArgumentInference1.ts, 4, 29)) +>all : Symbol(Static.all, Decl(genericTypeArgumentInference1.ts, 4, 29)) >T : Symbol(T, Decl(genericTypeArgumentInference1.ts, 5, 12)) >list : Symbol(list, Decl(genericTypeArgumentInference1.ts, 5, 15)) >T : Symbol(T, Decl(genericTypeArgumentInference1.ts, 5, 12)) @@ -29,7 +29,7 @@ module Underscore { >T : Symbol(T, Decl(genericTypeArgumentInference1.ts, 5, 12)) identity(value: T): T; ->identity : Symbol(identity, Decl(genericTypeArgumentInference1.ts, 5, 77)) +>identity : Symbol(Static.identity, Decl(genericTypeArgumentInference1.ts, 5, 77)) >T : Symbol(T, Decl(genericTypeArgumentInference1.ts, 6, 17)) >value : Symbol(value, Decl(genericTypeArgumentInference1.ts, 6, 20)) >T : Symbol(T, Decl(genericTypeArgumentInference1.ts, 6, 17)) diff --git a/tests/baselines/reference/genericTypeWithCallableMembers.symbols b/tests/baselines/reference/genericTypeWithCallableMembers.symbols index f162ddf64cc..810f67316d4 100644 --- a/tests/baselines/reference/genericTypeWithCallableMembers.symbols +++ b/tests/baselines/reference/genericTypeWithCallableMembers.symbols @@ -12,25 +12,25 @@ class C { >Constructable : Symbol(Constructable, Decl(genericTypeWithCallableMembers.ts, 0, 0)) constructor(public data: T, public data2: Constructable) { } ->data : Symbol(data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) +>data : Symbol(C.data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) >T : Symbol(T, Decl(genericTypeWithCallableMembers.ts, 4, 8)) ->data2 : Symbol(data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) +>data2 : Symbol(C.data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) >Constructable : Symbol(Constructable, Decl(genericTypeWithCallableMembers.ts, 0, 0)) create() { ->create : Symbol(create, Decl(genericTypeWithCallableMembers.ts, 5, 64)) +>create : Symbol(C.create, Decl(genericTypeWithCallableMembers.ts, 5, 64)) var x = new this.data(); // no error >x : Symbol(x, Decl(genericTypeWithCallableMembers.ts, 7, 11)) ->this.data : Symbol(data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) +>this.data : Symbol(C.data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) >this : Symbol(C, Decl(genericTypeWithCallableMembers.ts, 2, 1)) ->data : Symbol(data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) +>data : Symbol(C.data, Decl(genericTypeWithCallableMembers.ts, 5, 16)) var x2 = new this.data2(); // was error, shouldn't be >x2 : Symbol(x2, Decl(genericTypeWithCallableMembers.ts, 8, 11)) ->this.data2 : Symbol(data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) +>this.data2 : Symbol(C.data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) >this : Symbol(C, Decl(genericTypeWithCallableMembers.ts, 2, 1)) ->data2 : Symbol(data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) +>data2 : Symbol(C.data2, Decl(genericTypeWithCallableMembers.ts, 5, 31)) } } diff --git a/tests/baselines/reference/genericTypeWithMultipleBases1.symbols b/tests/baselines/reference/genericTypeWithMultipleBases1.symbols index f38f47e9038..87a6e9a75ca 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases1.symbols +++ b/tests/baselines/reference/genericTypeWithMultipleBases1.symbols @@ -3,14 +3,14 @@ export interface I1 { >I1 : Symbol(I1, Decl(genericTypeWithMultipleBases1.ts, 0, 0)) m1: () => void; ->m1 : Symbol(m1, Decl(genericTypeWithMultipleBases1.ts, 0, 21)) +>m1 : Symbol(I1.m1, Decl(genericTypeWithMultipleBases1.ts, 0, 21)) } export interface I2 { >I2 : Symbol(I2, Decl(genericTypeWithMultipleBases1.ts, 2, 1)) m2: () => void; ->m2 : Symbol(m2, Decl(genericTypeWithMultipleBases1.ts, 4, 21)) +>m2 : Symbol(I2.m2, Decl(genericTypeWithMultipleBases1.ts, 4, 21)) } export interface I3 extends I1, I2 { @@ -21,7 +21,7 @@ export interface I3 extends I1, I2 { //export interface I3 extends I2, I1 { p1: T; ->p1 : Symbol(p1, Decl(genericTypeWithMultipleBases1.ts, 8, 39)) +>p1 : Symbol(I3.p1, Decl(genericTypeWithMultipleBases1.ts, 8, 39)) >T : Symbol(T, Decl(genericTypeWithMultipleBases1.ts, 8, 20)) } diff --git a/tests/baselines/reference/genericTypeWithMultipleBases2.symbols b/tests/baselines/reference/genericTypeWithMultipleBases2.symbols index e5b97ce73fa..c15e1820f4b 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases2.symbols +++ b/tests/baselines/reference/genericTypeWithMultipleBases2.symbols @@ -3,14 +3,14 @@ export interface I1 { >I1 : Symbol(I1, Decl(genericTypeWithMultipleBases2.ts, 0, 0)) m1: () => void; ->m1 : Symbol(m1, Decl(genericTypeWithMultipleBases2.ts, 0, 21)) +>m1 : Symbol(I1.m1, Decl(genericTypeWithMultipleBases2.ts, 0, 21)) } export interface I2 { >I2 : Symbol(I2, Decl(genericTypeWithMultipleBases2.ts, 2, 1)) m2: () => void; ->m2 : Symbol(m2, Decl(genericTypeWithMultipleBases2.ts, 4, 21)) +>m2 : Symbol(I2.m2, Decl(genericTypeWithMultipleBases2.ts, 4, 21)) } export interface I3 extends I2, I1 { @@ -20,7 +20,7 @@ export interface I3 extends I2, I1 { >I1 : Symbol(I1, Decl(genericTypeWithMultipleBases2.ts, 0, 0)) p1: T; ->p1 : Symbol(p1, Decl(genericTypeWithMultipleBases2.ts, 8, 39)) +>p1 : Symbol(I3.p1, Decl(genericTypeWithMultipleBases2.ts, 8, 39)) >T : Symbol(T, Decl(genericTypeWithMultipleBases2.ts, 8, 20)) } diff --git a/tests/baselines/reference/genericTypeWithMultipleBases3.symbols b/tests/baselines/reference/genericTypeWithMultipleBases3.symbols index 024ddcdf374..d645c829a35 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases3.symbols +++ b/tests/baselines/reference/genericTypeWithMultipleBases3.symbols @@ -4,7 +4,7 @@ interface IA { >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 0, 13)) foo(x: T): T; ->foo : Symbol(foo, Decl(genericTypeWithMultipleBases3.ts, 0, 17)) +>foo : Symbol(IA.foo, Decl(genericTypeWithMultipleBases3.ts, 0, 17)) >x : Symbol(x, Decl(genericTypeWithMultipleBases3.ts, 2, 4)) >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 0, 13)) >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 0, 13)) @@ -16,7 +16,7 @@ interface IB { >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 6, 13)) bar(x: T): T; ->bar : Symbol(bar, Decl(genericTypeWithMultipleBases3.ts, 6, 17)) +>bar : Symbol(IB.bar, Decl(genericTypeWithMultipleBases3.ts, 6, 17)) >x : Symbol(x, Decl(genericTypeWithMultipleBases3.ts, 8, 4)) >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 6, 13)) >T : Symbol(T, Decl(genericTypeWithMultipleBases3.ts, 6, 13)) diff --git a/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.symbols b/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.symbols index 02e73f4819e..3de80ba3f1c 100644 --- a/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.symbols +++ b/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.symbols @@ -4,7 +4,7 @@ interface B { >T : Symbol(T, Decl(genericWithCallSignatureReturningSpecialization.ts, 0, 12)) f(): B; ->f : Symbol(f, Decl(genericWithCallSignatureReturningSpecialization.ts, 0, 16)) +>f : Symbol(B.f, Decl(genericWithCallSignatureReturningSpecialization.ts, 0, 16)) >B : Symbol(B, Decl(genericWithCallSignatureReturningSpecialization.ts, 0, 0)) (value: T): void; diff --git a/tests/baselines/reference/genericWithCallSignatures1.symbols b/tests/baselines/reference/genericWithCallSignatures1.symbols index d791308b46e..de20c7c14aa 100644 --- a/tests/baselines/reference/genericWithCallSignatures1.symbols +++ b/tests/baselines/reference/genericWithCallSignatures1.symbols @@ -4,17 +4,17 @@ class MyClass { >MyClass : Symbol(MyClass, Decl(genericWithCallSignatures_1.ts, 0, 0)) public callableThing: CallableExtention; ->callableThing : Symbol(callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) +>callableThing : Symbol(MyClass.callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) >CallableExtention : Symbol(CallableExtention, Decl(genericWithCallSignatures_0.ts, 3, 1)) public myMethod() { ->myMethod : Symbol(myMethod, Decl(genericWithCallSignatures_1.ts, 2, 52)) +>myMethod : Symbol(MyClass.myMethod, Decl(genericWithCallSignatures_1.ts, 2, 52)) var x = this.callableThing(); >x : Symbol(x, Decl(genericWithCallSignatures_1.ts, 5, 11)) ->this.callableThing : Symbol(callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) +>this.callableThing : Symbol(MyClass.callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) >this : Symbol(MyClass, Decl(genericWithCallSignatures_1.ts, 0, 0)) ->callableThing : Symbol(callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) +>callableThing : Symbol(MyClass.callableThing, Decl(genericWithCallSignatures_1.ts, 1, 15)) } } === tests/cases/compiler/genericWithCallSignatures_0.ts === diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.symbols b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.symbols index 26918e9ebfb..ac7abff8d52 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.symbols +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.symbols @@ -4,17 +4,17 @@ class LazyArray { >T : Symbol(T, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 16)) private objects = <{ [objectId: string]: T; }>{}; ->objects : Symbol(objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) +>objects : Symbol(LazyArray.objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) >objectId : Symbol(objectId, Decl(genericWithIndexerOfTypeParameterType1.ts, 1, 26)) >T : Symbol(T, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 16)) array() { ->array : Symbol(array, Decl(genericWithIndexerOfTypeParameterType1.ts, 1, 53)) +>array : Symbol(LazyArray.array, Decl(genericWithIndexerOfTypeParameterType1.ts, 1, 53)) return this.objects; ->this.objects : Symbol(objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) +>this.objects : Symbol(LazyArray.objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) >this : Symbol(LazyArray, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 0)) ->objects : Symbol(objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) +>objects : Symbol(LazyArray.objects, Decl(genericWithIndexerOfTypeParameterType1.ts, 0, 20)) } } var lazyArray = new LazyArray(); diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.symbols b/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.symbols index d09abef57be..d029796b2b1 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.symbols +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.symbols @@ -5,7 +5,7 @@ export class Collection { >CollectionItem : Symbol(CollectionItem, Decl(genericWithIndexerOfTypeParameterType2.ts, 6, 1)) _itemsByKey: { [key: string]: TItem; }; ->_itemsByKey : Symbol(_itemsByKey, Decl(genericWithIndexerOfTypeParameterType2.ts, 0, 55)) +>_itemsByKey : Symbol(Collection._itemsByKey, Decl(genericWithIndexerOfTypeParameterType2.ts, 0, 55)) >key : Symbol(key, Decl(genericWithIndexerOfTypeParameterType2.ts, 1, 20)) >TItem : Symbol(TItem, Decl(genericWithIndexerOfTypeParameterType2.ts, 0, 24)) } @@ -16,7 +16,7 @@ export class List extends Collection{ >ListItem : Symbol(ListItem, Decl(genericWithIndexerOfTypeParameterType2.ts, 8, 30)) Bar() {} ->Bar : Symbol(Bar, Decl(genericWithIndexerOfTypeParameterType2.ts, 4, 47)) +>Bar : Symbol(List.Bar, Decl(genericWithIndexerOfTypeParameterType2.ts, 4, 47)) } export class CollectionItem {} @@ -27,6 +27,6 @@ export class ListItem extends CollectionItem { >CollectionItem : Symbol(CollectionItem, Decl(genericWithIndexerOfTypeParameterType2.ts, 6, 1)) __isNew: boolean; ->__isNew : Symbol(__isNew, Decl(genericWithIndexerOfTypeParameterType2.ts, 10, 46)) +>__isNew : Symbol(ListItem.__isNew, Decl(genericWithIndexerOfTypeParameterType2.ts, 10, 46)) } diff --git a/tests/baselines/reference/generics0.symbols b/tests/baselines/reference/generics0.symbols index 801b56fe718..9d23b667790 100644 --- a/tests/baselines/reference/generics0.symbols +++ b/tests/baselines/reference/generics0.symbols @@ -4,7 +4,7 @@ interface G { >T : Symbol(T, Decl(generics0.ts, 0, 12)) x: T; ->x : Symbol(x, Decl(generics0.ts, 0, 16)) +>x : Symbol(G.x, Decl(generics0.ts, 0, 16)) >T : Symbol(T, Decl(generics0.ts, 0, 12)) } diff --git a/tests/baselines/reference/generics1NoError.symbols b/tests/baselines/reference/generics1NoError.symbols index fcf820f79c4..12d6bac9459 100644 --- a/tests/baselines/reference/generics1NoError.symbols +++ b/tests/baselines/reference/generics1NoError.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/generics1NoError.ts === interface A { a: string; } >A : Symbol(A, Decl(generics1NoError.ts, 0, 0)) ->a : Symbol(a, Decl(generics1NoError.ts, 0, 13)) +>a : Symbol(A.a, Decl(generics1NoError.ts, 0, 13)) interface B extends A { b: string; } >B : Symbol(B, Decl(generics1NoError.ts, 0, 26)) >A : Symbol(A, Decl(generics1NoError.ts, 0, 0)) ->b : Symbol(b, Decl(generics1NoError.ts, 1, 23)) +>b : Symbol(B.b, Decl(generics1NoError.ts, 1, 23)) interface C extends B { c: string; } >C : Symbol(C, Decl(generics1NoError.ts, 1, 36)) >B : Symbol(B, Decl(generics1NoError.ts, 0, 26)) ->c : Symbol(c, Decl(generics1NoError.ts, 2, 23)) +>c : Symbol(C.c, Decl(generics1NoError.ts, 2, 23)) interface G { >G : Symbol(G, Decl(generics1NoError.ts, 2, 36)) @@ -20,11 +20,11 @@ interface G { >B : Symbol(B, Decl(generics1NoError.ts, 0, 26)) x: T; ->x : Symbol(x, Decl(generics1NoError.ts, 3, 29)) +>x : Symbol(G.x, Decl(generics1NoError.ts, 3, 29)) >T : Symbol(T, Decl(generics1NoError.ts, 3, 12)) y: U; ->y : Symbol(y, Decl(generics1NoError.ts, 4, 9)) +>y : Symbol(G.y, Decl(generics1NoError.ts, 4, 9)) >U : Symbol(U, Decl(generics1NoError.ts, 3, 14)) } var v1: G; // Ok diff --git a/tests/baselines/reference/generics2NoError.symbols b/tests/baselines/reference/generics2NoError.symbols index 165eb435a50..6c7f00bdcbe 100644 --- a/tests/baselines/reference/generics2NoError.symbols +++ b/tests/baselines/reference/generics2NoError.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/generics2NoError.ts === interface A { a: string; } >A : Symbol(A, Decl(generics2NoError.ts, 0, 0)) ->a : Symbol(a, Decl(generics2NoError.ts, 0, 13)) +>a : Symbol(A.a, Decl(generics2NoError.ts, 0, 13)) interface B extends A { b: string; } >B : Symbol(B, Decl(generics2NoError.ts, 0, 26)) >A : Symbol(A, Decl(generics2NoError.ts, 0, 0)) ->b : Symbol(b, Decl(generics2NoError.ts, 1, 23)) +>b : Symbol(B.b, Decl(generics2NoError.ts, 1, 23)) interface C extends B { c: string; } >C : Symbol(C, Decl(generics2NoError.ts, 1, 36)) >B : Symbol(B, Decl(generics2NoError.ts, 0, 26)) ->c : Symbol(c, Decl(generics2NoError.ts, 2, 23)) +>c : Symbol(C.c, Decl(generics2NoError.ts, 2, 23)) interface G { >G : Symbol(G, Decl(generics2NoError.ts, 2, 36)) @@ -20,11 +20,11 @@ interface G { >B : Symbol(B, Decl(generics2NoError.ts, 0, 26)) x: T; ->x : Symbol(x, Decl(generics2NoError.ts, 3, 29)) +>x : Symbol(G.x, Decl(generics2NoError.ts, 3, 29)) >T : Symbol(T, Decl(generics2NoError.ts, 3, 12)) y: U; ->y : Symbol(y, Decl(generics2NoError.ts, 4, 9)) +>y : Symbol(G.y, Decl(generics2NoError.ts, 4, 9)) >U : Symbol(U, Decl(generics2NoError.ts, 3, 14)) } diff --git a/tests/baselines/reference/generics3.symbols b/tests/baselines/reference/generics3.symbols index be9c583ff5f..c5e882b221a 100644 --- a/tests/baselines/reference/generics3.symbols +++ b/tests/baselines/reference/generics3.symbols @@ -2,16 +2,16 @@ class C { private x: T; } >C : Symbol(C, Decl(generics3.ts, 0, 0)) >T : Symbol(T, Decl(generics3.ts, 0, 8)) ->x : Symbol(x, Decl(generics3.ts, 0, 12)) +>x : Symbol(C.x, Decl(generics3.ts, 0, 12)) >T : Symbol(T, Decl(generics3.ts, 0, 8)) interface X { f(): string; } >X : Symbol(X, Decl(generics3.ts, 0, 28)) ->f : Symbol(f, Decl(generics3.ts, 1, 13)) +>f : Symbol(X.f, Decl(generics3.ts, 1, 13)) interface Y { f(): string; } >Y : Symbol(Y, Decl(generics3.ts, 1, 28)) ->f : Symbol(f, Decl(generics3.ts, 2, 13)) +>f : Symbol(Y.f, Decl(generics3.ts, 2, 13)) var a: C; >a : Symbol(a, Decl(generics3.ts, 3, 3)) diff --git a/tests/baselines/reference/generics4NoError.symbols b/tests/baselines/reference/generics4NoError.symbols index 9ea547d4db9..dd7eca8d2b4 100644 --- a/tests/baselines/reference/generics4NoError.symbols +++ b/tests/baselines/reference/generics4NoError.symbols @@ -2,16 +2,16 @@ class C { private x: T; } >C : Symbol(C, Decl(generics4NoError.ts, 0, 0)) >T : Symbol(T, Decl(generics4NoError.ts, 0, 8)) ->x : Symbol(x, Decl(generics4NoError.ts, 0, 12)) +>x : Symbol(C.x, Decl(generics4NoError.ts, 0, 12)) >T : Symbol(T, Decl(generics4NoError.ts, 0, 8)) interface X { f(): string; } >X : Symbol(X, Decl(generics4NoError.ts, 0, 28)) ->f : Symbol(f, Decl(generics4NoError.ts, 1, 13)) +>f : Symbol(X.f, Decl(generics4NoError.ts, 1, 13)) interface Y { f(): boolean; } >Y : Symbol(Y, Decl(generics4NoError.ts, 1, 28)) ->f : Symbol(f, Decl(generics4NoError.ts, 2, 13)) +>f : Symbol(Y.f, Decl(generics4NoError.ts, 2, 13)) var a: C; >a : Symbol(a, Decl(generics4NoError.ts, 3, 3)) diff --git a/tests/baselines/reference/heterogeneousArrayLiterals.symbols b/tests/baselines/reference/heterogeneousArrayLiterals.symbols index c1d98b5873a..e74a037703b 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.symbols +++ b/tests/baselines/reference/heterogeneousArrayLiterals.symbols @@ -52,17 +52,17 @@ var n = [[() => 1], [() => '']]; // {}[] class Base { foo: string; } >Base : Symbol(Base, Decl(heterogeneousArrayLiterals.ts, 18, 32)) ->foo : Symbol(foo, Decl(heterogeneousArrayLiterals.ts, 20, 12)) +>foo : Symbol(Base.foo, Decl(heterogeneousArrayLiterals.ts, 20, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(heterogeneousArrayLiterals.ts, 20, 27), Decl(heterogeneousArrayLiterals.ts, 25, 23)) >Base : Symbol(Base, Decl(heterogeneousArrayLiterals.ts, 18, 32)) ->bar : Symbol(bar, Decl(heterogeneousArrayLiterals.ts, 21, 28)) +>bar : Symbol(Derived.bar, Decl(heterogeneousArrayLiterals.ts, 21, 28)) class Derived2 extends Base { baz: string; } >Derived2 : Symbol(Derived2, Decl(heterogeneousArrayLiterals.ts, 21, 43)) >Base : Symbol(Base, Decl(heterogeneousArrayLiterals.ts, 18, 32)) ->baz : Symbol(baz, Decl(heterogeneousArrayLiterals.ts, 22, 29)) +>baz : Symbol(Derived2.baz, Decl(heterogeneousArrayLiterals.ts, 22, 29)) var base: Base; >base : Symbol(base, Decl(heterogeneousArrayLiterals.ts, 23, 3)) diff --git a/tests/baselines/reference/icomparable.symbols b/tests/baselines/reference/icomparable.symbols index 03eac6b5bec..5d3621ce178 100644 --- a/tests/baselines/reference/icomparable.symbols +++ b/tests/baselines/reference/icomparable.symbols @@ -4,7 +4,7 @@ >T : Symbol(T, Decl(icomparable.ts, 0, 26)) compareTo(other: T); ->compareTo : Symbol(compareTo, Decl(icomparable.ts, 0, 30)) +>compareTo : Symbol(IComparable.compareTo, Decl(icomparable.ts, 0, 30)) >other : Symbol(other, Decl(icomparable.ts, 1, 17)) >T : Symbol(T, Decl(icomparable.ts, 0, 26)) } diff --git a/tests/baselines/reference/ifDoWhileStatements.symbols b/tests/baselines/reference/ifDoWhileStatements.symbols index 80c8fc7f1d8..b0ec471aa48 100644 --- a/tests/baselines/reference/ifDoWhileStatements.symbols +++ b/tests/baselines/reference/ifDoWhileStatements.symbols @@ -4,7 +4,7 @@ interface I { >I : Symbol(I, Decl(ifDoWhileStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(ifDoWhileStatements.ts, 1, 13)) +>id : Symbol(I.id, Decl(ifDoWhileStatements.ts, 1, 13)) } class C implements I { @@ -12,10 +12,10 @@ class C implements I { >I : Symbol(I, Decl(ifDoWhileStatements.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(ifDoWhileStatements.ts, 5, 22)) +>id : Symbol(C.id, Decl(ifDoWhileStatements.ts, 5, 22)) name: string; ->name : Symbol(name, Decl(ifDoWhileStatements.ts, 6, 15)) +>name : Symbol(C.name, Decl(ifDoWhileStatements.ts, 6, 15)) } class C2 extends C { @@ -23,7 +23,7 @@ class C2 extends C { >C : Symbol(C, Decl(ifDoWhileStatements.ts, 3, 1)) valid: boolean; ->valid : Symbol(valid, Decl(ifDoWhileStatements.ts, 10, 20)) +>valid : Symbol(C2.valid, Decl(ifDoWhileStatements.ts, 10, 20)) } class D{ @@ -31,16 +31,16 @@ class D{ >T : Symbol(T, Decl(ifDoWhileStatements.ts, 14, 8)) source: T; ->source : Symbol(source, Decl(ifDoWhileStatements.ts, 14, 11)) +>source : Symbol(D.source, Decl(ifDoWhileStatements.ts, 14, 11)) >T : Symbol(T, Decl(ifDoWhileStatements.ts, 14, 8)) recurse: D; ->recurse : Symbol(recurse, Decl(ifDoWhileStatements.ts, 15, 14)) +>recurse : Symbol(D.recurse, Decl(ifDoWhileStatements.ts, 15, 14)) >D : Symbol(D, Decl(ifDoWhileStatements.ts, 12, 1)) >T : Symbol(T, Decl(ifDoWhileStatements.ts, 14, 8)) wrapped: D> ->wrapped : Symbol(wrapped, Decl(ifDoWhileStatements.ts, 16, 18)) +>wrapped : Symbol(D.wrapped, Decl(ifDoWhileStatements.ts, 16, 18)) >D : Symbol(D, Decl(ifDoWhileStatements.ts, 12, 1)) >D : Symbol(D, Decl(ifDoWhileStatements.ts, 12, 1)) >T : Symbol(T, Decl(ifDoWhileStatements.ts, 14, 8)) @@ -62,7 +62,7 @@ module M { >A : Symbol(A, Decl(ifDoWhileStatements.ts, 23, 10)) name: string; ->name : Symbol(name, Decl(ifDoWhileStatements.ts, 24, 20)) +>name : Symbol(A.name, Decl(ifDoWhileStatements.ts, 24, 20)) } export function F2(x: number): string { return x.toString(); } @@ -80,7 +80,7 @@ module N { >A : Symbol(A, Decl(ifDoWhileStatements.ts, 31, 10)) id: number; ->id : Symbol(id, Decl(ifDoWhileStatements.ts, 32, 20)) +>id : Symbol(A.id, Decl(ifDoWhileStatements.ts, 32, 20)) } export function F2(x: number): string { return x.toString(); } diff --git a/tests/baselines/reference/illegalGenericWrapping1.symbols b/tests/baselines/reference/illegalGenericWrapping1.symbols index f4ab78ceb69..ca197cf341e 100644 --- a/tests/baselines/reference/illegalGenericWrapping1.symbols +++ b/tests/baselines/reference/illegalGenericWrapping1.symbols @@ -4,13 +4,13 @@ interface Sequence { >T : Symbol(T, Decl(illegalGenericWrapping1.ts, 0, 19)) each(iterator: (value: T) => void ): void; ->each : Symbol(each, Decl(illegalGenericWrapping1.ts, 0, 23)) +>each : Symbol(Sequence.each, Decl(illegalGenericWrapping1.ts, 0, 23)) >iterator : Symbol(iterator, Decl(illegalGenericWrapping1.ts, 1, 9)) >value : Symbol(value, Decl(illegalGenericWrapping1.ts, 1, 20)) >T : Symbol(T, Decl(illegalGenericWrapping1.ts, 0, 19)) map(iterator: (value: T) => U): Sequence; ->map : Symbol(map, Decl(illegalGenericWrapping1.ts, 1, 46)) +>map : Symbol(Sequence.map, Decl(illegalGenericWrapping1.ts, 1, 46)) >U : Symbol(U, Decl(illegalGenericWrapping1.ts, 2, 8)) >iterator : Symbol(iterator, Decl(illegalGenericWrapping1.ts, 2, 11)) >value : Symbol(value, Decl(illegalGenericWrapping1.ts, 2, 22)) @@ -20,7 +20,7 @@ interface Sequence { >U : Symbol(U, Decl(illegalGenericWrapping1.ts, 2, 8)) filter(iterator: (value: T) => boolean): Sequence; ->filter : Symbol(filter, Decl(illegalGenericWrapping1.ts, 2, 51)) +>filter : Symbol(Sequence.filter, Decl(illegalGenericWrapping1.ts, 2, 51)) >iterator : Symbol(iterator, Decl(illegalGenericWrapping1.ts, 3, 11)) >value : Symbol(value, Decl(illegalGenericWrapping1.ts, 3, 22)) >T : Symbol(T, Decl(illegalGenericWrapping1.ts, 0, 19)) @@ -28,7 +28,7 @@ interface Sequence { >T : Symbol(T, Decl(illegalGenericWrapping1.ts, 0, 19)) groupBy(keySelector: (value: T) => K): Sequence<{ key: K; items: Sequence; }>; ->groupBy : Symbol(groupBy, Decl(illegalGenericWrapping1.ts, 3, 57)) +>groupBy : Symbol(Sequence.groupBy, Decl(illegalGenericWrapping1.ts, 3, 57)) >K : Symbol(K, Decl(illegalGenericWrapping1.ts, 4, 12)) >keySelector : Symbol(keySelector, Decl(illegalGenericWrapping1.ts, 4, 15)) >value : Symbol(value, Decl(illegalGenericWrapping1.ts, 4, 29)) diff --git a/tests/baselines/reference/implementArrayInterface.symbols b/tests/baselines/reference/implementArrayInterface.symbols index 5a671d41de3..0491f282f75 100644 --- a/tests/baselines/reference/implementArrayInterface.symbols +++ b/tests/baselines/reference/implementArrayInterface.symbols @@ -6,13 +6,13 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) toString(): string; ->toString : Symbol(toString, Decl(implementArrayInterface.ts, 0, 46)) +>toString : Symbol(MyArray.toString, Decl(implementArrayInterface.ts, 0, 46)) toLocaleString(): string; ->toLocaleString : Symbol(toLocaleString, Decl(implementArrayInterface.ts, 1, 23)) +>toLocaleString : Symbol(MyArray.toLocaleString, Decl(implementArrayInterface.ts, 1, 23)) concat(...items: U[]): T[]; ->concat : Symbol(concat, Decl(implementArrayInterface.ts, 2, 29), Decl(implementArrayInterface.ts, 3, 46)) +>concat : Symbol(MyArray.concat, Decl(implementArrayInterface.ts, 2, 29), Decl(implementArrayInterface.ts, 3, 46)) >U : Symbol(U, Decl(implementArrayInterface.ts, 3, 11)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) >items : Symbol(items, Decl(implementArrayInterface.ts, 3, 26)) @@ -20,40 +20,40 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) concat(...items: T[]): T[]; ->concat : Symbol(concat, Decl(implementArrayInterface.ts, 2, 29), Decl(implementArrayInterface.ts, 3, 46)) +>concat : Symbol(MyArray.concat, Decl(implementArrayInterface.ts, 2, 29), Decl(implementArrayInterface.ts, 3, 46)) >items : Symbol(items, Decl(implementArrayInterface.ts, 4, 11)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) join(separator?: string): string; ->join : Symbol(join, Decl(implementArrayInterface.ts, 4, 31)) +>join : Symbol(MyArray.join, Decl(implementArrayInterface.ts, 4, 31)) >separator : Symbol(separator, Decl(implementArrayInterface.ts, 5, 9)) pop(): T; ->pop : Symbol(pop, Decl(implementArrayInterface.ts, 5, 37)) +>pop : Symbol(MyArray.pop, Decl(implementArrayInterface.ts, 5, 37)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) push(...items: T[]): number; ->push : Symbol(push, Decl(implementArrayInterface.ts, 6, 13)) +>push : Symbol(MyArray.push, Decl(implementArrayInterface.ts, 6, 13)) >items : Symbol(items, Decl(implementArrayInterface.ts, 7, 9)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) reverse(): T[]; ->reverse : Symbol(reverse, Decl(implementArrayInterface.ts, 7, 32)) +>reverse : Symbol(MyArray.reverse, Decl(implementArrayInterface.ts, 7, 32)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) shift(): T; ->shift : Symbol(shift, Decl(implementArrayInterface.ts, 8, 19)) +>shift : Symbol(MyArray.shift, Decl(implementArrayInterface.ts, 8, 19)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) slice(start?: number, end?: number): T[]; ->slice : Symbol(slice, Decl(implementArrayInterface.ts, 9, 15)) +>slice : Symbol(MyArray.slice, Decl(implementArrayInterface.ts, 9, 15)) >start : Symbol(start, Decl(implementArrayInterface.ts, 10, 10)) >end : Symbol(end, Decl(implementArrayInterface.ts, 10, 25)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) sort(compareFn?: (a: T, b: T) => number): T[]; ->sort : Symbol(sort, Decl(implementArrayInterface.ts, 10, 45)) +>sort : Symbol(MyArray.sort, Decl(implementArrayInterface.ts, 10, 45)) >compareFn : Symbol(compareFn, Decl(implementArrayInterface.ts, 11, 9)) >a : Symbol(a, Decl(implementArrayInterface.ts, 11, 22)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -62,12 +62,12 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) splice(start: number): T[]; ->splice : Symbol(splice, Decl(implementArrayInterface.ts, 11, 50), Decl(implementArrayInterface.ts, 12, 31)) +>splice : Symbol(MyArray.splice, Decl(implementArrayInterface.ts, 11, 50), Decl(implementArrayInterface.ts, 12, 31)) >start : Symbol(start, Decl(implementArrayInterface.ts, 12, 11)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) splice(start: number, deleteCount: number, ...items: T[]): T[]; ->splice : Symbol(splice, Decl(implementArrayInterface.ts, 11, 50), Decl(implementArrayInterface.ts, 12, 31)) +>splice : Symbol(MyArray.splice, Decl(implementArrayInterface.ts, 11, 50), Decl(implementArrayInterface.ts, 12, 31)) >start : Symbol(start, Decl(implementArrayInterface.ts, 13, 11)) >deleteCount : Symbol(deleteCount, Decl(implementArrayInterface.ts, 13, 25)) >items : Symbol(items, Decl(implementArrayInterface.ts, 13, 46)) @@ -75,24 +75,24 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) unshift(...items: T[]): number; ->unshift : Symbol(unshift, Decl(implementArrayInterface.ts, 13, 67)) +>unshift : Symbol(MyArray.unshift, Decl(implementArrayInterface.ts, 13, 67)) >items : Symbol(items, Decl(implementArrayInterface.ts, 14, 12)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) indexOf(searchElement: T, fromIndex?: number): number; ->indexOf : Symbol(indexOf, Decl(implementArrayInterface.ts, 14, 35)) +>indexOf : Symbol(MyArray.indexOf, Decl(implementArrayInterface.ts, 14, 35)) >searchElement : Symbol(searchElement, Decl(implementArrayInterface.ts, 16, 12)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) >fromIndex : Symbol(fromIndex, Decl(implementArrayInterface.ts, 16, 29)) lastIndexOf(searchElement: T, fromIndex?: number): number; ->lastIndexOf : Symbol(lastIndexOf, Decl(implementArrayInterface.ts, 16, 58)) +>lastIndexOf : Symbol(MyArray.lastIndexOf, Decl(implementArrayInterface.ts, 16, 58)) >searchElement : Symbol(searchElement, Decl(implementArrayInterface.ts, 17, 16)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) >fromIndex : Symbol(fromIndex, Decl(implementArrayInterface.ts, 17, 33)) every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; ->every : Symbol(every, Decl(implementArrayInterface.ts, 17, 62)) +>every : Symbol(MyArray.every, Decl(implementArrayInterface.ts, 17, 62)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 18, 10)) >value : Symbol(value, Decl(implementArrayInterface.ts, 18, 23)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -102,7 +102,7 @@ declare class MyArray implements Array { >thisArg : Symbol(thisArg, Decl(implementArrayInterface.ts, 18, 71)) some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; ->some : Symbol(some, Decl(implementArrayInterface.ts, 18, 96)) +>some : Symbol(MyArray.some, Decl(implementArrayInterface.ts, 18, 96)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 19, 9)) >value : Symbol(value, Decl(implementArrayInterface.ts, 19, 22)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -112,7 +112,7 @@ declare class MyArray implements Array { >thisArg : Symbol(thisArg, Decl(implementArrayInterface.ts, 19, 70)) forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; ->forEach : Symbol(forEach, Decl(implementArrayInterface.ts, 19, 95)) +>forEach : Symbol(MyArray.forEach, Decl(implementArrayInterface.ts, 19, 95)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 20, 12)) >value : Symbol(value, Decl(implementArrayInterface.ts, 20, 25)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -122,7 +122,7 @@ declare class MyArray implements Array { >thisArg : Symbol(thisArg, Decl(implementArrayInterface.ts, 20, 70)) map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; ->map : Symbol(map, Decl(implementArrayInterface.ts, 20, 92)) +>map : Symbol(MyArray.map, Decl(implementArrayInterface.ts, 20, 92)) >U : Symbol(U, Decl(implementArrayInterface.ts, 21, 8)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 21, 11)) >value : Symbol(value, Decl(implementArrayInterface.ts, 21, 24)) @@ -135,7 +135,7 @@ declare class MyArray implements Array { >U : Symbol(U, Decl(implementArrayInterface.ts, 21, 8)) filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): T[]; ->filter : Symbol(filter, Decl(implementArrayInterface.ts, 21, 87)) +>filter : Symbol(MyArray.filter, Decl(implementArrayInterface.ts, 21, 87)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 22, 11)) >value : Symbol(value, Decl(implementArrayInterface.ts, 22, 24)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -146,7 +146,7 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; ->reduce : Symbol(reduce, Decl(implementArrayInterface.ts, 22, 93), Decl(implementArrayInterface.ts, 23, 120)) +>reduce : Symbol(MyArray.reduce, Decl(implementArrayInterface.ts, 22, 93), Decl(implementArrayInterface.ts, 23, 120)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 23, 11)) >previousValue : Symbol(previousValue, Decl(implementArrayInterface.ts, 23, 24)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -161,7 +161,7 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; ->reduce : Symbol(reduce, Decl(implementArrayInterface.ts, 22, 93), Decl(implementArrayInterface.ts, 23, 120)) +>reduce : Symbol(MyArray.reduce, Decl(implementArrayInterface.ts, 22, 93), Decl(implementArrayInterface.ts, 23, 120)) >U : Symbol(U, Decl(implementArrayInterface.ts, 24, 11)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 24, 14)) >previousValue : Symbol(previousValue, Decl(implementArrayInterface.ts, 24, 27)) @@ -177,7 +177,7 @@ declare class MyArray implements Array { >U : Symbol(U, Decl(implementArrayInterface.ts, 24, 11)) reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; ->reduceRight : Symbol(reduceRight, Decl(implementArrayInterface.ts, 24, 122), Decl(implementArrayInterface.ts, 25, 125)) +>reduceRight : Symbol(MyArray.reduceRight, Decl(implementArrayInterface.ts, 24, 122), Decl(implementArrayInterface.ts, 25, 125)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 25, 16)) >previousValue : Symbol(previousValue, Decl(implementArrayInterface.ts, 25, 29)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) @@ -192,7 +192,7 @@ declare class MyArray implements Array { >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; ->reduceRight : Symbol(reduceRight, Decl(implementArrayInterface.ts, 24, 122), Decl(implementArrayInterface.ts, 25, 125)) +>reduceRight : Symbol(MyArray.reduceRight, Decl(implementArrayInterface.ts, 24, 122), Decl(implementArrayInterface.ts, 25, 125)) >U : Symbol(U, Decl(implementArrayInterface.ts, 26, 16)) >callbackfn : Symbol(callbackfn, Decl(implementArrayInterface.ts, 26, 19)) >previousValue : Symbol(previousValue, Decl(implementArrayInterface.ts, 26, 32)) @@ -208,7 +208,7 @@ declare class MyArray implements Array { >U : Symbol(U, Decl(implementArrayInterface.ts, 26, 16)) length: number; ->length : Symbol(length, Decl(implementArrayInterface.ts, 26, 127)) +>length : Symbol(MyArray.length, Decl(implementArrayInterface.ts, 26, 127)) [n: number]: T; >n : Symbol(n, Decl(implementArrayInterface.ts, 30, 5)) diff --git a/tests/baselines/reference/implementInterfaceAnyMemberWithVoid.symbols b/tests/baselines/reference/implementInterfaceAnyMemberWithVoid.symbols index bf53a92dcd3..7cc8e6f92ac 100644 --- a/tests/baselines/reference/implementInterfaceAnyMemberWithVoid.symbols +++ b/tests/baselines/reference/implementInterfaceAnyMemberWithVoid.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(implementInterfaceAnyMemberWithVoid.ts, 0, 0)) foo(value: number); ->foo : Symbol(foo, Decl(implementInterfaceAnyMemberWithVoid.ts, 0, 13)) +>foo : Symbol(I.foo, Decl(implementInterfaceAnyMemberWithVoid.ts, 0, 13)) >value : Symbol(value, Decl(implementInterfaceAnyMemberWithVoid.ts, 1, 8)) } @@ -12,7 +12,7 @@ class Bug implements I { >I : Symbol(I, Decl(implementInterfaceAnyMemberWithVoid.ts, 0, 0)) public foo(value: number) { ->foo : Symbol(foo, Decl(implementInterfaceAnyMemberWithVoid.ts, 4, 24)) +>foo : Symbol(Bug.foo, Decl(implementInterfaceAnyMemberWithVoid.ts, 4, 24)) >value : Symbol(value, Decl(implementInterfaceAnyMemberWithVoid.ts, 5, 15)) } } diff --git a/tests/baselines/reference/implementsInClassExpression.symbols b/tests/baselines/reference/implementsInClassExpression.symbols index f65c3456320..48a44d91e9c 100644 --- a/tests/baselines/reference/implementsInClassExpression.symbols +++ b/tests/baselines/reference/implementsInClassExpression.symbols @@ -3,7 +3,7 @@ interface Foo { >Foo : Symbol(Foo, Decl(implementsInClassExpression.ts, 0, 0)) doThing(): void; ->doThing : Symbol(doThing, Decl(implementsInClassExpression.ts, 0, 15)) +>doThing : Symbol(Foo.doThing, Decl(implementsInClassExpression.ts, 0, 15)) } let cls = class implements Foo { diff --git a/tests/baselines/reference/implicitAnyAnyReturningFunction.symbols b/tests/baselines/reference/implicitAnyAnyReturningFunction.symbols index 73e91853255..4571820db7b 100644 --- a/tests/baselines/reference/implicitAnyAnyReturningFunction.symbols +++ b/tests/baselines/reference/implicitAnyAnyReturningFunction.symbols @@ -19,13 +19,13 @@ class C { >C : Symbol(C, Decl(implicitAnyAnyReturningFunction.ts, 7, 1)) public A() { ->A : Symbol(A, Decl(implicitAnyAnyReturningFunction.ts, 9, 9)) +>A : Symbol(C.A, Decl(implicitAnyAnyReturningFunction.ts, 9, 9)) return ""; } public B() { ->B : Symbol(B, Decl(implicitAnyAnyReturningFunction.ts, 12, 5)) +>B : Symbol(C.B, Decl(implicitAnyAnyReturningFunction.ts, 12, 5)) var someLocal: any = {}; >someLocal : Symbol(someLocal, Decl(implicitAnyAnyReturningFunction.ts, 15, 11)) diff --git a/tests/baselines/reference/implicitAnyGenerics.symbols b/tests/baselines/reference/implicitAnyGenerics.symbols index 865f48fdd59..22718f1b9d4 100644 --- a/tests/baselines/reference/implicitAnyGenerics.symbols +++ b/tests/baselines/reference/implicitAnyGenerics.symbols @@ -5,7 +5,7 @@ class C { >T : Symbol(T, Decl(implicitAnyGenerics.ts, 1, 8)) x: T; ->x : Symbol(x, Decl(implicitAnyGenerics.ts, 1, 12)) +>x : Symbol(C.x, Decl(implicitAnyGenerics.ts, 1, 12)) >T : Symbol(T, Decl(implicitAnyGenerics.ts, 1, 8)) } diff --git a/tests/baselines/reference/implicitAnyInCatch.symbols b/tests/baselines/reference/implicitAnyInCatch.symbols index e576593da82..7ce3ac40f36 100644 --- a/tests/baselines/reference/implicitAnyInCatch.symbols +++ b/tests/baselines/reference/implicitAnyInCatch.symbols @@ -13,7 +13,7 @@ class C { >C : Symbol(C, Decl(implicitAnyInCatch.ts, 4, 25)) public temp() { ->temp : Symbol(temp, Decl(implicitAnyInCatch.ts, 6, 9)) +>temp : Symbol(C.temp, Decl(implicitAnyInCatch.ts, 6, 9)) for (var x in this) { >x : Symbol(x, Decl(implicitAnyInCatch.ts, 8, 16)) diff --git a/tests/baselines/reference/importAliasIdentifiers.symbols b/tests/baselines/reference/importAliasIdentifiers.symbols index 3b2ba0ea46a..c299aef9142 100644 --- a/tests/baselines/reference/importAliasIdentifiers.symbols +++ b/tests/baselines/reference/importAliasIdentifiers.symbols @@ -6,8 +6,8 @@ module moduleA { >Point : Symbol(Point, Decl(importAliasIdentifiers.ts, 0, 16)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(importAliasIdentifiers.ts, 2, 20)) ->y : Symbol(y, Decl(importAliasIdentifiers.ts, 2, 37)) +>x : Symbol(Point.x, Decl(importAliasIdentifiers.ts, 2, 20)) +>y : Symbol(Point.y, Decl(importAliasIdentifiers.ts, 2, 37)) } } @@ -34,7 +34,7 @@ class clodule { >clodule : Symbol(clodule, Decl(importAliasIdentifiers.ts, 10, 33), Decl(importAliasIdentifiers.ts, 14, 1)) name: string; ->name : Symbol(name, Decl(importAliasIdentifiers.ts, 12, 15)) +>name : Symbol(clodule.name, Decl(importAliasIdentifiers.ts, 12, 15)) } module clodule { @@ -44,8 +44,8 @@ module clodule { >Point : Symbol(Point, Decl(importAliasIdentifiers.ts, 16, 16)) x: number; y: number; ->x : Symbol(x, Decl(importAliasIdentifiers.ts, 17, 28)) ->y : Symbol(y, Decl(importAliasIdentifiers.ts, 18, 18)) +>x : Symbol(Point.x, Decl(importAliasIdentifiers.ts, 17, 28)) +>y : Symbol(Point.y, Decl(importAliasIdentifiers.ts, 18, 18)) } var Point: Point = { x: 0, y: 0 }; >Point : Symbol(Point, Decl(importAliasIdentifiers.ts, 16, 16), Decl(importAliasIdentifiers.ts, 20, 7)) @@ -89,8 +89,8 @@ module fundule { >Point : Symbol(Point, Decl(importAliasIdentifiers.ts, 34, 16)) x: number; y: number; ->x : Symbol(x, Decl(importAliasIdentifiers.ts, 35, 28)) ->y : Symbol(y, Decl(importAliasIdentifiers.ts, 36, 18)) +>x : Symbol(Point.x, Decl(importAliasIdentifiers.ts, 35, 28)) +>y : Symbol(Point.y, Decl(importAliasIdentifiers.ts, 36, 18)) } var Point: Point = { x: 0, y: 0 }; >Point : Symbol(Point, Decl(importAliasIdentifiers.ts, 34, 16), Decl(importAliasIdentifiers.ts, 38, 7)) diff --git a/tests/baselines/reference/importAndVariableDeclarationConflict2.symbols b/tests/baselines/reference/importAndVariableDeclarationConflict2.symbols index 570bb5e2b98..d8d9b1d7f4c 100644 --- a/tests/baselines/reference/importAndVariableDeclarationConflict2.symbols +++ b/tests/baselines/reference/importAndVariableDeclarationConflict2.symbols @@ -15,7 +15,7 @@ class C { >C : Symbol(C, Decl(importAndVariableDeclarationConflict2.ts, 4, 15)) public foo() { ->foo : Symbol(foo, Decl(importAndVariableDeclarationConflict2.ts, 6, 9)) +>foo : Symbol(C.foo, Decl(importAndVariableDeclarationConflict2.ts, 6, 9)) var x = ''; >x : Symbol(x, Decl(importAndVariableDeclarationConflict2.ts, 8, 7)) diff --git a/tests/baselines/reference/importDecl.symbols b/tests/baselines/reference/importDecl.symbols index 32b9f3bb2a7..91df857ae98 100644 --- a/tests/baselines/reference/importDecl.symbols +++ b/tests/baselines/reference/importDecl.symbols @@ -154,7 +154,7 @@ export class d { >d : Symbol(d, Decl(importDecl_require.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(importDecl_require.ts, 0, 16)) +>foo : Symbol(d.foo, Decl(importDecl_require.ts, 0, 16)) } export var x: d; >x : Symbol(x, Decl(importDecl_require.ts, 3, 10)) @@ -169,7 +169,7 @@ export class d { >d : Symbol(d, Decl(importDecl_require1.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(importDecl_require1.ts, 0, 16)) +>bar : Symbol(d.bar, Decl(importDecl_require1.ts, 0, 16)) } var x: d; >x : Symbol(x, Decl(importDecl_require1.ts, 3, 3)) @@ -184,7 +184,7 @@ export class d { >d : Symbol(d, Decl(importDecl_require2.ts, 0, 0)) baz: string; ->baz : Symbol(baz, Decl(importDecl_require2.ts, 0, 16)) +>baz : Symbol(d.baz, Decl(importDecl_require2.ts, 0, 16)) } export var x: d; >x : Symbol(x, Decl(importDecl_require2.ts, 3, 10)) @@ -199,7 +199,7 @@ export class d { >d : Symbol(d, Decl(importDecl_require3.ts, 0, 0)) bing: string; ->bing : Symbol(bing, Decl(importDecl_require3.ts, 0, 16)) +>bing : Symbol(d.bing, Decl(importDecl_require3.ts, 0, 16)) } export var x: d; >x : Symbol(x, Decl(importDecl_require3.ts, 3, 10)) diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols index 0cd2498e2af..b0eedcddc62 100644 --- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols +++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols @@ -12,6 +12,6 @@ export class B { >B : Symbol(B, Decl(importDeclarationUsedAsTypeQuery_require.ts, 0, 0)) id: number; ->id : Symbol(id, Decl(importDeclarationUsedAsTypeQuery_require.ts, 0, 16)) +>id : Symbol(B.id, Decl(importDeclarationUsedAsTypeQuery_require.ts, 0, 16)) } diff --git a/tests/baselines/reference/importImportOnlyModule.symbols b/tests/baselines/reference/importImportOnlyModule.symbols index 902f1b45a68..a56fe3752e2 100644 --- a/tests/baselines/reference/importImportOnlyModule.symbols +++ b/tests/baselines/reference/importImportOnlyModule.symbols @@ -11,7 +11,7 @@ export class C1 { >C1 : Symbol(C1, Decl(foo_0.ts, 0, 0)) m1 = 42; ->m1 : Symbol(m1, Decl(foo_0.ts, 0, 17)) +>m1 : Symbol(C1.m1, Decl(foo_0.ts, 0, 17)) static s1 = true; >s1 : Symbol(C1.s1, Decl(foo_0.ts, 1, 9)) diff --git a/tests/baselines/reference/importInTypePosition.symbols b/tests/baselines/reference/importInTypePosition.symbols index 08f55093c50..93a4908b7a8 100644 --- a/tests/baselines/reference/importInTypePosition.symbols +++ b/tests/baselines/reference/importInTypePosition.symbols @@ -6,8 +6,8 @@ module A { >Point : Symbol(Point, Decl(importInTypePosition.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(importInTypePosition.ts, 2, 20)) ->y : Symbol(y, Decl(importInTypePosition.ts, 2, 37)) +>x : Symbol(Point.x, Decl(importInTypePosition.ts, 2, 20)) +>y : Symbol(Point.y, Decl(importInTypePosition.ts, 2, 37)) } export var Origin = new Point(0, 0); >Origin : Symbol(Origin, Decl(importInTypePosition.ts, 4, 14)) diff --git a/tests/baselines/reference/importOnAliasedIdentifiers.symbols b/tests/baselines/reference/importOnAliasedIdentifiers.symbols index 7717799d4db..0ee0e83db80 100644 --- a/tests/baselines/reference/importOnAliasedIdentifiers.symbols +++ b/tests/baselines/reference/importOnAliasedIdentifiers.symbols @@ -4,7 +4,7 @@ module A { export interface X { s: string } >X : Symbol(X, Decl(importOnAliasedIdentifiers.ts, 0, 10), Decl(importOnAliasedIdentifiers.ts, 2, 14)) ->s : Symbol(s, Decl(importOnAliasedIdentifiers.ts, 1, 24)) +>s : Symbol(X.s, Decl(importOnAliasedIdentifiers.ts, 1, 24)) export var X: X; >X : Symbol(X, Decl(importOnAliasedIdentifiers.ts, 0, 10), Decl(importOnAliasedIdentifiers.ts, 2, 14)) @@ -15,7 +15,7 @@ module B { interface A { n: number } >A : Symbol(A, Decl(importOnAliasedIdentifiers.ts, 4, 10)) ->n : Symbol(n, Decl(importOnAliasedIdentifiers.ts, 5, 17)) +>n : Symbol(A.n, Decl(importOnAliasedIdentifiers.ts, 5, 17)) import Y = A; // Alias only for module A >Y : Symbol(Y, Decl(importOnAliasedIdentifiers.ts, 5, 29)) diff --git a/tests/baselines/reference/importStatements.symbols b/tests/baselines/reference/importStatements.symbols index b160dcf2888..3a5a4ff2a31 100644 --- a/tests/baselines/reference/importStatements.symbols +++ b/tests/baselines/reference/importStatements.symbols @@ -6,8 +6,8 @@ module A { >Point : Symbol(Point, Decl(importStatements.ts, 0, 10)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(importStatements.ts, 2, 20)) ->y : Symbol(y, Decl(importStatements.ts, 2, 37)) +>x : Symbol(Point.x, Decl(importStatements.ts, 2, 20)) +>y : Symbol(Point.y, Decl(importStatements.ts, 2, 37)) } export var Origin = new Point(0, 0); diff --git a/tests/baselines/reference/importUsedInExtendsList1.symbols b/tests/baselines/reference/importUsedInExtendsList1.symbols index 263b4f50ed8..4ee60e8d670 100644 --- a/tests/baselines/reference/importUsedInExtendsList1.symbols +++ b/tests/baselines/reference/importUsedInExtendsList1.symbols @@ -22,5 +22,5 @@ var r: string = s.foo; === tests/cases/compiler/importUsedInExtendsList1_require.ts === export class Super { foo: string; } >Super : Symbol(Super, Decl(importUsedInExtendsList1_require.ts, 0, 0)) ->foo : Symbol(foo, Decl(importUsedInExtendsList1_require.ts, 0, 20)) +>foo : Symbol(Super.foo, Decl(importUsedInExtendsList1_require.ts, 0, 20)) diff --git a/tests/baselines/reference/import_reference-exported-alias.symbols b/tests/baselines/reference/import_reference-exported-alias.symbols index 424bb4bc8b4..5a7e8b8c5c7 100644 --- a/tests/baselines/reference/import_reference-exported-alias.symbols +++ b/tests/baselines/reference/import_reference-exported-alias.symbols @@ -29,7 +29,7 @@ module App { >UserServices : Symbol(UserServices, Decl(file1.ts, 1, 28)) public getUserName(): string { ->getUserName : Symbol(getUserName, Decl(file1.ts, 2, 35)) +>getUserName : Symbol(UserServices.getUserName, Decl(file1.ts, 2, 35)) return "Bill Gates"; } diff --git a/tests/baselines/reference/import_reference-to-type-alias.symbols b/tests/baselines/reference/import_reference-to-type-alias.symbols index 2fef0714a3a..6d096c1cba3 100644 --- a/tests/baselines/reference/import_reference-to-type-alias.symbols +++ b/tests/baselines/reference/import_reference-to-type-alias.symbols @@ -27,7 +27,7 @@ export module App { >UserServices : Symbol(UserServices, Decl(file1.ts, 1, 28)) public getUserName(): string { ->getUserName : Symbol(getUserName, Decl(file1.ts, 2, 35)) +>getUserName : Symbol(UserServices.getUserName, Decl(file1.ts, 2, 35)) return "Bill Gates"; } diff --git a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.symbols b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.symbols index bfc29cd8032..c8de5db1707 100644 --- a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.symbols +++ b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.symbols @@ -19,7 +19,7 @@ declare module "ITest" { >Name : Symbol(Name, Decl(b.ts, 0, 24)) name: string; ->name : Symbol(name, Decl(b.ts, 1, 20)) +>name : Symbol(Name.name, Decl(b.ts, 1, 20)) } export = Name; >Name : Symbol(Name, Decl(b.ts, 0, 24)) diff --git a/tests/baselines/reference/importedAliasesInTypePositions.symbols b/tests/baselines/reference/importedAliasesInTypePositions.symbols index 50a6b582655..1d28900c22f 100644 --- a/tests/baselines/reference/importedAliasesInTypePositions.symbols +++ b/tests/baselines/reference/importedAliasesInTypePositions.symbols @@ -18,7 +18,7 @@ export module ImportingModule { >UsesReferredType : Symbol(UsesReferredType, Decl(file2.ts, 3, 31)) constructor(private referred: ReferredTo) { } ->referred : Symbol(referred, Decl(file2.ts, 5, 20)) +>referred : Symbol(UsesReferredType.referred, Decl(file2.ts, 5, 20)) >ReferredTo : Symbol(ReferredTo, Decl(file2.ts, 0, 35)) } } @@ -33,7 +33,7 @@ export module elaborate.nested.mod.name { >ReferredTo : Symbol(ReferredTo, Decl(file1.ts, 0, 41)) doSomething(): void { ->doSomething : Symbol(doSomething, Decl(file1.ts, 1, 29)) +>doSomething : Symbol(ReferredTo.doSomething, Decl(file1.ts, 1, 29)) } } } diff --git a/tests/baselines/reference/inOperatorWithGeneric.symbols b/tests/baselines/reference/inOperatorWithGeneric.symbols index 7a84d7dce6b..0088fef0fa3 100644 --- a/tests/baselines/reference/inOperatorWithGeneric.symbols +++ b/tests/baselines/reference/inOperatorWithGeneric.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(inOperatorWithGeneric.ts, 0, 8)) foo(x:T) { ->foo : Symbol(foo, Decl(inOperatorWithGeneric.ts, 0, 12)) +>foo : Symbol(C.foo, Decl(inOperatorWithGeneric.ts, 0, 12)) >x : Symbol(x, Decl(inOperatorWithGeneric.ts, 1, 8)) >T : Symbol(T, Decl(inOperatorWithGeneric.ts, 0, 8)) diff --git a/tests/baselines/reference/inOperatorWithValidOperands.symbols b/tests/baselines/reference/inOperatorWithValidOperands.symbols index 07e0bd4f6de..75e561989e7 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.symbols +++ b/tests/baselines/reference/inOperatorWithValidOperands.symbols @@ -61,11 +61,11 @@ function foo(t: T) { interface X { x: number } >X : Symbol(X, Decl(inOperatorWithValidOperands.ts, 22, 1)) ->x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 24, 13)) +>x : Symbol(X.x, Decl(inOperatorWithValidOperands.ts, 24, 13)) interface Y { y: number } >Y : Symbol(Y, Decl(inOperatorWithValidOperands.ts, 24, 25)) ->y : Symbol(y, Decl(inOperatorWithValidOperands.ts, 25, 13)) +>y : Symbol(Y.y, Decl(inOperatorWithValidOperands.ts, 25, 13)) var c1: X | Y; >c1 : Symbol(c1, Decl(inOperatorWithValidOperands.ts, 27, 3)) diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherType.symbols b/tests/baselines/reference/incrementOperatorWithAnyOtherType.symbols index d0af700ea8e..338ab905064 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherType.symbols @@ -19,7 +19,7 @@ class A { >A : Symbol(A, Decl(incrementOperatorWithAnyOtherType.ts, 5, 23)) public a: any; ->a : Symbol(a, Decl(incrementOperatorWithAnyOtherType.ts, 6, 9)) +>a : Symbol(A.a, Decl(incrementOperatorWithAnyOtherType.ts, 6, 9)) } module M { >M : Symbol(M, Decl(incrementOperatorWithAnyOtherType.ts, 8, 1)) diff --git a/tests/baselines/reference/incrementOperatorWithNumberType.symbols b/tests/baselines/reference/incrementOperatorWithNumberType.symbols index 3523e15135c..b7e67e5dfec 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberType.symbols +++ b/tests/baselines/reference/incrementOperatorWithNumberType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(incrementOperatorWithNumberType.ts, 2, 31)) public a: number; ->a : Symbol(a, Decl(incrementOperatorWithNumberType.ts, 4, 9)) +>a : Symbol(A.a, Decl(incrementOperatorWithNumberType.ts, 4, 9)) } module M { >M : Symbol(M, Decl(incrementOperatorWithNumberType.ts, 6, 1)) diff --git a/tests/baselines/reference/indexer.symbols b/tests/baselines/reference/indexer.symbols index 409bd8092d6..a713beadccd 100644 --- a/tests/baselines/reference/indexer.symbols +++ b/tests/baselines/reference/indexer.symbols @@ -3,7 +3,7 @@ interface JQueryElement { >JQueryElement : Symbol(JQueryElement, Decl(indexer.ts, 0, 0)) id:string; ->id : Symbol(id, Decl(indexer.ts, 0, 25)) +>id : Symbol(JQueryElement.id, Decl(indexer.ts, 0, 25)) } interface JQuery { diff --git a/tests/baselines/reference/indexer2.symbols b/tests/baselines/reference/indexer2.symbols index c23debb925c..77c024fc8cb 100644 --- a/tests/baselines/reference/indexer2.symbols +++ b/tests/baselines/reference/indexer2.symbols @@ -6,7 +6,7 @@ interface IDirectChildrenMap { >IDirectChildrenMap : Symbol(IDirectChildrenMap, Decl(indexer2.ts, 0, 32)) hasOwnProperty(objectId: number) : boolean; ->hasOwnProperty : Symbol(hasOwnProperty, Decl(indexer2.ts, 1, 30)) +>hasOwnProperty : Symbol(IDirectChildrenMap.hasOwnProperty, Decl(indexer2.ts, 1, 30)) >objectId : Symbol(objectId, Decl(indexer2.ts, 2, 23)) [objectId: number] : IHeapObjectProperty[]; diff --git a/tests/baselines/reference/indexerA.symbols b/tests/baselines/reference/indexerA.symbols index d549c3359d9..b254618673a 100644 --- a/tests/baselines/reference/indexerA.symbols +++ b/tests/baselines/reference/indexerA.symbols @@ -3,7 +3,7 @@ class JQueryElement { >JQueryElement : Symbol(JQueryElement, Decl(indexerA.ts, 0, 0)) id:string; ->id : Symbol(id, Decl(indexerA.ts, 0, 21)) +>id : Symbol(JQueryElement.id, Decl(indexerA.ts, 0, 21)) } class JQuery { diff --git a/tests/baselines/reference/indexerReturningTypeParameter1.symbols b/tests/baselines/reference/indexerReturningTypeParameter1.symbols index 0bb1e305c80..b9c2e7a4c16 100644 --- a/tests/baselines/reference/indexerReturningTypeParameter1.symbols +++ b/tests/baselines/reference/indexerReturningTypeParameter1.symbols @@ -3,7 +3,7 @@ interface f { >f : Symbol(f, Decl(indexerReturningTypeParameter1.ts, 0, 0)) groupBy(): { [key: string]: T[]; }; ->groupBy : Symbol(groupBy, Decl(indexerReturningTypeParameter1.ts, 0, 13)) +>groupBy : Symbol(f.groupBy, Decl(indexerReturningTypeParameter1.ts, 0, 13)) >T : Symbol(T, Decl(indexerReturningTypeParameter1.ts, 1, 12)) >key : Symbol(key, Decl(indexerReturningTypeParameter1.ts, 1, 21)) >T : Symbol(T, Decl(indexerReturningTypeParameter1.ts, 1, 12)) @@ -22,7 +22,7 @@ class c { >c : Symbol(c, Decl(indexerReturningTypeParameter1.ts, 4, 20)) groupBy(): { [key: string]: T[]; } { ->groupBy : Symbol(groupBy, Decl(indexerReturningTypeParameter1.ts, 6, 9)) +>groupBy : Symbol(c.groupBy, Decl(indexerReturningTypeParameter1.ts, 6, 9)) >T : Symbol(T, Decl(indexerReturningTypeParameter1.ts, 7, 12)) >key : Symbol(key, Decl(indexerReturningTypeParameter1.ts, 7, 21)) >T : Symbol(T, Decl(indexerReturningTypeParameter1.ts, 7, 12)) diff --git a/tests/baselines/reference/indexersInClassType.symbols b/tests/baselines/reference/indexersInClassType.symbols index 0852463c37d..149a61d8b4d 100644 --- a/tests/baselines/reference/indexersInClassType.symbols +++ b/tests/baselines/reference/indexersInClassType.symbols @@ -16,7 +16,7 @@ class C { 'a': {} fn() { ->fn : Symbol(fn, Decl(indexersInClassType.ts, 4, 11)) +>fn : Symbol(C.fn, Decl(indexersInClassType.ts, 4, 11)) return this; >this : Symbol(C, Decl(indexersInClassType.ts, 0, 0)) diff --git a/tests/baselines/reference/inferSecondaryParameter.symbols b/tests/baselines/reference/inferSecondaryParameter.symbols index 5522770c02f..b6817d8fd52 100644 --- a/tests/baselines/reference/inferSecondaryParameter.symbols +++ b/tests/baselines/reference/inferSecondaryParameter.symbols @@ -3,7 +3,7 @@ interface Ib { m(test: string, fn: Function); } >Ib : Symbol(Ib, Decl(inferSecondaryParameter.ts, 0, 0)) ->m : Symbol(m, Decl(inferSecondaryParameter.ts, 2, 14)) +>m : Symbol(Ib.m, Decl(inferSecondaryParameter.ts, 2, 14)) >test : Symbol(test, Decl(inferSecondaryParameter.ts, 2, 17)) >fn : Symbol(fn, Decl(inferSecondaryParameter.ts, 2, 30)) >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols index 07812704840..37e58850d4f 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols @@ -5,7 +5,7 @@ interface Int { >U : Symbol(U, Decl(inferentialTypingObjectLiteralMethod1.ts, 0, 16)) method(x: T): U; ->method : Symbol(method, Decl(inferentialTypingObjectLiteralMethod1.ts, 0, 21)) +>method : Symbol(Int.method, Decl(inferentialTypingObjectLiteralMethod1.ts, 0, 21)) >x : Symbol(x, Decl(inferentialTypingObjectLiteralMethod1.ts, 1, 11)) >T : Symbol(T, Decl(inferentialTypingObjectLiteralMethod1.ts, 0, 14)) >U : Symbol(U, Decl(inferentialTypingObjectLiteralMethod1.ts, 0, 16)) diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType3.symbols b/tests/baselines/reference/inferentialTypingUsingApparentType3.symbols index ac3058e8649..f5f73420fe3 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType3.symbols +++ b/tests/baselines/reference/inferentialTypingUsingApparentType3.symbols @@ -4,7 +4,7 @@ interface Field { >T : Symbol(T, Decl(inferentialTypingUsingApparentType3.ts, 0, 16)) clean(input: T): T ->clean : Symbol(clean, Decl(inferentialTypingUsingApparentType3.ts, 0, 20)) +>clean : Symbol(Field.clean, Decl(inferentialTypingUsingApparentType3.ts, 0, 20)) >input : Symbol(input, Decl(inferentialTypingUsingApparentType3.ts, 1, 10)) >T : Symbol(T, Decl(inferentialTypingUsingApparentType3.ts, 0, 16)) >T : Symbol(T, Decl(inferentialTypingUsingApparentType3.ts, 0, 16)) @@ -15,7 +15,7 @@ class CharField implements Field { >Field : Symbol(Field, Decl(inferentialTypingUsingApparentType3.ts, 0, 0)) clean(input: string) { ->clean : Symbol(clean, Decl(inferentialTypingUsingApparentType3.ts, 4, 42)) +>clean : Symbol(CharField.clean, Decl(inferentialTypingUsingApparentType3.ts, 4, 42)) >input : Symbol(input, Decl(inferentialTypingUsingApparentType3.ts, 5, 10)) return "Yup"; @@ -27,7 +27,7 @@ class NumberField implements Field { >Field : Symbol(Field, Decl(inferentialTypingUsingApparentType3.ts, 0, 0)) clean(input: number) { ->clean : Symbol(clean, Decl(inferentialTypingUsingApparentType3.ts, 10, 44)) +>clean : Symbol(NumberField.clean, Decl(inferentialTypingUsingApparentType3.ts, 10, 44)) >input : Symbol(input, Decl(inferentialTypingUsingApparentType3.ts, 11, 10)) return 123; @@ -42,7 +42,7 @@ class ObjectField }> { >Field : Symbol(Field, Decl(inferentialTypingUsingApparentType3.ts, 0, 0)) constructor(public fields: T) { } ->fields : Symbol(fields, Decl(inferentialTypingUsingApparentType3.ts, 17, 16)) +>fields : Symbol(ObjectField.fields, Decl(inferentialTypingUsingApparentType3.ts, 17, 16)) >T : Symbol(T, Decl(inferentialTypingUsingApparentType3.ts, 16, 20)) } diff --git a/tests/baselines/reference/infiniteExpandingTypeThroughInheritanceInstantiation.symbols b/tests/baselines/reference/infiniteExpandingTypeThroughInheritanceInstantiation.symbols index 2640ec367dc..802d9c7af4f 100644 --- a/tests/baselines/reference/infiniteExpandingTypeThroughInheritanceInstantiation.symbols +++ b/tests/baselines/reference/infiniteExpandingTypeThroughInheritanceInstantiation.symbols @@ -4,7 +4,7 @@ interface A >T : Symbol(T, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 0, 12)) { x: A> ->x : Symbol(x, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 1, 1)) +>x : Symbol(A.x, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 1, 1)) >A : Symbol(A, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 0, 0)) >B : Symbol(B, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 3, 1)) >T : Symbol(T, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 0, 12)) @@ -17,7 +17,7 @@ interface B extends A // error >T : Symbol(T, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 5, 12)) { x: B> ->x : Symbol(x, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 6, 1)) +>x : Symbol(B.x, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 6, 1)) >B : Symbol(B, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 3, 1)) >A : Symbol(A, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 0, 0)) >T : Symbol(T, Decl(infiniteExpandingTypeThroughInheritanceInstantiation.ts, 5, 12)) diff --git a/tests/baselines/reference/infiniteExpansionThroughInstantiation2.symbols b/tests/baselines/reference/infiniteExpansionThroughInstantiation2.symbols index 0c5b0cf5a65..37d2151feba 100644 --- a/tests/baselines/reference/infiniteExpansionThroughInstantiation2.symbols +++ b/tests/baselines/reference/infiniteExpansionThroughInstantiation2.symbols @@ -9,7 +9,7 @@ interface AA> // now an error due to referencing type parameter >T : Symbol(T, Decl(infiniteExpansionThroughInstantiation2.ts, 3, 13)) { x: T ->x : Symbol(x, Decl(infiniteExpansionThroughInstantiation2.ts, 4, 1)) +>x : Symbol(AA.x, Decl(infiniteExpansionThroughInstantiation2.ts, 4, 1)) >T : Symbol(T, Decl(infiniteExpansionThroughInstantiation2.ts, 3, 13)) } diff --git a/tests/baselines/reference/infiniteExpansionThroughTypeInference.symbols b/tests/baselines/reference/infiniteExpansionThroughTypeInference.symbols index ba90d5c74a8..db6ec796be3 100644 --- a/tests/baselines/reference/infiniteExpansionThroughTypeInference.symbols +++ b/tests/baselines/reference/infiniteExpansionThroughTypeInference.symbols @@ -4,13 +4,13 @@ interface G { >T : Symbol(T, Decl(infiniteExpansionThroughTypeInference.ts, 0, 12)) x: G> // infinitely expanding type reference ->x : Symbol(x, Decl(infiniteExpansionThroughTypeInference.ts, 0, 16)) +>x : Symbol(G.x, Decl(infiniteExpansionThroughTypeInference.ts, 0, 16)) >G : Symbol(G, Decl(infiniteExpansionThroughTypeInference.ts, 0, 0)) >G : Symbol(G, Decl(infiniteExpansionThroughTypeInference.ts, 0, 0)) >T : Symbol(T, Decl(infiniteExpansionThroughTypeInference.ts, 0, 12)) y: T ->y : Symbol(y, Decl(infiniteExpansionThroughTypeInference.ts, 1, 14)) +>y : Symbol(G.y, Decl(infiniteExpansionThroughTypeInference.ts, 1, 14)) >T : Symbol(T, Decl(infiniteExpansionThroughTypeInference.ts, 0, 12)) } diff --git a/tests/baselines/reference/infinitelyExpandingBaseTypes1.symbols b/tests/baselines/reference/infinitelyExpandingBaseTypes1.symbols index dc3456602bb..2491583471a 100644 --- a/tests/baselines/reference/infinitelyExpandingBaseTypes1.symbols +++ b/tests/baselines/reference/infinitelyExpandingBaseTypes1.symbols @@ -4,7 +4,7 @@ interface A >T : Symbol(T, Decl(infinitelyExpandingBaseTypes1.ts, 0, 12)) { x : A> ->x : Symbol(x, Decl(infinitelyExpandingBaseTypes1.ts, 1, 1)) +>x : Symbol(A.x, Decl(infinitelyExpandingBaseTypes1.ts, 1, 1)) >A : Symbol(A, Decl(infinitelyExpandingBaseTypes1.ts, 0, 0)) >A : Symbol(A, Decl(infinitelyExpandingBaseTypes1.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingBaseTypes1.ts, 0, 12)) @@ -15,7 +15,7 @@ interface B >T : Symbol(T, Decl(infinitelyExpandingBaseTypes1.ts, 5, 12)) { x : B ->x : Symbol(x, Decl(infinitelyExpandingBaseTypes1.ts, 6, 1)) +>x : Symbol(B.x, Decl(infinitelyExpandingBaseTypes1.ts, 6, 1)) >B : Symbol(B, Decl(infinitelyExpandingBaseTypes1.ts, 3, 1)) >T : Symbol(T, Decl(infinitelyExpandingBaseTypes1.ts, 5, 12)) } diff --git a/tests/baselines/reference/infinitelyExpandingBaseTypes2.symbols b/tests/baselines/reference/infinitelyExpandingBaseTypes2.symbols index 8379ea16878..7a5d41201c8 100644 --- a/tests/baselines/reference/infinitelyExpandingBaseTypes2.symbols +++ b/tests/baselines/reference/infinitelyExpandingBaseTypes2.symbols @@ -4,7 +4,7 @@ interface A >T : Symbol(T, Decl(infinitelyExpandingBaseTypes2.ts, 0, 12)) { x : A<()=>T> ->x : Symbol(x, Decl(infinitelyExpandingBaseTypes2.ts, 1, 1)) +>x : Symbol(A.x, Decl(infinitelyExpandingBaseTypes2.ts, 1, 1)) >A : Symbol(A, Decl(infinitelyExpandingBaseTypes2.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingBaseTypes2.ts, 0, 12)) } @@ -14,7 +14,7 @@ interface B >T : Symbol(T, Decl(infinitelyExpandingBaseTypes2.ts, 5, 12)) { x : B<()=>T> ->x : Symbol(x, Decl(infinitelyExpandingBaseTypes2.ts, 6, 1)) +>x : Symbol(B.x, Decl(infinitelyExpandingBaseTypes2.ts, 6, 1)) >B : Symbol(B, Decl(infinitelyExpandingBaseTypes2.ts, 3, 1)) >T : Symbol(T, Decl(infinitelyExpandingBaseTypes2.ts, 5, 12)) } diff --git a/tests/baselines/reference/infinitelyExpandingTypeAssignability.symbols b/tests/baselines/reference/infinitelyExpandingTypeAssignability.symbols index 1907ff33cf6..75274353304 100644 --- a/tests/baselines/reference/infinitelyExpandingTypeAssignability.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypeAssignability.symbols @@ -4,7 +4,7 @@ interface A { >T : Symbol(T, Decl(infinitelyExpandingTypeAssignability.ts, 0, 12)) x : T ->x : Symbol(x, Decl(infinitelyExpandingTypeAssignability.ts, 0, 16)) +>x : Symbol(A.x, Decl(infinitelyExpandingTypeAssignability.ts, 0, 16)) >T : Symbol(T, Decl(infinitelyExpandingTypeAssignability.ts, 0, 12)) } diff --git a/tests/baselines/reference/infinitelyExpandingTypes3.symbols b/tests/baselines/reference/infinitelyExpandingTypes3.symbols index fbc14afc80f..18aed686442 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes3.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypes3.symbols @@ -4,16 +4,16 @@ interface List { >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) data: T; ->data : Symbol(data, Decl(infinitelyExpandingTypes3.ts, 0, 19)) +>data : Symbol(List.data, Decl(infinitelyExpandingTypes3.ts, 0, 19)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) next: List; // will be recursive reference when OwnerList is expanded ->next : Symbol(next, Decl(infinitelyExpandingTypes3.ts, 1, 12)) +>next : Symbol(List.next, Decl(infinitelyExpandingTypes3.ts, 1, 12)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) owner: OwnerList; ->owner : Symbol(owner, Decl(infinitelyExpandingTypes3.ts, 2, 18)) +>owner : Symbol(List.owner, Decl(infinitelyExpandingTypes3.ts, 2, 18)) >OwnerList : Symbol(OwnerList, Decl(infinitelyExpandingTypes3.ts, 4, 1)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) } @@ -26,7 +26,7 @@ interface OwnerList extends List> { >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 6, 20)) name: string; ->name : Symbol(name, Decl(infinitelyExpandingTypes3.ts, 6, 46)) +>name : Symbol(OwnerList.name, Decl(infinitelyExpandingTypes3.ts, 6, 46)) } interface OwnerList2 extends List> { @@ -37,7 +37,7 @@ interface OwnerList2 extends List> { >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 10, 21)) name: string; ->name : Symbol(name, Decl(infinitelyExpandingTypes3.ts, 10, 47)) +>name : Symbol(OwnerList2.name, Decl(infinitelyExpandingTypes3.ts, 10, 47)) } var o1: OwnerList; diff --git a/tests/baselines/reference/infinitelyExpandingTypes4.symbols b/tests/baselines/reference/infinitelyExpandingTypes4.symbols index af0aee01216..e394c612171 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes4.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypes4.symbols @@ -5,7 +5,7 @@ interface Query { // ... groupBy(keySelector: (item: T) => K): Query>; ->groupBy : Symbol(groupBy, Decl(infinitelyExpandingTypes4.ts, 0, 20)) +>groupBy : Symbol(Query.groupBy, Decl(infinitelyExpandingTypes4.ts, 0, 20)) >K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12)) >keySelector : Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 2, 15)) >item : Symbol(item, Decl(infinitelyExpandingTypes4.ts, 2, 29)) @@ -25,7 +25,7 @@ interface QueryEnumerator { // ... groupBy(keySelector: (item: T) => K): QueryEnumerator>; ->groupBy : Symbol(groupBy, Decl(infinitelyExpandingTypes4.ts, 6, 30)) +>groupBy : Symbol(QueryEnumerator.groupBy, Decl(infinitelyExpandingTypes4.ts, 6, 30)) >K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12)) >keySelector : Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 8, 15)) >item : Symbol(item, Decl(infinitelyExpandingTypes4.ts, 8, 29)) @@ -47,7 +47,7 @@ interface Grouping extends Query { >T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 12, 21)) key(): K; ->key : Symbol(key, Decl(infinitelyExpandingTypes4.ts, 12, 43)) +>key : Symbol(Grouping.key, Decl(infinitelyExpandingTypes4.ts, 12, 43)) >K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 12, 19)) } diff --git a/tests/baselines/reference/infinitelyExpandingTypes5.symbols b/tests/baselines/reference/infinitelyExpandingTypes5.symbols index d67d605559e..32283da9c5d 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes5.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypes5.symbols @@ -4,7 +4,7 @@ interface Query { >T : Symbol(T, Decl(infinitelyExpandingTypes5.ts, 0, 16)) foo(x: T): Query; ->foo : Symbol(foo, Decl(infinitelyExpandingTypes5.ts, 0, 20)) +>foo : Symbol(Query.foo, Decl(infinitelyExpandingTypes5.ts, 0, 20)) >x : Symbol(x, Decl(infinitelyExpandingTypes5.ts, 1, 8)) >T : Symbol(T, Decl(infinitelyExpandingTypes5.ts, 0, 16)) >Query : Symbol(Query, Decl(infinitelyExpandingTypes5.ts, 0, 0)) diff --git a/tests/baselines/reference/infinitelyExpandingTypesNonGenericBase.symbols b/tests/baselines/reference/infinitelyExpandingTypesNonGenericBase.symbols index dfa5d6e03ed..7c54dd7c12c 100644 --- a/tests/baselines/reference/infinitelyExpandingTypesNonGenericBase.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypesNonGenericBase.symbols @@ -4,7 +4,7 @@ class Functionality { >V : Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20)) property: Options; ->property : Symbol(property, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 24)) +>property : Symbol(Functionality.property, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 24)) >Options : Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >V : Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20)) } @@ -19,7 +19,7 @@ class A extends Base { >Base : Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1)) options: Options[]>; ->options : Symbol(options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 25)) +>options : Symbol(A.options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 25)) >Options : Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >Functionality : Symbol(Functionality, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 8)) @@ -30,7 +30,7 @@ interface OptionsBase { >T : Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22)) Options: Options; ->Options : Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 26)) +>Options : Symbol(OptionsBase.Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 26)) >Options : Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >T : Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22)) } diff --git a/tests/baselines/reference/infinitelyGenerativeInheritance1.symbols b/tests/baselines/reference/infinitelyGenerativeInheritance1.symbols index 54ecd9c965b..8b8e05c444a 100644 --- a/tests/baselines/reference/infinitelyGenerativeInheritance1.symbols +++ b/tests/baselines/reference/infinitelyGenerativeInheritance1.symbols @@ -4,11 +4,11 @@ interface Stack { >T : Symbol(T, Decl(infinitelyGenerativeInheritance1.ts, 0, 16)) pop(): T ->pop : Symbol(pop, Decl(infinitelyGenerativeInheritance1.ts, 0, 20)) +>pop : Symbol(Stack.pop, Decl(infinitelyGenerativeInheritance1.ts, 0, 20)) >T : Symbol(T, Decl(infinitelyGenerativeInheritance1.ts, 0, 16)) zip(a: Stack): Stack<{ x: T; y: S }> ->zip : Symbol(zip, Decl(infinitelyGenerativeInheritance1.ts, 1, 14)) +>zip : Symbol(Stack.zip, Decl(infinitelyGenerativeInheritance1.ts, 1, 14)) >S : Symbol(S, Decl(infinitelyGenerativeInheritance1.ts, 2, 10)) >a : Symbol(a, Decl(infinitelyGenerativeInheritance1.ts, 2, 13)) >Stack : Symbol(Stack, Decl(infinitelyGenerativeInheritance1.ts, 0, 0)) @@ -27,7 +27,7 @@ interface MyStack extends Stack { >T : Symbol(T, Decl(infinitelyGenerativeInheritance1.ts, 5, 18)) zip(a: Stack): Stack<{ x: T; y: S }> ->zip : Symbol(zip, Decl(infinitelyGenerativeInheritance1.ts, 5, 39)) +>zip : Symbol(MyStack.zip, Decl(infinitelyGenerativeInheritance1.ts, 5, 39)) >S : Symbol(S, Decl(infinitelyGenerativeInheritance1.ts, 6, 10)) >a : Symbol(a, Decl(infinitelyGenerativeInheritance1.ts, 6, 13)) >Stack : Symbol(Stack, Decl(infinitelyGenerativeInheritance1.ts, 0, 0)) diff --git a/tests/baselines/reference/inheritSameNamePrivatePropertiesFromSameOrigin.symbols b/tests/baselines/reference/inheritSameNamePrivatePropertiesFromSameOrigin.symbols index 55655889ca4..d7904335010 100644 --- a/tests/baselines/reference/inheritSameNamePrivatePropertiesFromSameOrigin.symbols +++ b/tests/baselines/reference/inheritSameNamePrivatePropertiesFromSameOrigin.symbols @@ -3,7 +3,7 @@ class B { >B : Symbol(B, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 0, 0)) private x: number; ->x : Symbol(x, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 0, 9)) +>x : Symbol(B.x, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 0, 9)) } class C extends B { } >C : Symbol(C, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 2, 1)) @@ -19,5 +19,5 @@ interface A extends C, C2 { // ok >C2 : Symbol(C2, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 3, 21)) y: string; ->y : Symbol(y, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 7, 27)) +>y : Symbol(A.y, Decl(inheritSameNamePrivatePropertiesFromSameOrigin.ts, 7, 27)) } diff --git a/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.symbols b/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.symbols index 4c496fcc240..696ac88cd78 100644 --- a/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.symbols +++ b/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.symbols @@ -3,7 +3,7 @@ class a { >a : Symbol(a, Decl(inheritanceMemberFuncOverridingMethod.ts, 0, 0)) x() { ->x : Symbol(x, Decl(inheritanceMemberFuncOverridingMethod.ts, 0, 9)) +>x : Symbol(a.x, Decl(inheritanceMemberFuncOverridingMethod.ts, 0, 9)) return "10"; } @@ -14,7 +14,7 @@ class b extends a { >a : Symbol(a, Decl(inheritanceMemberFuncOverridingMethod.ts, 0, 0)) x() { ->x : Symbol(x, Decl(inheritanceMemberFuncOverridingMethod.ts, 6, 19)) +>x : Symbol(b.x, Decl(inheritanceMemberFuncOverridingMethod.ts, 6, 19)) return "20"; } diff --git a/tests/baselines/reference/inheritanceMemberPropertyOverridingProperty.symbols b/tests/baselines/reference/inheritanceMemberPropertyOverridingProperty.symbols index bf755882165..6a3f8e50206 100644 --- a/tests/baselines/reference/inheritanceMemberPropertyOverridingProperty.symbols +++ b/tests/baselines/reference/inheritanceMemberPropertyOverridingProperty.symbols @@ -3,7 +3,7 @@ class a { >a : Symbol(a, Decl(inheritanceMemberPropertyOverridingProperty.ts, 0, 0)) x: () => string; ->x : Symbol(x, Decl(inheritanceMemberPropertyOverridingProperty.ts, 0, 9)) +>x : Symbol(a.x, Decl(inheritanceMemberPropertyOverridingProperty.ts, 0, 9)) } class b extends a { @@ -11,5 +11,5 @@ class b extends a { >a : Symbol(a, Decl(inheritanceMemberPropertyOverridingProperty.ts, 0, 0)) x: () => string; ->x : Symbol(x, Decl(inheritanceMemberPropertyOverridingProperty.ts, 4, 19)) +>x : Symbol(b.x, Decl(inheritanceMemberPropertyOverridingProperty.ts, 4, 19)) } diff --git a/tests/baselines/reference/inheritanceStaticFunctionOverridingInstanceProperty.symbols b/tests/baselines/reference/inheritanceStaticFunctionOverridingInstanceProperty.symbols index bf2f3d3aa15..8c0be543d99 100644 --- a/tests/baselines/reference/inheritanceStaticFunctionOverridingInstanceProperty.symbols +++ b/tests/baselines/reference/inheritanceStaticFunctionOverridingInstanceProperty.symbols @@ -3,7 +3,7 @@ class a { >a : Symbol(a, Decl(inheritanceStaticFunctionOverridingInstanceProperty.ts, 0, 0)) x: string; ->x : Symbol(x, Decl(inheritanceStaticFunctionOverridingInstanceProperty.ts, 0, 9)) +>x : Symbol(a.x, Decl(inheritanceStaticFunctionOverridingInstanceProperty.ts, 0, 9)) } class b extends a { diff --git a/tests/baselines/reference/inheritedGenericCallSignature.symbols b/tests/baselines/reference/inheritedGenericCallSignature.symbols index f70e4c7d75f..9a482685180 100644 --- a/tests/baselines/reference/inheritedGenericCallSignature.symbols +++ b/tests/baselines/reference/inheritedGenericCallSignature.symbols @@ -24,7 +24,7 @@ interface I2 extends I1 { >T : Symbol(T, Decl(inheritedGenericCallSignature.ts, 12, 13)) b: T; ->b : Symbol(b, Decl(inheritedGenericCallSignature.ts, 12, 33)) +>b : Symbol(I2.b, Decl(inheritedGenericCallSignature.ts, 12, 33)) >T : Symbol(T, Decl(inheritedGenericCallSignature.ts, 12, 13)) } diff --git a/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases2.symbols b/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases2.symbols index 2cc31a14f7f..167cdaff838 100644 --- a/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases2.symbols +++ b/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases2.symbols @@ -12,7 +12,7 @@ interface B { >B : Symbol(B, Decl(inheritedMembersAndIndexSignaturesFromDifferentBases2.ts, 2, 1)) foo: number; ->foo : Symbol(foo, Decl(inheritedMembersAndIndexSignaturesFromDifferentBases2.ts, 4, 13)) +>foo : Symbol(B.foo, Decl(inheritedMembersAndIndexSignaturesFromDifferentBases2.ts, 4, 13)) } interface C extends B, A { } // Should succeed diff --git a/tests/baselines/reference/innerAliases2.symbols b/tests/baselines/reference/innerAliases2.symbols index 541fc03ffbd..31198f9276c 100644 --- a/tests/baselines/reference/innerAliases2.symbols +++ b/tests/baselines/reference/innerAliases2.symbols @@ -6,7 +6,7 @@ module _provider { >UsefulClass : Symbol(UsefulClass, Decl(innerAliases2.ts, 0, 18)) public foo() { ->foo : Symbol(foo, Decl(innerAliases2.ts, 1, 42)) +>foo : Symbol(UsefulClass.foo, Decl(innerAliases2.ts, 1, 42)) } } } diff --git a/tests/baselines/reference/innerBoundLambdaEmit.symbols b/tests/baselines/reference/innerBoundLambdaEmit.symbols index 48bbe1fad4b..8d886cc433a 100644 --- a/tests/baselines/reference/innerBoundLambdaEmit.symbols +++ b/tests/baselines/reference/innerBoundLambdaEmit.symbols @@ -13,7 +13,7 @@ interface Array { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(innerBoundLambdaEmit.ts, 5, 16)) toFoo(): M.Foo ->toFoo : Symbol(toFoo, Decl(innerBoundLambdaEmit.ts, 5, 20)) +>toFoo : Symbol(Array.toFoo, Decl(innerBoundLambdaEmit.ts, 5, 20)) >M : Symbol(M, Decl(innerBoundLambdaEmit.ts, 0, 0)) >Foo : Symbol(M.Foo, Decl(innerBoundLambdaEmit.ts, 0, 10)) } diff --git a/tests/baselines/reference/innerExtern.symbols b/tests/baselines/reference/innerExtern.symbols index 142af91a46f..9a56f4eed12 100644 --- a/tests/baselines/reference/innerExtern.symbols +++ b/tests/baselines/reference/innerExtern.symbols @@ -15,7 +15,7 @@ module A { >C : Symbol(C, Decl(innerExtern.ts, 4, 21)) x = BB.Elephant.X; ->x : Symbol(x, Decl(innerExtern.ts, 5, 24)) +>x : Symbol(C.x, Decl(innerExtern.ts, 5, 24)) >BB.Elephant : Symbol(BB.Elephant, Decl(innerExtern.ts, 2, 18)) >BB : Symbol(BB, Decl(innerExtern.ts, 0, 10)) >Elephant : Symbol(BB.Elephant, Decl(innerExtern.ts, 2, 18)) diff --git a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols index e19ab7aad28..56699f1d6db 100644 --- a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols +++ b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols @@ -8,7 +8,7 @@ class C { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) g() { ->g : Symbol(g, Decl(innerTypeParameterShadowingOuterOne2.ts, 3, 25)) +>g : Symbol(C.g, Decl(innerTypeParameterShadowingOuterOne2.ts, 3, 25)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 4, 6)) >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) @@ -23,7 +23,7 @@ class C { } h() { ->h : Symbol(h, Decl(innerTypeParameterShadowingOuterOne2.ts, 7, 5)) +>h : Symbol(C.h, Decl(innerTypeParameterShadowingOuterOne2.ts, 7, 5)) var x: T; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 10, 11)) @@ -44,7 +44,7 @@ class C2 { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) g() { ->g : Symbol(g, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 42)) +>g : Symbol(C2.g, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 42)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 16, 6)) >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne2.ts, 16, 23)) @@ -61,7 +61,7 @@ class C2 { } h() { ->h : Symbol(h, Decl(innerTypeParameterShadowingOuterOne2.ts, 19, 5)) +>h : Symbol(C2.h, Decl(innerTypeParameterShadowingOuterOne2.ts, 19, 5)) var x: U; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 22, 11)) diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.symbols b/tests/baselines/reference/instanceAndStaticDeclarations1.symbols index 8e9d4a320a0..270f911e86c 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.symbols +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.symbols @@ -5,28 +5,28 @@ class Point { >Point : Symbol(Point, Decl(instanceAndStaticDeclarations1.ts, 0, 0)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) ->y : Symbol(y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) +>x : Symbol(Point.x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) +>y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) public distance(p: Point) { ->distance : Symbol(distance, Decl(instanceAndStaticDeclarations1.ts, 3, 55)) +>distance : Symbol(Point.distance, Decl(instanceAndStaticDeclarations1.ts, 3, 55)) >p : Symbol(p, Decl(instanceAndStaticDeclarations1.ts, 4, 20)) >Point : Symbol(Point, Decl(instanceAndStaticDeclarations1.ts, 0, 0)) var dx = this.x - p.x; >dx : Symbol(dx, Decl(instanceAndStaticDeclarations1.ts, 5, 11)) ->this.x : Symbol(x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) +>this.x : Symbol(Point.x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) >this : Symbol(Point, Decl(instanceAndStaticDeclarations1.ts, 0, 0)) ->x : Symbol(x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) +>x : Symbol(Point.x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) >p.x : Symbol(Point.x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) >p : Symbol(p, Decl(instanceAndStaticDeclarations1.ts, 4, 20)) >x : Symbol(Point.x, Decl(instanceAndStaticDeclarations1.ts, 3, 16)) var dy = this.y - p.y; >dy : Symbol(dy, Decl(instanceAndStaticDeclarations1.ts, 6, 11)) ->this.y : Symbol(y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) +>this.y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) >this : Symbol(Point, Decl(instanceAndStaticDeclarations1.ts, 0, 0)) ->y : Symbol(y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) +>y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) >p.y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) >p : Symbol(p, Decl(instanceAndStaticDeclarations1.ts, 4, 20)) >y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) diff --git a/tests/baselines/reference/instanceMemberInitialization.symbols b/tests/baselines/reference/instanceMemberInitialization.symbols index adc192208ca..42117133759 100644 --- a/tests/baselines/reference/instanceMemberInitialization.symbols +++ b/tests/baselines/reference/instanceMemberInitialization.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(instanceMemberInitialization.ts, 0, 0)) x = 1; ->x : Symbol(x, Decl(instanceMemberInitialization.ts, 0, 9)) +>x : Symbol(C.x, Decl(instanceMemberInitialization.ts, 0, 9)) } var c = new C(); diff --git a/tests/baselines/reference/instanceOfAssignability.symbols b/tests/baselines/reference/instanceOfAssignability.symbols index 1bf39df2dd2..382ee29e34a 100644 --- a/tests/baselines/reference/instanceOfAssignability.symbols +++ b/tests/baselines/reference/instanceOfAssignability.symbols @@ -3,10 +3,10 @@ interface Base { >Base : Symbol(Base, Decl(instanceOfAssignability.ts, 0, 0)) foo: string|number; ->foo : Symbol(foo, Decl(instanceOfAssignability.ts, 0, 16)) +>foo : Symbol(Base.foo, Decl(instanceOfAssignability.ts, 0, 16)) optional?: number; ->optional : Symbol(optional, Decl(instanceOfAssignability.ts, 1, 20)) +>optional : Symbol(Base.optional, Decl(instanceOfAssignability.ts, 1, 20)) } // Derived1 is assignable to, but not a subtype of, Base @@ -15,7 +15,7 @@ class Derived1 implements Base { >Base : Symbol(Base, Decl(instanceOfAssignability.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(instanceOfAssignability.ts, 6, 32)) +>foo : Symbol(Derived1.foo, Decl(instanceOfAssignability.ts, 6, 32)) } // Derived2 is a subtype of Base that is not assignable to Derived1 class Derived2 implements Base { @@ -23,27 +23,27 @@ class Derived2 implements Base { >Base : Symbol(Base, Decl(instanceOfAssignability.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(instanceOfAssignability.ts, 10, 32)) +>foo : Symbol(Derived2.foo, Decl(instanceOfAssignability.ts, 10, 32)) optional: number; ->optional : Symbol(optional, Decl(instanceOfAssignability.ts, 11, 13)) +>optional : Symbol(Derived2.optional, Decl(instanceOfAssignability.ts, 11, 13)) } class Animal { >Animal : Symbol(Animal, Decl(instanceOfAssignability.ts, 13, 1)) move; ->move : Symbol(move, Decl(instanceOfAssignability.ts, 15, 14)) +>move : Symbol(Animal.move, Decl(instanceOfAssignability.ts, 15, 14)) } class Mammal extends Animal { milk; } >Mammal : Symbol(Mammal, Decl(instanceOfAssignability.ts, 17, 1)) >Animal : Symbol(Animal, Decl(instanceOfAssignability.ts, 13, 1)) ->milk : Symbol(milk, Decl(instanceOfAssignability.ts, 18, 29)) +>milk : Symbol(Mammal.milk, Decl(instanceOfAssignability.ts, 18, 29)) class Giraffe extends Mammal { neck; } >Giraffe : Symbol(Giraffe, Decl(instanceOfAssignability.ts, 18, 37)) >Mammal : Symbol(Mammal, Decl(instanceOfAssignability.ts, 17, 1)) ->neck : Symbol(neck, Decl(instanceOfAssignability.ts, 19, 30)) +>neck : Symbol(Giraffe.neck, Decl(instanceOfAssignability.ts, 19, 30)) function fn1(x: Array|Array|boolean) { >fn1 : Symbol(fn1, Decl(instanceOfAssignability.ts, 19, 38)) @@ -171,21 +171,21 @@ function fn7(x: Array|Array) { interface Alpha { a } >Alpha : Symbol(Alpha, Decl(instanceOfAssignability.ts, 75, 1)) ->a : Symbol(a, Decl(instanceOfAssignability.ts, 77, 17)) +>a : Symbol(Alpha.a, Decl(instanceOfAssignability.ts, 77, 17)) interface Beta { b } >Beta : Symbol(Beta, Decl(instanceOfAssignability.ts, 77, 21)) ->b : Symbol(b, Decl(instanceOfAssignability.ts, 78, 16)) +>b : Symbol(Beta.b, Decl(instanceOfAssignability.ts, 78, 16)) interface Gamma { c } >Gamma : Symbol(Gamma, Decl(instanceOfAssignability.ts, 78, 20)) ->c : Symbol(c, Decl(instanceOfAssignability.ts, 79, 17)) +>c : Symbol(Gamma.c, Decl(instanceOfAssignability.ts, 79, 17)) class ABC { a; b; c; } >ABC : Symbol(ABC, Decl(instanceOfAssignability.ts, 79, 21)) ->a : Symbol(a, Decl(instanceOfAssignability.ts, 80, 11)) ->b : Symbol(b, Decl(instanceOfAssignability.ts, 80, 14)) ->c : Symbol(c, Decl(instanceOfAssignability.ts, 80, 17)) +>a : Symbol(ABC.a, Decl(instanceOfAssignability.ts, 80, 11)) +>b : Symbol(ABC.b, Decl(instanceOfAssignability.ts, 80, 14)) +>c : Symbol(ABC.c, Decl(instanceOfAssignability.ts, 80, 17)) function fn8(x: Alpha|Beta|Gamma) { >fn8 : Symbol(fn8, Decl(instanceOfAssignability.ts, 80, 22)) diff --git a/tests/baselines/reference/instanceOfInExternalModules.symbols b/tests/baselines/reference/instanceOfInExternalModules.symbols index 45d158fc62e..0834916c1b2 100644 --- a/tests/baselines/reference/instanceOfInExternalModules.symbols +++ b/tests/baselines/reference/instanceOfInExternalModules.symbols @@ -17,5 +17,5 @@ function IsFoo(value: any): boolean { === tests/cases/compiler/instanceOfInExternalModules_require.ts === export class Foo { foo: string; } >Foo : Symbol(Foo, Decl(instanceOfInExternalModules_require.ts, 0, 0)) ->foo : Symbol(foo, Decl(instanceOfInExternalModules_require.ts, 0, 18)) +>foo : Symbol(Foo.foo, Decl(instanceOfInExternalModules_require.ts, 0, 18)) diff --git a/tests/baselines/reference/instanceSubtypeCheck1.symbols b/tests/baselines/reference/instanceSubtypeCheck1.symbols index c7f4bb4152d..c9b1a7f0cba 100644 --- a/tests/baselines/reference/instanceSubtypeCheck1.symbols +++ b/tests/baselines/reference/instanceSubtypeCheck1.symbols @@ -4,7 +4,7 @@ interface A >T : Symbol(T, Decl(instanceSubtypeCheck1.ts, 0, 12)) { x: A> ->x : Symbol(x, Decl(instanceSubtypeCheck1.ts, 1, 1)) +>x : Symbol(A.x, Decl(instanceSubtypeCheck1.ts, 1, 1)) >A : Symbol(A, Decl(instanceSubtypeCheck1.ts, 0, 0)) >B : Symbol(B, Decl(instanceSubtypeCheck1.ts, 3, 1)) >T : Symbol(T, Decl(instanceSubtypeCheck1.ts, 0, 12)) @@ -17,7 +17,7 @@ interface B extends A >T : Symbol(T, Decl(instanceSubtypeCheck1.ts, 5, 12)) { x: B> ->x : Symbol(x, Decl(instanceSubtypeCheck1.ts, 6, 1)) +>x : Symbol(B.x, Decl(instanceSubtypeCheck1.ts, 6, 1)) >B : Symbol(B, Decl(instanceSubtypeCheck1.ts, 3, 1)) >A : Symbol(A, Decl(instanceSubtypeCheck1.ts, 0, 0)) >T : Symbol(T, Decl(instanceSubtypeCheck1.ts, 5, 12)) diff --git a/tests/baselines/reference/instantiateGenericClassWithZeroTypeArguments.symbols b/tests/baselines/reference/instantiateGenericClassWithZeroTypeArguments.symbols index b20387d9b80..499cd94f3ff 100644 --- a/tests/baselines/reference/instantiateGenericClassWithZeroTypeArguments.symbols +++ b/tests/baselines/reference/instantiateGenericClassWithZeroTypeArguments.symbols @@ -6,7 +6,7 @@ class C { >T : Symbol(T, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 2, 8)) x: T; ->x : Symbol(x, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 2, 12)) +>x : Symbol(C.x, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 2, 12)) >T : Symbol(T, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 2, 8)) } @@ -20,11 +20,11 @@ class D { >U : Symbol(U, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 8, 10)) x: T ->x : Symbol(x, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 8, 15)) +>x : Symbol(D.x, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 8, 15)) >T : Symbol(T, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 8, 8)) y: U ->y : Symbol(y, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 9, 8)) +>y : Symbol(D.y, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 9, 8)) >U : Symbol(U, Decl(instantiateGenericClassWithZeroTypeArguments.ts, 8, 10)) } diff --git a/tests/baselines/reference/instantiatedBaseTypeConstraints.symbols b/tests/baselines/reference/instantiatedBaseTypeConstraints.symbols index e92097c309c..923465505ca 100644 --- a/tests/baselines/reference/instantiatedBaseTypeConstraints.symbols +++ b/tests/baselines/reference/instantiatedBaseTypeConstraints.symbols @@ -8,7 +8,7 @@ interface Foo, C> { >C : Symbol(C, Decl(instantiatedBaseTypeConstraints.ts, 0, 34)) foo(bar: C): void; ->foo : Symbol(foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 39)) +>foo : Symbol(Foo.foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 39)) >bar : Symbol(bar, Decl(instantiatedBaseTypeConstraints.ts, 1, 6)) >C : Symbol(C, Decl(instantiatedBaseTypeConstraints.ts, 0, 34)) } @@ -19,7 +19,7 @@ class Bar implements Foo { >Bar : Symbol(Bar, Decl(instantiatedBaseTypeConstraints.ts, 2, 1)) foo(bar: string): void { ->foo : Symbol(foo, Decl(instantiatedBaseTypeConstraints.ts, 4, 39)) +>foo : Symbol(Bar.foo, Decl(instantiatedBaseTypeConstraints.ts, 4, 39)) >bar : Symbol(bar, Decl(instantiatedBaseTypeConstraints.ts, 5, 6)) } } diff --git a/tests/baselines/reference/instantiatedModule.symbols b/tests/baselines/reference/instantiatedModule.symbols index 42e0edcd221..acad3db7ea4 100644 --- a/tests/baselines/reference/instantiatedModule.symbols +++ b/tests/baselines/reference/instantiatedModule.symbols @@ -6,8 +6,8 @@ module M { export interface Point { x: number; y: number } >Point : Symbol(Point, Decl(instantiatedModule.ts, 2, 10), Decl(instantiatedModule.ts, 4, 14)) ->x : Symbol(x, Decl(instantiatedModule.ts, 3, 28)) ->y : Symbol(y, Decl(instantiatedModule.ts, 3, 39)) +>x : Symbol(Point.x, Decl(instantiatedModule.ts, 3, 28)) +>y : Symbol(Point.y, Decl(instantiatedModule.ts, 3, 39)) export var Point = 1; >Point : Symbol(Point, Decl(instantiatedModule.ts, 2, 10), Decl(instantiatedModule.ts, 4, 14)) @@ -56,10 +56,10 @@ module M2 { >Point : Symbol(Point, Decl(instantiatedModule.ts, 20, 11)) x: number; ->x : Symbol(x, Decl(instantiatedModule.ts, 21, 24)) +>x : Symbol(Point.x, Decl(instantiatedModule.ts, 21, 24)) y: number; ->y : Symbol(y, Decl(instantiatedModule.ts, 22, 18)) +>y : Symbol(Point.y, Decl(instantiatedModule.ts, 22, 18)) static Origin(): Point { >Origin : Symbol(Point.Origin, Decl(instantiatedModule.ts, 23, 18)) diff --git a/tests/baselines/reference/instantiatedReturnTypeContravariance.symbols b/tests/baselines/reference/instantiatedReturnTypeContravariance.symbols index f64ebfdce21..c43082200bf 100644 --- a/tests/baselines/reference/instantiatedReturnTypeContravariance.symbols +++ b/tests/baselines/reference/instantiatedReturnTypeContravariance.symbols @@ -4,10 +4,10 @@ interface B { >T : Symbol(T, Decl(instantiatedReturnTypeContravariance.ts, 0, 12)) name: string; ->name : Symbol(name, Decl(instantiatedReturnTypeContravariance.ts, 0, 16)) +>name : Symbol(B.name, Decl(instantiatedReturnTypeContravariance.ts, 0, 16)) x(): T; ->x : Symbol(x, Decl(instantiatedReturnTypeContravariance.ts, 2, 13)) +>x : Symbol(B.x, Decl(instantiatedReturnTypeContravariance.ts, 2, 13)) >T : Symbol(T, Decl(instantiatedReturnTypeContravariance.ts, 0, 12)) } @@ -16,7 +16,7 @@ class c { >c : Symbol(c, Decl(instantiatedReturnTypeContravariance.ts, 6, 1)) foo(): B { ->foo : Symbol(foo, Decl(instantiatedReturnTypeContravariance.ts, 8, 9)) +>foo : Symbol(c.foo, Decl(instantiatedReturnTypeContravariance.ts, 8, 9)) >B : Symbol(B, Decl(instantiatedReturnTypeContravariance.ts, 0, 0)) return null; @@ -30,7 +30,7 @@ class d extends c { >c : Symbol(c, Decl(instantiatedReturnTypeContravariance.ts, 6, 1)) foo(): B { ->foo : Symbol(foo, Decl(instantiatedReturnTypeContravariance.ts, 18, 19)) +>foo : Symbol(d.foo, Decl(instantiatedReturnTypeContravariance.ts, 18, 19)) >B : Symbol(B, Decl(instantiatedReturnTypeContravariance.ts, 0, 0)) return null; diff --git a/tests/baselines/reference/interMixingModulesInterfaces0.symbols b/tests/baselines/reference/interMixingModulesInterfaces0.symbols index 6b482053b2e..e16469da656 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces0.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces0.symbols @@ -17,10 +17,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces0.ts, 0, 10), Decl(interMixingModulesInterfaces0.ts, 6, 5)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces0.ts, 8, 24)) +>name : Symbol(B.name, Decl(interMixingModulesInterfaces0.ts, 8, 24)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces0.ts, 9, 21)) +>value : Symbol(B.value, Decl(interMixingModulesInterfaces0.ts, 9, 21)) } } diff --git a/tests/baselines/reference/interMixingModulesInterfaces1.symbols b/tests/baselines/reference/interMixingModulesInterfaces1.symbols index 39162cf5a42..ffc583b1236 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces1.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces1.symbols @@ -6,10 +6,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces1.ts, 0, 10), Decl(interMixingModulesInterfaces1.ts, 5, 5)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces1.ts, 2, 24)) +>name : Symbol(B.name, Decl(interMixingModulesInterfaces1.ts, 2, 24)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces1.ts, 3, 21)) +>value : Symbol(B.value, Decl(interMixingModulesInterfaces1.ts, 3, 21)) } export module B { diff --git a/tests/baselines/reference/interMixingModulesInterfaces2.symbols b/tests/baselines/reference/interMixingModulesInterfaces2.symbols index 0362909047a..10f0a0267af 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces2.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces2.symbols @@ -6,10 +6,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces2.ts, 0, 10)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces2.ts, 2, 24)) +>name : Symbol(A.B.name, Decl(interMixingModulesInterfaces2.ts, 2, 24)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces2.ts, 3, 21)) +>value : Symbol(A.B.value, Decl(interMixingModulesInterfaces2.ts, 3, 21)) } module B { diff --git a/tests/baselines/reference/interMixingModulesInterfaces3.symbols b/tests/baselines/reference/interMixingModulesInterfaces3.symbols index 482cc883930..d66812c6f3d 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces3.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces3.symbols @@ -17,10 +17,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces3.ts, 6, 5)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces3.ts, 8, 24)) +>name : Symbol(A.B.name, Decl(interMixingModulesInterfaces3.ts, 8, 24)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces3.ts, 9, 21)) +>value : Symbol(A.B.value, Decl(interMixingModulesInterfaces3.ts, 9, 21)) } } diff --git a/tests/baselines/reference/interMixingModulesInterfaces4.symbols b/tests/baselines/reference/interMixingModulesInterfaces4.symbols index 498b34c721f..d33db455162 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces4.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces4.symbols @@ -16,10 +16,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces4.ts, 0, 10), Decl(interMixingModulesInterfaces4.ts, 6, 5)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces4.ts, 8, 17)) +>name : Symbol(B.name, Decl(interMixingModulesInterfaces4.ts, 8, 17)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces4.ts, 9, 21)) +>value : Symbol(B.value, Decl(interMixingModulesInterfaces4.ts, 9, 21)) } } diff --git a/tests/baselines/reference/interMixingModulesInterfaces5.symbols b/tests/baselines/reference/interMixingModulesInterfaces5.symbols index 7f45a62c858..17c3908961a 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces5.symbols +++ b/tests/baselines/reference/interMixingModulesInterfaces5.symbols @@ -6,10 +6,10 @@ module A { >B : Symbol(B, Decl(interMixingModulesInterfaces5.ts, 0, 10), Decl(interMixingModulesInterfaces5.ts, 5, 5)) name: string; ->name : Symbol(name, Decl(interMixingModulesInterfaces5.ts, 2, 17)) +>name : Symbol(B.name, Decl(interMixingModulesInterfaces5.ts, 2, 17)) value: number; ->value : Symbol(value, Decl(interMixingModulesInterfaces5.ts, 3, 21)) +>value : Symbol(B.value, Decl(interMixingModulesInterfaces5.ts, 3, 21)) } export module B { diff --git a/tests/baselines/reference/interface0.symbols b/tests/baselines/reference/interface0.symbols index 25e12370916..d9020e16dc0 100644 --- a/tests/baselines/reference/interface0.symbols +++ b/tests/baselines/reference/interface0.symbols @@ -4,7 +4,7 @@ interface Generic { >T : Symbol(T, Decl(interface0.ts, 0, 18)) x: T; ->x : Symbol(x, Decl(interface0.ts, 0, 22)) +>x : Symbol(Generic.x, Decl(interface0.ts, 0, 22)) >T : Symbol(T, Decl(interface0.ts, 0, 18)) } diff --git a/tests/baselines/reference/interfaceClassMerging.symbols b/tests/baselines/reference/interfaceClassMerging.symbols index eda94cedafd..566e341108f 100644 --- a/tests/baselines/reference/interfaceClassMerging.symbols +++ b/tests/baselines/reference/interfaceClassMerging.symbols @@ -3,34 +3,34 @@ interface Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging.ts, 0, 0), Decl(interfaceClassMerging.ts, 5, 1)) method(a: number): string; ->method : Symbol(method, Decl(interfaceClassMerging.ts, 0, 15)) +>method : Symbol(Foo.method, Decl(interfaceClassMerging.ts, 0, 15)) >a : Symbol(a, Decl(interfaceClassMerging.ts, 1, 11)) optionalMethod?(a: number): string; ->optionalMethod : Symbol(optionalMethod, Decl(interfaceClassMerging.ts, 1, 30)) +>optionalMethod : Symbol(Foo.optionalMethod, Decl(interfaceClassMerging.ts, 1, 30)) >a : Symbol(a, Decl(interfaceClassMerging.ts, 2, 20)) property: string; ->property : Symbol(property, Decl(interfaceClassMerging.ts, 2, 39)) +>property : Symbol(Foo.property, Decl(interfaceClassMerging.ts, 2, 39)) optionalProperty?: string; ->optionalProperty : Symbol(optionalProperty, Decl(interfaceClassMerging.ts, 3, 21)) +>optionalProperty : Symbol(Foo.optionalProperty, Decl(interfaceClassMerging.ts, 3, 21)) } class Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging.ts, 0, 0), Decl(interfaceClassMerging.ts, 5, 1)) additionalProperty: string; ->additionalProperty : Symbol(additionalProperty, Decl(interfaceClassMerging.ts, 7, 11)) +>additionalProperty : Symbol(Foo.additionalProperty, Decl(interfaceClassMerging.ts, 7, 11)) additionalMethod(a: number): string { ->additionalMethod : Symbol(additionalMethod, Decl(interfaceClassMerging.ts, 8, 31)) +>additionalMethod : Symbol(Foo.additionalMethod, Decl(interfaceClassMerging.ts, 8, 31)) >a : Symbol(a, Decl(interfaceClassMerging.ts, 10, 21)) return this.method(0); ->this.method : Symbol(method, Decl(interfaceClassMerging.ts, 0, 15)) +>this.method : Symbol(Foo.method, Decl(interfaceClassMerging.ts, 0, 15)) >this : Symbol(Foo, Decl(interfaceClassMerging.ts, 0, 0), Decl(interfaceClassMerging.ts, 5, 1)) ->method : Symbol(method, Decl(interfaceClassMerging.ts, 0, 15)) +>method : Symbol(Foo.method, Decl(interfaceClassMerging.ts, 0, 15)) } } @@ -39,7 +39,7 @@ class Bar extends Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging.ts, 0, 0), Decl(interfaceClassMerging.ts, 5, 1)) method(a: number) { ->method : Symbol(method, Decl(interfaceClassMerging.ts, 15, 23)) +>method : Symbol(Bar.method, Decl(interfaceClassMerging.ts, 15, 23)) >a : Symbol(a, Decl(interfaceClassMerging.ts, 16, 11)) return this.optionalProperty; diff --git a/tests/baselines/reference/interfaceClassMerging2.symbols b/tests/baselines/reference/interfaceClassMerging2.symbols index 290b49fdb3d..afd48131daf 100644 --- a/tests/baselines/reference/interfaceClassMerging2.symbols +++ b/tests/baselines/reference/interfaceClassMerging2.symbols @@ -3,20 +3,20 @@ interface Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging2.ts, 0, 0), Decl(interfaceClassMerging2.ts, 3, 1)) interfaceFooMethod(): this; ->interfaceFooMethod : Symbol(interfaceFooMethod, Decl(interfaceClassMerging2.ts, 0, 15)) +>interfaceFooMethod : Symbol(Foo.interfaceFooMethod, Decl(interfaceClassMerging2.ts, 0, 15)) interfaceFooProperty: this; ->interfaceFooProperty : Symbol(interfaceFooProperty, Decl(interfaceClassMerging2.ts, 1, 31)) +>interfaceFooProperty : Symbol(Foo.interfaceFooProperty, Decl(interfaceClassMerging2.ts, 1, 31)) } class Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging2.ts, 0, 0), Decl(interfaceClassMerging2.ts, 3, 1)) classFooProperty: this; ->classFooProperty : Symbol(classFooProperty, Decl(interfaceClassMerging2.ts, 5, 11)) +>classFooProperty : Symbol(Foo.classFooProperty, Decl(interfaceClassMerging2.ts, 5, 11)) classFooMethod(): this { ->classFooMethod : Symbol(classFooMethod, Decl(interfaceClassMerging2.ts, 6, 27)) +>classFooMethod : Symbol(Foo.classFooMethod, Decl(interfaceClassMerging2.ts, 6, 27)) return this; >this : Symbol(Foo, Decl(interfaceClassMerging2.ts, 0, 0), Decl(interfaceClassMerging2.ts, 3, 1)) @@ -28,10 +28,10 @@ interface Bar { >Bar : Symbol(Bar, Decl(interfaceClassMerging2.ts, 11, 1), Decl(interfaceClassMerging2.ts, 17, 1)) interfaceBarMethod(): this; ->interfaceBarMethod : Symbol(interfaceBarMethod, Decl(interfaceClassMerging2.ts, 14, 15)) +>interfaceBarMethod : Symbol(Bar.interfaceBarMethod, Decl(interfaceClassMerging2.ts, 14, 15)) interfaceBarProperty: this; ->interfaceBarProperty : Symbol(interfaceBarProperty, Decl(interfaceClassMerging2.ts, 15, 31)) +>interfaceBarProperty : Symbol(Bar.interfaceBarProperty, Decl(interfaceClassMerging2.ts, 15, 31)) } class Bar extends Foo { @@ -39,10 +39,10 @@ class Bar extends Foo { >Foo : Symbol(Foo, Decl(interfaceClassMerging2.ts, 0, 0), Decl(interfaceClassMerging2.ts, 3, 1)) classBarProperty: this; ->classBarProperty : Symbol(classBarProperty, Decl(interfaceClassMerging2.ts, 19, 23)) +>classBarProperty : Symbol(Bar.classBarProperty, Decl(interfaceClassMerging2.ts, 19, 23)) classBarMethod(): this { ->classBarMethod : Symbol(classBarMethod, Decl(interfaceClassMerging2.ts, 20, 27)) +>classBarMethod : Symbol(Bar.classBarMethod, Decl(interfaceClassMerging2.ts, 20, 27)) return this; >this : Symbol(Bar, Decl(interfaceClassMerging2.ts, 11, 1), Decl(interfaceClassMerging2.ts, 17, 1)) diff --git a/tests/baselines/reference/interfaceContextualType.symbols b/tests/baselines/reference/interfaceContextualType.symbols index 34831880431..9334740e133 100644 --- a/tests/baselines/reference/interfaceContextualType.symbols +++ b/tests/baselines/reference/interfaceContextualType.symbols @@ -3,10 +3,10 @@ export interface IOptions { >IOptions : Symbol(IOptions, Decl(interfaceContextualType.ts, 0, 0)) italic?: boolean; ->italic : Symbol(italic, Decl(interfaceContextualType.ts, 0, 27)) +>italic : Symbol(IOptions.italic, Decl(interfaceContextualType.ts, 0, 27)) bold?: boolean; ->bold : Symbol(bold, Decl(interfaceContextualType.ts, 1, 21)) +>bold : Symbol(IOptions.bold, Decl(interfaceContextualType.ts, 1, 21)) } export interface IMap { >IMap : Symbol(IMap, Decl(interfaceContextualType.ts, 3, 1)) @@ -20,30 +20,30 @@ class Bug { >Bug : Symbol(Bug, Decl(interfaceContextualType.ts, 6, 1)) public values: IMap; ->values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) >IMap : Symbol(IMap, Decl(interfaceContextualType.ts, 3, 1)) ok() { ->ok : Symbol(ok, Decl(interfaceContextualType.ts, 9, 24)) +>ok : Symbol(Bug.ok, Decl(interfaceContextualType.ts, 9, 24)) this.values = {}; ->this.values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>this.values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) >this : Symbol(Bug, Decl(interfaceContextualType.ts, 6, 1)) ->values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) this.values['comments'] = { italic: true }; ->this.values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>this.values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) >this : Symbol(Bug, Decl(interfaceContextualType.ts, 6, 1)) ->values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) >italic : Symbol(italic, Decl(interfaceContextualType.ts, 12, 35)) } shouldBeOK() { ->shouldBeOK : Symbol(shouldBeOK, Decl(interfaceContextualType.ts, 13, 5)) +>shouldBeOK : Symbol(Bug.shouldBeOK, Decl(interfaceContextualType.ts, 13, 5)) this.values = { ->this.values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>this.values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) >this : Symbol(Bug, Decl(interfaceContextualType.ts, 6, 1)) ->values : Symbol(values, Decl(interfaceContextualType.ts, 8, 11)) +>values : Symbol(Bug.values, Decl(interfaceContextualType.ts, 8, 11)) comments: { italic: true } >comments : Symbol(comments, Decl(interfaceContextualType.ts, 15, 23)) diff --git a/tests/baselines/reference/interfaceDeclaration5.symbols b/tests/baselines/reference/interfaceDeclaration5.symbols index 3478a56693a..feccd58e0b5 100644 --- a/tests/baselines/reference/interfaceDeclaration5.symbols +++ b/tests/baselines/reference/interfaceDeclaration5.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/interfaceDeclaration5.ts === export interface I1 { item:string; } >I1 : Symbol(I1, Decl(interfaceDeclaration5.ts, 0, 0)) ->item : Symbol(item, Decl(interfaceDeclaration5.ts, 0, 21)) +>item : Symbol(I1.item, Decl(interfaceDeclaration5.ts, 0, 21)) export class C1 { } >C1 : Symbol(C1, Decl(interfaceDeclaration5.ts, 0, 36)) diff --git a/tests/baselines/reference/interfaceExtendsClass1.symbols b/tests/baselines/reference/interfaceExtendsClass1.symbols index 6caa2013a25..5873419cc0b 100644 --- a/tests/baselines/reference/interfaceExtendsClass1.symbols +++ b/tests/baselines/reference/interfaceExtendsClass1.symbols @@ -3,28 +3,28 @@ class Control { >Control : Symbol(Control, Decl(interfaceExtendsClass1.ts, 0, 0)) private state: any; ->state : Symbol(state, Decl(interfaceExtendsClass1.ts, 0, 15)) +>state : Symbol(Control.state, Decl(interfaceExtendsClass1.ts, 0, 15)) } interface SelectableControl extends Control { >SelectableControl : Symbol(SelectableControl, Decl(interfaceExtendsClass1.ts, 2, 1)) >Control : Symbol(Control, Decl(interfaceExtendsClass1.ts, 0, 0)) select(): void; ->select : Symbol(select, Decl(interfaceExtendsClass1.ts, 3, 45)) +>select : Symbol(SelectableControl.select, Decl(interfaceExtendsClass1.ts, 3, 45)) } class Button extends Control { >Button : Symbol(Button, Decl(interfaceExtendsClass1.ts, 5, 1)) >Control : Symbol(Control, Decl(interfaceExtendsClass1.ts, 0, 0)) select() { } ->select : Symbol(select, Decl(interfaceExtendsClass1.ts, 6, 30)) +>select : Symbol(Button.select, Decl(interfaceExtendsClass1.ts, 6, 30)) } class TextBox extends Control { >TextBox : Symbol(TextBox, Decl(interfaceExtendsClass1.ts, 8, 1)) >Control : Symbol(Control, Decl(interfaceExtendsClass1.ts, 0, 0)) select() { } ->select : Symbol(select, Decl(interfaceExtendsClass1.ts, 9, 31)) +>select : Symbol(TextBox.select, Decl(interfaceExtendsClass1.ts, 9, 31)) } class Image extends Control { >Image : Symbol(Image, Decl(interfaceExtendsClass1.ts, 11, 1)) @@ -34,6 +34,6 @@ class Location { >Location : Symbol(Location, Decl(interfaceExtendsClass1.ts, 13, 1)) select() { } ->select : Symbol(select, Decl(interfaceExtendsClass1.ts, 14, 16)) +>select : Symbol(Location.select, Decl(interfaceExtendsClass1.ts, 14, 16)) } diff --git a/tests/baselines/reference/interfaceInReopenedModule.symbols b/tests/baselines/reference/interfaceInReopenedModule.symbols index 3cde824b451..0e4d2918a4f 100644 --- a/tests/baselines/reference/interfaceInReopenedModule.symbols +++ b/tests/baselines/reference/interfaceInReopenedModule.symbols @@ -14,7 +14,7 @@ module m { >n : Symbol(n, Decl(interfaceInReopenedModule.ts, 5, 18)) private n: f; ->n : Symbol(n, Decl(interfaceInReopenedModule.ts, 6, 20)) +>n : Symbol(n.n, Decl(interfaceInReopenedModule.ts, 6, 20)) >f : Symbol(f, Decl(interfaceInReopenedModule.ts, 4, 10)) } } diff --git a/tests/baselines/reference/interfaceOnly.symbols b/tests/baselines/reference/interfaceOnly.symbols index 70473ff3139..2de5dca6dfb 100644 --- a/tests/baselines/reference/interfaceOnly.symbols +++ b/tests/baselines/reference/interfaceOnly.symbols @@ -3,9 +3,9 @@ interface foo { >foo : Symbol(foo, Decl(interfaceOnly.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(interfaceOnly.ts, 0, 15)) +>foo : Symbol(foo.foo, Decl(interfaceOnly.ts, 0, 15)) f2 (f: ()=> void); ->f2 : Symbol(f2, Decl(interfaceOnly.ts, 1, 10)) +>f2 : Symbol(foo.f2, Decl(interfaceOnly.ts, 1, 10)) >f : Symbol(f, Decl(interfaceOnly.ts, 2, 8)) } diff --git a/tests/baselines/reference/interfacePropertiesWithSameName1.symbols b/tests/baselines/reference/interfacePropertiesWithSameName1.symbols index aa002fa4af2..1948b1f244e 100644 --- a/tests/baselines/reference/interfacePropertiesWithSameName1.symbols +++ b/tests/baselines/reference/interfacePropertiesWithSameName1.symbols @@ -3,20 +3,20 @@ interface Mover { >Mover : Symbol(Mover, Decl(interfacePropertiesWithSameName1.ts, 0, 0)) move(): void; ->move : Symbol(move, Decl(interfacePropertiesWithSameName1.ts, 0, 17)) +>move : Symbol(Mover.move, Decl(interfacePropertiesWithSameName1.ts, 0, 17)) getStatus(): { speed: number; }; ->getStatus : Symbol(getStatus, Decl(interfacePropertiesWithSameName1.ts, 1, 17)) +>getStatus : Symbol(Mover.getStatus, Decl(interfacePropertiesWithSameName1.ts, 1, 17)) >speed : Symbol(speed, Decl(interfacePropertiesWithSameName1.ts, 2, 18)) } interface Shaker { >Shaker : Symbol(Shaker, Decl(interfacePropertiesWithSameName1.ts, 3, 1)) shake(): void; ->shake : Symbol(shake, Decl(interfacePropertiesWithSameName1.ts, 4, 18)) +>shake : Symbol(Shaker.shake, Decl(interfacePropertiesWithSameName1.ts, 4, 18)) getStatus(): { frequency: number; }; ->getStatus : Symbol(getStatus, Decl(interfacePropertiesWithSameName1.ts, 5, 18)) +>getStatus : Symbol(Shaker.getStatus, Decl(interfacePropertiesWithSameName1.ts, 5, 18)) >frequency : Symbol(frequency, Decl(interfacePropertiesWithSameName1.ts, 6, 18)) } @@ -26,7 +26,7 @@ interface MoverShaker extends Mover, Shaker { >Shaker : Symbol(Shaker, Decl(interfacePropertiesWithSameName1.ts, 3, 1)) getStatus(): { speed: number; frequency: number; }; ->getStatus : Symbol(getStatus, Decl(interfacePropertiesWithSameName1.ts, 9, 45)) +>getStatus : Symbol(MoverShaker.getStatus, Decl(interfacePropertiesWithSameName1.ts, 9, 45)) >speed : Symbol(speed, Decl(interfacePropertiesWithSameName1.ts, 10, 18)) >frequency : Symbol(frequency, Decl(interfacePropertiesWithSameName1.ts, 10, 33)) } diff --git a/tests/baselines/reference/interfaceSubtyping.symbols b/tests/baselines/reference/interfaceSubtyping.symbols index 6f77110885f..887f8e3d6b6 100644 --- a/tests/baselines/reference/interfaceSubtyping.symbols +++ b/tests/baselines/reference/interfaceSubtyping.symbols @@ -3,16 +3,16 @@ interface iface { >iface : Symbol(iface, Decl(interfaceSubtyping.ts, 0, 0)) foo(): void; ->foo : Symbol(foo, Decl(interfaceSubtyping.ts, 0, 17)) +>foo : Symbol(iface.foo, Decl(interfaceSubtyping.ts, 0, 17)) } class Camera implements iface{ >Camera : Symbol(Camera, Decl(interfaceSubtyping.ts, 2, 1)) >iface : Symbol(iface, Decl(interfaceSubtyping.ts, 0, 0)) constructor (public str: string) { ->str : Symbol(str, Decl(interfaceSubtyping.ts, 4, 17)) +>str : Symbol(Camera.str, Decl(interfaceSubtyping.ts, 4, 17)) } foo() { return "s"; } ->foo : Symbol(foo, Decl(interfaceSubtyping.ts, 5, 5)) +>foo : Symbol(Camera.foo, Decl(interfaceSubtyping.ts, 5, 5)) } diff --git a/tests/baselines/reference/interfaceThatHidesBaseProperty.symbols b/tests/baselines/reference/interfaceThatHidesBaseProperty.symbols index 2705aef2b27..d168a881990 100644 --- a/tests/baselines/reference/interfaceThatHidesBaseProperty.symbols +++ b/tests/baselines/reference/interfaceThatHidesBaseProperty.symbols @@ -3,7 +3,7 @@ interface Base { >Base : Symbol(Base, Decl(interfaceThatHidesBaseProperty.ts, 0, 0)) x: { a: number }; ->x : Symbol(x, Decl(interfaceThatHidesBaseProperty.ts, 0, 16)) +>x : Symbol(Base.x, Decl(interfaceThatHidesBaseProperty.ts, 0, 16)) >a : Symbol(a, Decl(interfaceThatHidesBaseProperty.ts, 1, 8)) } @@ -12,7 +12,7 @@ interface Derived extends Base { >Base : Symbol(Base, Decl(interfaceThatHidesBaseProperty.ts, 0, 0)) x: { ->x : Symbol(x, Decl(interfaceThatHidesBaseProperty.ts, 4, 32)) +>x : Symbol(Derived.x, Decl(interfaceThatHidesBaseProperty.ts, 4, 32)) a: number; b: number; >a : Symbol(a, Decl(interfaceThatHidesBaseProperty.ts, 5, 8)) diff --git a/tests/baselines/reference/interfaceWithCommaSeparators.symbols b/tests/baselines/reference/interfaceWithCommaSeparators.symbols index e96a8852d56..a2f76d1791b 100644 --- a/tests/baselines/reference/interfaceWithCommaSeparators.symbols +++ b/tests/baselines/reference/interfaceWithCommaSeparators.symbols @@ -6,6 +6,6 @@ var v: { bar(): void, baz } interface Foo { bar(): void, baz } >Foo : Symbol(Foo, Decl(interfaceWithCommaSeparators.ts, 0, 27)) ->bar : Symbol(bar, Decl(interfaceWithCommaSeparators.ts, 1, 15)) ->baz : Symbol(baz, Decl(interfaceWithCommaSeparators.ts, 1, 28)) +>bar : Symbol(Foo.bar, Decl(interfaceWithCommaSeparators.ts, 1, 15)) +>baz : Symbol(Foo.baz, Decl(interfaceWithCommaSeparators.ts, 1, 28)) diff --git a/tests/baselines/reference/interfaceWithOptionalProperty.symbols b/tests/baselines/reference/interfaceWithOptionalProperty.symbols index 262b3f01ccc..90e5b666693 100644 --- a/tests/baselines/reference/interfaceWithOptionalProperty.symbols +++ b/tests/baselines/reference/interfaceWithOptionalProperty.symbols @@ -4,5 +4,5 @@ interface I { >I : Symbol(I, Decl(interfaceWithOptionalProperty.ts, 0, 0)) x?: number; ->x : Symbol(x, Decl(interfaceWithOptionalProperty.ts, 1, 13)) +>x : Symbol(I.x, Decl(interfaceWithOptionalProperty.ts, 1, 13)) } diff --git a/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols b/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols index f248bba02f0..46b0edd378b 100644 --- a/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols +++ b/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithPropertyOfEveryType.ts === class C { foo: string; } >C : Symbol(C, Decl(interfaceWithPropertyOfEveryType.ts, 0, 0)) ->foo : Symbol(foo, Decl(interfaceWithPropertyOfEveryType.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(interfaceWithPropertyOfEveryType.ts, 0, 9)) function f1() { } >f1 : Symbol(f1, Decl(interfaceWithPropertyOfEveryType.ts, 0, 24)) @@ -20,59 +20,59 @@ interface Foo { >Foo : Symbol(Foo, Decl(interfaceWithPropertyOfEveryType.ts, 5, 12)) a: number; ->a : Symbol(a, Decl(interfaceWithPropertyOfEveryType.ts, 7, 15)) +>a : Symbol(Foo.a, Decl(interfaceWithPropertyOfEveryType.ts, 7, 15)) b: string; ->b : Symbol(b, Decl(interfaceWithPropertyOfEveryType.ts, 8, 14)) +>b : Symbol(Foo.b, Decl(interfaceWithPropertyOfEveryType.ts, 8, 14)) c: boolean; ->c : Symbol(c, Decl(interfaceWithPropertyOfEveryType.ts, 9, 14)) +>c : Symbol(Foo.c, Decl(interfaceWithPropertyOfEveryType.ts, 9, 14)) d: any; ->d : Symbol(d, Decl(interfaceWithPropertyOfEveryType.ts, 10, 15)) +>d : Symbol(Foo.d, Decl(interfaceWithPropertyOfEveryType.ts, 10, 15)) e: void; ->e : Symbol(e, Decl(interfaceWithPropertyOfEveryType.ts, 11, 11)) +>e : Symbol(Foo.e, Decl(interfaceWithPropertyOfEveryType.ts, 11, 11)) f: number[]; ->f : Symbol(f, Decl(interfaceWithPropertyOfEveryType.ts, 12, 12)) +>f : Symbol(Foo.f, Decl(interfaceWithPropertyOfEveryType.ts, 12, 12)) g: Object; ->g : Symbol(g, Decl(interfaceWithPropertyOfEveryType.ts, 13, 16)) +>g : Symbol(Foo.g, Decl(interfaceWithPropertyOfEveryType.ts, 13, 16)) >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) h: (x: number) => number; ->h : Symbol(h, Decl(interfaceWithPropertyOfEveryType.ts, 14, 14)) +>h : Symbol(Foo.h, Decl(interfaceWithPropertyOfEveryType.ts, 14, 14)) >x : Symbol(x, Decl(interfaceWithPropertyOfEveryType.ts, 15, 8)) i: (x: T) => T; ->i : Symbol(i, Decl(interfaceWithPropertyOfEveryType.ts, 15, 29)) +>i : Symbol(Foo.i, Decl(interfaceWithPropertyOfEveryType.ts, 15, 29)) >T : Symbol(T, Decl(interfaceWithPropertyOfEveryType.ts, 16, 8)) >x : Symbol(x, Decl(interfaceWithPropertyOfEveryType.ts, 16, 11)) >T : Symbol(T, Decl(interfaceWithPropertyOfEveryType.ts, 16, 8)) >T : Symbol(T, Decl(interfaceWithPropertyOfEveryType.ts, 16, 8)) j: Foo; ->j : Symbol(j, Decl(interfaceWithPropertyOfEveryType.ts, 16, 22)) +>j : Symbol(Foo.j, Decl(interfaceWithPropertyOfEveryType.ts, 16, 22)) >Foo : Symbol(Foo, Decl(interfaceWithPropertyOfEveryType.ts, 5, 12)) k: C; ->k : Symbol(k, Decl(interfaceWithPropertyOfEveryType.ts, 17, 11)) +>k : Symbol(Foo.k, Decl(interfaceWithPropertyOfEveryType.ts, 17, 11)) >C : Symbol(C, Decl(interfaceWithPropertyOfEveryType.ts, 0, 0)) l: typeof f1; ->l : Symbol(l, Decl(interfaceWithPropertyOfEveryType.ts, 18, 9)) +>l : Symbol(Foo.l, Decl(interfaceWithPropertyOfEveryType.ts, 18, 9)) >f1 : Symbol(f1, Decl(interfaceWithPropertyOfEveryType.ts, 0, 24)) m: typeof M; ->m : Symbol(m, Decl(interfaceWithPropertyOfEveryType.ts, 19, 17)) +>m : Symbol(Foo.m, Decl(interfaceWithPropertyOfEveryType.ts, 19, 17)) >M : Symbol(M, Decl(interfaceWithPropertyOfEveryType.ts, 1, 17)) n: {}; ->n : Symbol(n, Decl(interfaceWithPropertyOfEveryType.ts, 20, 16)) +>n : Symbol(Foo.n, Decl(interfaceWithPropertyOfEveryType.ts, 20, 16)) o: E; ->o : Symbol(o, Decl(interfaceWithPropertyOfEveryType.ts, 21, 10)) +>o : Symbol(Foo.o, Decl(interfaceWithPropertyOfEveryType.ts, 21, 10)) >E : Symbol(E, Decl(interfaceWithPropertyOfEveryType.ts, 4, 1)) } diff --git a/tests/baselines/reference/interfacedecl.symbols b/tests/baselines/reference/interfacedecl.symbols index eb9cce5f1fd..48a89a94129 100644 --- a/tests/baselines/reference/interfacedecl.symbols +++ b/tests/baselines/reference/interfacedecl.symbols @@ -19,33 +19,33 @@ interface a0 { >s : Symbol(s, Decl(interfacedecl.ts, 8, 5)) p1; ->p1 : Symbol(p1, Decl(interfacedecl.ts, 8, 21)) +>p1 : Symbol(a0.p1, Decl(interfacedecl.ts, 8, 21)) p2: string; ->p2 : Symbol(p2, Decl(interfacedecl.ts, 10, 7)) +>p2 : Symbol(a0.p2, Decl(interfacedecl.ts, 10, 7)) p3?; ->p3 : Symbol(p3, Decl(interfacedecl.ts, 11, 15)) +>p3 : Symbol(a0.p3, Decl(interfacedecl.ts, 11, 15)) p4?: number; ->p4 : Symbol(p4, Decl(interfacedecl.ts, 12, 8)) +>p4 : Symbol(a0.p4, Decl(interfacedecl.ts, 12, 8)) p5: (s: number) =>string; ->p5 : Symbol(p5, Decl(interfacedecl.ts, 13, 16)) +>p5 : Symbol(a0.p5, Decl(interfacedecl.ts, 13, 16)) >s : Symbol(s, Decl(interfacedecl.ts, 14, 9)) f1(); ->f1 : Symbol(f1, Decl(interfacedecl.ts, 14, 29)) +>f1 : Symbol(a0.f1, Decl(interfacedecl.ts, 14, 29)) f2? (); ->f2 : Symbol(f2, Decl(interfacedecl.ts, 16, 9)) +>f2 : Symbol(a0.f2, Decl(interfacedecl.ts, 16, 9)) f3(a: string): number; ->f3 : Symbol(f3, Decl(interfacedecl.ts, 17, 11)) +>f3 : Symbol(a0.f3, Decl(interfacedecl.ts, 17, 11)) >a : Symbol(a, Decl(interfacedecl.ts, 18, 7)) f4? (s: number): string; ->f4 : Symbol(f4, Decl(interfacedecl.ts, 18, 26)) +>f4 : Symbol(a0.f4, Decl(interfacedecl.ts, 18, 26)) >s : Symbol(s, Decl(interfacedecl.ts, 19, 9)) } diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.symbols b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.symbols index f3a796cf66c..85c5c72cfe1 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.symbols +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.symbols @@ -6,7 +6,7 @@ export module x { >c : Symbol(c, Decl(internalAliasClassInsideLocalModuleWithExport.ts, 0, 17)) foo(a: number) { ->foo : Symbol(foo, Decl(internalAliasClassInsideLocalModuleWithExport.ts, 1, 20)) +>foo : Symbol(c.foo, Decl(internalAliasClassInsideLocalModuleWithExport.ts, 1, 20)) >a : Symbol(a, Decl(internalAliasClassInsideLocalModuleWithExport.ts, 2, 12)) return a; diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.symbols b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.symbols index 5c1d8b16afc..1df4c67b78e 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.symbols +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.symbols @@ -6,7 +6,7 @@ export module x { >c : Symbol(c, Decl(internalAliasClassInsideLocalModuleWithoutExport.ts, 0, 17)) foo(a: number) { ->foo : Symbol(foo, Decl(internalAliasClassInsideLocalModuleWithoutExport.ts, 1, 20)) +>foo : Symbol(c.foo, Decl(internalAliasClassInsideLocalModuleWithoutExport.ts, 1, 20)) >a : Symbol(a, Decl(internalAliasClassInsideLocalModuleWithoutExport.ts, 2, 12)) return a; diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.symbols b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.symbols index 1b4d44307e3..b3c0bc487c5 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.symbols +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.symbols @@ -6,7 +6,7 @@ export module x { >c : Symbol(c, Decl(internalAliasClassInsideTopLevelModuleWithExport.ts, 0, 17)) foo(a: number) { ->foo : Symbol(foo, Decl(internalAliasClassInsideTopLevelModuleWithExport.ts, 1, 20)) +>foo : Symbol(c.foo, Decl(internalAliasClassInsideTopLevelModuleWithExport.ts, 1, 20)) >a : Symbol(a, Decl(internalAliasClassInsideTopLevelModuleWithExport.ts, 2, 12)) return a; diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.symbols b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.symbols index b4e720cec94..08112614a57 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.symbols +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.symbols @@ -6,7 +6,7 @@ export module x { >c : Symbol(c, Decl(internalAliasClassInsideTopLevelModuleWithoutExport.ts, 0, 17)) foo(a: number) { ->foo : Symbol(foo, Decl(internalAliasClassInsideTopLevelModuleWithoutExport.ts, 1, 20)) +>foo : Symbol(c.foo, Decl(internalAliasClassInsideTopLevelModuleWithoutExport.ts, 1, 20)) >a : Symbol(a, Decl(internalAliasClassInsideTopLevelModuleWithoutExport.ts, 2, 12)) return a; diff --git a/tests/baselines/reference/internalAliasUninitializedModule.symbols b/tests/baselines/reference/internalAliasUninitializedModule.symbols index 95af5c5699d..bdb777461a6 100644 --- a/tests/baselines/reference/internalAliasUninitializedModule.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModule.symbols @@ -9,7 +9,7 @@ module a { >I : Symbol(I, Decl(internalAliasUninitializedModule.ts, 1, 21)) foo(); ->foo : Symbol(foo, Decl(internalAliasUninitializedModule.ts, 2, 28)) +>foo : Symbol(I.foo, Decl(internalAliasUninitializedModule.ts, 2, 28)) } } } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.symbols b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.symbols index 861859ce2ea..3050a92eaad 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.symbols @@ -9,7 +9,7 @@ export module a { >I : Symbol(I, Decl(internalAliasUninitializedModuleInsideLocalModuleWithExport.ts, 1, 21)) foo(); ->foo : Symbol(foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithExport.ts, 2, 28)) +>foo : Symbol(I.foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithExport.ts, 2, 28)) } } } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.symbols b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.symbols index 433426c9fd9..f1e7ecaa8b5 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.symbols @@ -9,7 +9,7 @@ export module a { >I : Symbol(I, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExport.ts, 1, 21)) foo(); ->foo : Symbol(foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExport.ts, 2, 28)) +>foo : Symbol(I.foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExport.ts, 2, 28)) } } } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.symbols b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.symbols index 14428deac43..5ecf784fccc 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.symbols @@ -9,7 +9,7 @@ export module a { >I : Symbol(I, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithExport.ts, 1, 21)) foo(); ->foo : Symbol(foo, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithExport.ts, 2, 28)) +>foo : Symbol(I.foo, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithExport.ts, 2, 28)) } } } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.symbols b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.symbols index cd17daeb023..aed4d7e7374 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.symbols @@ -9,7 +9,7 @@ export module a { >I : Symbol(I, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.ts, 1, 21)) foo(); ->foo : Symbol(foo, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.ts, 2, 28)) +>foo : Symbol(I.foo, Decl(internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.ts, 2, 28)) } } } diff --git a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols index e1098948fd6..81e07de2dfd 100644 --- a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols +++ b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols @@ -3,14 +3,14 @@ class A { >A : Symbol(A, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 0), Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 2, 1)) aProp: string; ->aProp : Symbol(aProp, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 9)) +>aProp : Symbol(A.aProp, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 9)) } module A { >A : Symbol(A, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 0), Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 2, 1)) export interface X { s: string } >X : Symbol(X, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 3, 10)) ->s : Symbol(s, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 4, 24)) +>s : Symbol(X.s, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 4, 24)) export var a = 10; >a : Symbol(a, Decl(internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 5, 14)) diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols b/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols index 5852777fe1c..2cf6a029bc8 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.symbols @@ -3,14 +3,14 @@ class A { >A : Symbol(A, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 0), Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 2, 1)) aProp: string; ->aProp : Symbol(aProp, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 9)) +>aProp : Symbol(A.aProp, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 9)) } module A { >A : Symbol(A, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 0, 0), Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 2, 1)) export interface X { s: string } >X : Symbol(X, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 3, 10)) ->s : Symbol(s, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 4, 24)) +>s : Symbol(X.s, Decl(internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts, 4, 24)) } module B { diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.symbols b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.symbols index 06df9fbfa3f..0281e502026 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.symbols +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.symbols @@ -4,7 +4,7 @@ module A { export interface X { s: string } >X : Symbol(X, Decl(internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.ts, 0, 10)) ->s : Symbol(s, Decl(internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.ts, 1, 24)) +>s : Symbol(X.s, Decl(internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.ts, 1, 24)) } module B { diff --git a/tests/baselines/reference/intersectionTypeEquivalence.symbols b/tests/baselines/reference/intersectionTypeEquivalence.symbols index 2bec452c44e..effcd2759e5 100644 --- a/tests/baselines/reference/intersectionTypeEquivalence.symbols +++ b/tests/baselines/reference/intersectionTypeEquivalence.symbols @@ -1,15 +1,15 @@ === tests/cases/conformance/types/intersection/intersectionTypeEquivalence.ts === interface A { a: string } >A : Symbol(A, Decl(intersectionTypeEquivalence.ts, 0, 0)) ->a : Symbol(a, Decl(intersectionTypeEquivalence.ts, 0, 13)) +>a : Symbol(A.a, Decl(intersectionTypeEquivalence.ts, 0, 13)) interface B { b: string } >B : Symbol(B, Decl(intersectionTypeEquivalence.ts, 0, 25)) ->b : Symbol(b, Decl(intersectionTypeEquivalence.ts, 1, 13)) +>b : Symbol(B.b, Decl(intersectionTypeEquivalence.ts, 1, 13)) interface C { c: string } >C : Symbol(C, Decl(intersectionTypeEquivalence.ts, 1, 25)) ->c : Symbol(c, Decl(intersectionTypeEquivalence.ts, 2, 13)) +>c : Symbol(C.c, Decl(intersectionTypeEquivalence.ts, 2, 13)) // A & B is equivalent to B & A. var y: A & B; diff --git a/tests/baselines/reference/intersectionTypeMembers.symbols b/tests/baselines/reference/intersectionTypeMembers.symbols index ebec69b4ebe..9ec66ef64b9 100644 --- a/tests/baselines/reference/intersectionTypeMembers.symbols +++ b/tests/baselines/reference/intersectionTypeMembers.symbols @@ -4,15 +4,15 @@ interface A { a: string } >A : Symbol(A, Decl(intersectionTypeMembers.ts, 0, 0)) ->a : Symbol(a, Decl(intersectionTypeMembers.ts, 3, 13)) +>a : Symbol(A.a, Decl(intersectionTypeMembers.ts, 3, 13)) interface B { b: string } >B : Symbol(B, Decl(intersectionTypeMembers.ts, 3, 25)) ->b : Symbol(b, Decl(intersectionTypeMembers.ts, 4, 13)) +>b : Symbol(B.b, Decl(intersectionTypeMembers.ts, 4, 13)) interface C { c: string } >C : Symbol(C, Decl(intersectionTypeMembers.ts, 4, 25)) ->c : Symbol(c, Decl(intersectionTypeMembers.ts, 5, 13)) +>c : Symbol(C.c, Decl(intersectionTypeMembers.ts, 5, 13)) var abc: A & B & C; >abc : Symbol(abc, Decl(intersectionTypeMembers.ts, 7, 3)) @@ -37,17 +37,17 @@ abc.c = "hello"; interface X { x: A } >X : Symbol(X, Decl(intersectionTypeMembers.ts, 10, 16)) ->x : Symbol(x, Decl(intersectionTypeMembers.ts, 12, 13)) +>x : Symbol(X.x, Decl(intersectionTypeMembers.ts, 12, 13)) >A : Symbol(A, Decl(intersectionTypeMembers.ts, 0, 0)) interface Y { x: B } >Y : Symbol(Y, Decl(intersectionTypeMembers.ts, 12, 20)) ->x : Symbol(x, Decl(intersectionTypeMembers.ts, 13, 13)) +>x : Symbol(Y.x, Decl(intersectionTypeMembers.ts, 13, 13)) >B : Symbol(B, Decl(intersectionTypeMembers.ts, 3, 25)) interface Z { x: C } >Z : Symbol(Z, Decl(intersectionTypeMembers.ts, 13, 20)) ->x : Symbol(x, Decl(intersectionTypeMembers.ts, 14, 13)) +>x : Symbol(Z.x, Decl(intersectionTypeMembers.ts, 14, 13)) >C : Symbol(C, Decl(intersectionTypeMembers.ts, 4, 25)) var xyz: X & Y & Z; diff --git a/tests/baselines/reference/invalidThisEmitInContextualObjectLiteral.symbols b/tests/baselines/reference/invalidThisEmitInContextualObjectLiteral.symbols index e313d8e44d1..bb20fce76cd 100644 --- a/tests/baselines/reference/invalidThisEmitInContextualObjectLiteral.symbols +++ b/tests/baselines/reference/invalidThisEmitInContextualObjectLiteral.symbols @@ -3,11 +3,11 @@ interface IDef { >IDef : Symbol(IDef, Decl(invalidThisEmitInContextualObjectLiteral.ts, 0, 0)) p1: (e:string) => void; ->p1 : Symbol(p1, Decl(invalidThisEmitInContextualObjectLiteral.ts, 0, 16)) +>p1 : Symbol(IDef.p1, Decl(invalidThisEmitInContextualObjectLiteral.ts, 0, 16)) >e : Symbol(e, Decl(invalidThisEmitInContextualObjectLiteral.ts, 1, 6)) p2: () => (n: number) => any; ->p2 : Symbol(p2, Decl(invalidThisEmitInContextualObjectLiteral.ts, 1, 24)) +>p2 : Symbol(IDef.p2, Decl(invalidThisEmitInContextualObjectLiteral.ts, 1, 24)) >n : Symbol(n, Decl(invalidThisEmitInContextualObjectLiteral.ts, 2, 12)) } @@ -15,15 +15,15 @@ class TestController { >TestController : Symbol(TestController, Decl(invalidThisEmitInContextualObjectLiteral.ts, 3, 1)) public m(def: IDef) { } ->m : Symbol(m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) +>m : Symbol(TestController.m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) >def : Symbol(def, Decl(invalidThisEmitInContextualObjectLiteral.ts, 6, 10)) >IDef : Symbol(IDef, Decl(invalidThisEmitInContextualObjectLiteral.ts, 0, 0)) public p = this.m({ ->p : Symbol(p, Decl(invalidThisEmitInContextualObjectLiteral.ts, 6, 24)) ->this.m : Symbol(m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) +>p : Symbol(TestController.p, Decl(invalidThisEmitInContextualObjectLiteral.ts, 6, 24)) +>this.m : Symbol(TestController.m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) >this : Symbol(TestController, Decl(invalidThisEmitInContextualObjectLiteral.ts, 3, 1)) ->m : Symbol(m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) +>m : Symbol(TestController.m, Decl(invalidThisEmitInContextualObjectLiteral.ts, 5, 22)) p1: e => { }, >p1 : Symbol(p1, Decl(invalidThisEmitInContextualObjectLiteral.ts, 7, 20)) diff --git a/tests/baselines/reference/invalidUndefinedValues.symbols b/tests/baselines/reference/invalidUndefinedValues.symbols index 5a9b81fde31..748adc75eec 100644 --- a/tests/baselines/reference/invalidUndefinedValues.symbols +++ b/tests/baselines/reference/invalidUndefinedValues.symbols @@ -24,7 +24,7 @@ x = null; class C { foo: string } >C : Symbol(C, Decl(invalidUndefinedValues.ts, 7, 9)) ->foo : Symbol(foo, Decl(invalidUndefinedValues.ts, 9, 9)) +>foo : Symbol(C.foo, Decl(invalidUndefinedValues.ts, 9, 9)) var b: C; >b : Symbol(b, Decl(invalidUndefinedValues.ts, 10, 3)) @@ -40,7 +40,7 @@ x = b; interface I { foo: string } >I : Symbol(I, Decl(invalidUndefinedValues.ts, 12, 6)) ->foo : Symbol(foo, Decl(invalidUndefinedValues.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(invalidUndefinedValues.ts, 14, 13)) var c: I; >c : Symbol(c, Decl(invalidUndefinedValues.ts, 15, 3)) diff --git a/tests/baselines/reference/ipromise2.symbols b/tests/baselines/reference/ipromise2.symbols index be936f4512a..f4c4d2a0375 100644 --- a/tests/baselines/reference/ipromise2.symbols +++ b/tests/baselines/reference/ipromise2.symbols @@ -8,7 +8,7 @@ declare module Windows.Foundation { >T : Symbol(T, Decl(ipromise2.ts, 1, 30)) then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) >U : Symbol(U, Decl(ipromise2.ts, 2, 13)) >success : Symbol(success, Decl(ipromise2.ts, 2, 16)) >value : Symbol(value, Decl(ipromise2.ts, 2, 27)) @@ -27,7 +27,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise2.ts, 2, 13)) then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) >U : Symbol(U, Decl(ipromise2.ts, 3, 13)) >success : Symbol(success, Decl(ipromise2.ts, 3, 16)) >value : Symbol(value, Decl(ipromise2.ts, 3, 27)) @@ -45,7 +45,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise2.ts, 3, 13)) then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) >U : Symbol(U, Decl(ipromise2.ts, 4, 13)) >success : Symbol(success, Decl(ipromise2.ts, 4, 16)) >value : Symbol(value, Decl(ipromise2.ts, 4, 27)) @@ -63,7 +63,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise2.ts, 4, 13)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise2.ts, 1, 34), Decl(ipromise2.ts, 2, 159), Decl(ipromise2.ts, 3, 149), Decl(ipromise2.ts, 4, 149)) >U : Symbol(U, Decl(ipromise2.ts, 5, 13)) >success : Symbol(success, Decl(ipromise2.ts, 5, 16)) >value : Symbol(value, Decl(ipromise2.ts, 5, 27)) @@ -80,7 +80,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise2.ts, 5, 13)) done(success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void ): void; ->done : Symbol(done, Decl(ipromise2.ts, 5, 139)) +>done : Symbol(IPromise.done, Decl(ipromise2.ts, 5, 139)) >U : Symbol(U, Decl(ipromise2.ts, 6, 13)) >success : Symbol(success, Decl(ipromise2.ts, 6, 16)) >value : Symbol(value, Decl(ipromise2.ts, 6, 27)) @@ -91,7 +91,7 @@ declare module Windows.Foundation { >progress : Symbol(progress, Decl(ipromise2.ts, 6, 86)) value: T; ->value : Symbol(value, Decl(ipromise2.ts, 6, 117)) +>value : Symbol(IPromise.value, Decl(ipromise2.ts, 6, 117)) >T : Symbol(T, Decl(ipromise2.ts, 1, 30)) } } diff --git a/tests/baselines/reference/ipromise3.symbols b/tests/baselines/reference/ipromise3.symbols index 3605a94fc88..c264f8e2280 100644 --- a/tests/baselines/reference/ipromise3.symbols +++ b/tests/baselines/reference/ipromise3.symbols @@ -4,7 +4,7 @@ interface IPromise3 { >T : Symbol(T, Decl(ipromise3.ts, 0, 20)) then(success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : Symbol(then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) +>then : Symbol(IPromise3.then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) >U : Symbol(U, Decl(ipromise3.ts, 1, 9)) >success : Symbol(success, Decl(ipromise3.ts, 1, 12)) >value : Symbol(value, Decl(ipromise3.ts, 1, 23)) @@ -21,7 +21,7 @@ interface IPromise3 { >U : Symbol(U, Decl(ipromise3.ts, 1, 9)) then(success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : Symbol(then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) +>then : Symbol(IPromise3.then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) >U : Symbol(U, Decl(ipromise3.ts, 2, 9)) >success : Symbol(success, Decl(ipromise3.ts, 2, 12)) >value : Symbol(value, Decl(ipromise3.ts, 2, 23)) @@ -37,7 +37,7 @@ interface IPromise3 { >U : Symbol(U, Decl(ipromise3.ts, 2, 9)) then(success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : Symbol(then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) +>then : Symbol(IPromise3.then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) >U : Symbol(U, Decl(ipromise3.ts, 3, 9)) >success : Symbol(success, Decl(ipromise3.ts, 3, 12)) >value : Symbol(value, Decl(ipromise3.ts, 3, 23)) @@ -53,7 +53,7 @@ interface IPromise3 { >U : Symbol(U, Decl(ipromise3.ts, 3, 9)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : Symbol(then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) +>then : Symbol(IPromise3.then, Decl(ipromise3.ts, 0, 24), Decl(ipromise3.ts, 1, 139), Decl(ipromise3.ts, 2, 128), Decl(ipromise3.ts, 3, 128)) >U : Symbol(U, Decl(ipromise3.ts, 4, 9)) >success : Symbol(success, Decl(ipromise3.ts, 4, 12)) >value : Symbol(value, Decl(ipromise3.ts, 4, 23)) @@ -68,7 +68,7 @@ interface IPromise3 { >U : Symbol(U, Decl(ipromise3.ts, 4, 9)) done? (success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void ): void; ->done : Symbol(done, Decl(ipromise3.ts, 4, 117)) +>done : Symbol(IPromise3.done, Decl(ipromise3.ts, 4, 117)) >U : Symbol(U, Decl(ipromise3.ts, 5, 11)) >success : Symbol(success, Decl(ipromise3.ts, 5, 14)) >value : Symbol(value, Decl(ipromise3.ts, 5, 25)) diff --git a/tests/baselines/reference/ipromise4.symbols b/tests/baselines/reference/ipromise4.symbols index 65ae5f90cfe..58055fdc59d 100644 --- a/tests/baselines/reference/ipromise4.symbols +++ b/tests/baselines/reference/ipromise4.symbols @@ -8,7 +8,7 @@ declare module Windows.Foundation { >T : Symbol(T, Decl(ipromise4.ts, 1, 30)) then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) >U : Symbol(U, Decl(ipromise4.ts, 2, 13)) >success : Symbol(success, Decl(ipromise4.ts, 2, 16)) >value : Symbol(value, Decl(ipromise4.ts, 2, 27)) @@ -27,7 +27,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise4.ts, 2, 13)) then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) >U : Symbol(U, Decl(ipromise4.ts, 3, 13)) >success : Symbol(success, Decl(ipromise4.ts, 3, 16)) >value : Symbol(value, Decl(ipromise4.ts, 3, 27)) @@ -45,7 +45,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise4.ts, 3, 13)) then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) >U : Symbol(U, Decl(ipromise4.ts, 4, 13)) >success : Symbol(success, Decl(ipromise4.ts, 4, 16)) >value : Symbol(value, Decl(ipromise4.ts, 4, 27)) @@ -63,7 +63,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise4.ts, 4, 13)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : Symbol(then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) +>then : Symbol(IPromise.then, Decl(ipromise4.ts, 1, 34), Decl(ipromise4.ts, 2, 159), Decl(ipromise4.ts, 3, 149), Decl(ipromise4.ts, 4, 149)) >U : Symbol(U, Decl(ipromise4.ts, 5, 13)) >success : Symbol(success, Decl(ipromise4.ts, 5, 16)) >value : Symbol(value, Decl(ipromise4.ts, 5, 27)) @@ -80,7 +80,7 @@ declare module Windows.Foundation { >U : Symbol(U, Decl(ipromise4.ts, 5, 13)) done? (success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void ): void; ->done : Symbol(done, Decl(ipromise4.ts, 5, 139)) +>done : Symbol(IPromise.done, Decl(ipromise4.ts, 5, 139)) >U : Symbol(U, Decl(ipromise4.ts, 6, 15)) >success : Symbol(success, Decl(ipromise4.ts, 6, 18)) >value : Symbol(value, Decl(ipromise4.ts, 6, 29)) diff --git a/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols b/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols index 2af21772cfb..ecc68121f37 100644 --- a/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols +++ b/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols @@ -146,7 +146,7 @@ module schema { >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 59, 15)) get createValidator9(): (data: T) => T { ->createValidator9 : Symbol(createValidator9, Decl(isDeclarationVisibleNodeKinds.ts, 60, 20)) +>createValidator9 : Symbol(T.createValidator9, Decl(isDeclarationVisibleNodeKinds.ts, 60, 20)) >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 61, 33)) >data : Symbol(data, Decl(isDeclarationVisibleNodeKinds.ts, 61, 36)) >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 61, 33)) @@ -157,7 +157,7 @@ module schema { } set createValidator10(v: (data: T) => T) { ->createValidator10 : Symbol(createValidator10, Decl(isDeclarationVisibleNodeKinds.ts, 63, 9)) +>createValidator10 : Symbol(T.createValidator10, Decl(isDeclarationVisibleNodeKinds.ts, 63, 9)) >v : Symbol(v, Decl(isDeclarationVisibleNodeKinds.ts, 65, 30)) >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 65, 34)) >data : Symbol(data, Decl(isDeclarationVisibleNodeKinds.ts, 65, 37)) diff --git a/tests/baselines/reference/iterableArrayPattern1.symbols b/tests/baselines/reference/iterableArrayPattern1.symbols index 2877a2233da..59ea46b8781 100644 --- a/tests/baselines/reference/iterableArrayPattern1.symbols +++ b/tests/baselines/reference/iterableArrayPattern1.symbols @@ -8,7 +8,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iterableArrayPattern1.ts, 0, 32)) next() { ->next : Symbol(next, Decl(iterableArrayPattern1.ts, 1, 22)) +>next : Symbol(SymbolIterator.next, Decl(iterableArrayPattern1.ts, 1, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iterableArrayPattern11.symbols b/tests/baselines/reference/iterableArrayPattern11.symbols index 6181edbf1fd..32e79de0dc0 100644 --- a/tests/baselines/reference/iterableArrayPattern11.symbols +++ b/tests/baselines/reference/iterableArrayPattern11.symbols @@ -11,18 +11,18 @@ fun(new FooIterator); class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern11.ts, 1, 21)) ->x : Symbol(x, Decl(iterableArrayPattern11.ts, 2, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern11.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern11.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern11.ts, 1, 21)) ->y : Symbol(y, Decl(iterableArrayPattern11.ts, 3, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern11.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern11.ts, 3, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern11.ts, 4, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern11.ts, 4, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iterableArrayPattern12.symbols b/tests/baselines/reference/iterableArrayPattern12.symbols index e4b4baf3bd5..4b844fc4003 100644 --- a/tests/baselines/reference/iterableArrayPattern12.symbols +++ b/tests/baselines/reference/iterableArrayPattern12.symbols @@ -11,18 +11,18 @@ fun(new FooIterator); class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern12.ts, 1, 21)) ->x : Symbol(x, Decl(iterableArrayPattern12.ts, 2, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern12.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern12.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern12.ts, 1, 21)) ->y : Symbol(y, Decl(iterableArrayPattern12.ts, 3, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern12.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern12.ts, 3, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern12.ts, 4, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern12.ts, 4, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iterableArrayPattern13.symbols b/tests/baselines/reference/iterableArrayPattern13.symbols index 02f219e7092..c346a8a73b1 100644 --- a/tests/baselines/reference/iterableArrayPattern13.symbols +++ b/tests/baselines/reference/iterableArrayPattern13.symbols @@ -10,18 +10,18 @@ fun(new FooIterator); class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern13.ts, 1, 21)) ->x : Symbol(x, Decl(iterableArrayPattern13.ts, 2, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern13.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern13.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern13.ts, 1, 21)) ->y : Symbol(y, Decl(iterableArrayPattern13.ts, 3, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern13.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern13.ts, 3, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern13.ts, 4, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern13.ts, 4, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iterableArrayPattern2.symbols b/tests/baselines/reference/iterableArrayPattern2.symbols index dad1262cee9..dc1eaef8ce1 100644 --- a/tests/baselines/reference/iterableArrayPattern2.symbols +++ b/tests/baselines/reference/iterableArrayPattern2.symbols @@ -8,7 +8,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iterableArrayPattern2.ts, 0, 35)) next() { ->next : Symbol(next, Decl(iterableArrayPattern2.ts, 1, 22)) +>next : Symbol(SymbolIterator.next, Decl(iterableArrayPattern2.ts, 1, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iterableArrayPattern3.symbols b/tests/baselines/reference/iterableArrayPattern3.symbols index e0372862b9e..9fb3aa26598 100644 --- a/tests/baselines/reference/iterableArrayPattern3.symbols +++ b/tests/baselines/reference/iterableArrayPattern3.symbols @@ -12,18 +12,18 @@ var a: Bar, b: Bar; class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) ->x : Symbol(x, Decl(iterableArrayPattern3.ts, 2, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern3.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern3.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) ->y : Symbol(y, Decl(iterableArrayPattern3.ts, 3, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern3.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern3.ts, 3, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern3.ts, 4, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern3.ts, 4, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iterableArrayPattern4.symbols b/tests/baselines/reference/iterableArrayPattern4.symbols index fb1cce1b8f9..85e2f431ecd 100644 --- a/tests/baselines/reference/iterableArrayPattern4.symbols +++ b/tests/baselines/reference/iterableArrayPattern4.symbols @@ -12,18 +12,18 @@ var a: Bar, b: Bar[]; class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern4.ts, 1, 28)) ->x : Symbol(x, Decl(iterableArrayPattern4.ts, 2, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern4.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern4.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern4.ts, 1, 28)) ->y : Symbol(y, Decl(iterableArrayPattern4.ts, 3, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern4.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern4.ts, 3, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern4.ts, 4, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern4.ts, 4, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iterableArrayPattern9.symbols b/tests/baselines/reference/iterableArrayPattern9.symbols index 07d580fcea1..e48dd83aafb 100644 --- a/tests/baselines/reference/iterableArrayPattern9.symbols +++ b/tests/baselines/reference/iterableArrayPattern9.symbols @@ -7,18 +7,18 @@ function fun([a, b] = new FooIterator) { } class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern9.ts, 0, 42)) ->x : Symbol(x, Decl(iterableArrayPattern9.ts, 1, 11)) +>x : Symbol(Bar.x, Decl(iterableArrayPattern9.ts, 1, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern9.ts, 1, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern9.ts, 0, 42)) ->y : Symbol(y, Decl(iterableArrayPattern9.ts, 2, 23)) +>y : Symbol(Foo.y, Decl(iterableArrayPattern9.ts, 2, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern9.ts, 2, 27)) next() { ->next : Symbol(next, Decl(iterableArrayPattern9.ts, 3, 19)) +>next : Symbol(FooIterator.next, Decl(iterableArrayPattern9.ts, 3, 19)) return { value: new Foo, diff --git a/tests/baselines/reference/iteratorSpreadInArray.symbols b/tests/baselines/reference/iteratorSpreadInArray.symbols index d24abca314b..580cc86cffc 100644 --- a/tests/baselines/reference/iteratorSpreadInArray.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray.symbols @@ -7,7 +7,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray.ts, 0, 36)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray.ts, 2, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInArray.ts, 2, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInArray2.symbols b/tests/baselines/reference/iteratorSpreadInArray2.symbols index 029d83d2111..ec223d508a8 100644 --- a/tests/baselines/reference/iteratorSpreadInArray2.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray2.symbols @@ -8,7 +8,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray2.ts, 0, 59)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray2.ts, 2, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInArray2.ts, 2, 22)) return { value: Symbol(), @@ -35,7 +35,7 @@ class NumberIterator { >NumberIterator : Symbol(NumberIterator, Decl(iteratorSpreadInArray2.ts, 13, 1)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray2.ts, 15, 22)) +>next : Symbol(NumberIterator.next, Decl(iteratorSpreadInArray2.ts, 15, 22)) return { value: 0, diff --git a/tests/baselines/reference/iteratorSpreadInArray3.symbols b/tests/baselines/reference/iteratorSpreadInArray3.symbols index 05f90d44174..2536978d339 100644 --- a/tests/baselines/reference/iteratorSpreadInArray3.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray3.symbols @@ -7,7 +7,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray3.ts, 0, 47)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray3.ts, 2, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInArray3.ts, 2, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInArray4.symbols b/tests/baselines/reference/iteratorSpreadInArray4.symbols index e7ace40c4de..89daffea26b 100644 --- a/tests/baselines/reference/iteratorSpreadInArray4.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray4.symbols @@ -7,7 +7,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray4.ts, 0, 42)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray4.ts, 2, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInArray4.ts, 2, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInArray7.symbols b/tests/baselines/reference/iteratorSpreadInArray7.symbols index 64521a9a33e..23761a2d23c 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray7.symbols @@ -12,7 +12,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray7.ts, 1, 38)) next() { ->next : Symbol(next, Decl(iteratorSpreadInArray7.ts, 3, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInArray7.ts, 3, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInCall11.symbols b/tests/baselines/reference/iteratorSpreadInCall11.symbols index e504283a3bd..e6f43e6e02c 100644 --- a/tests/baselines/reference/iteratorSpreadInCall11.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall11.symbols @@ -14,7 +14,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInCall11.ts, 2, 42)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall11.ts, 4, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInCall11.ts, 4, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInCall12.symbols b/tests/baselines/reference/iteratorSpreadInCall12.symbols index 4b7f553e969..b9d33f02d1e 100644 --- a/tests/baselines/reference/iteratorSpreadInCall12.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall12.symbols @@ -17,7 +17,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInCall12.ts, 4, 1)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall12.ts, 6, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInCall12.ts, 6, 22)) return { value: Symbol(), @@ -44,7 +44,7 @@ class StringIterator { >StringIterator : Symbol(StringIterator, Decl(iteratorSpreadInCall12.ts, 17, 1)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall12.ts, 19, 22)) +>next : Symbol(StringIterator.next, Decl(iteratorSpreadInCall12.ts, 19, 22)) return { value: "", diff --git a/tests/baselines/reference/iteratorSpreadInCall3.symbols b/tests/baselines/reference/iteratorSpreadInCall3.symbols index 402b156002f..61c37ee9019 100644 --- a/tests/baselines/reference/iteratorSpreadInCall3.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall3.symbols @@ -11,7 +11,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInCall3.ts, 2, 32)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall3.ts, 3, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInCall3.ts, 3, 22)) return { value: Symbol(), diff --git a/tests/baselines/reference/iteratorSpreadInCall5.symbols b/tests/baselines/reference/iteratorSpreadInCall5.symbols index 855b434f07c..ea4a93c8c2b 100644 --- a/tests/baselines/reference/iteratorSpreadInCall5.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall5.symbols @@ -12,7 +12,7 @@ class SymbolIterator { >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInCall5.ts, 2, 43)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall5.ts, 3, 22)) +>next : Symbol(SymbolIterator.next, Decl(iteratorSpreadInCall5.ts, 3, 22)) return { value: Symbol(), @@ -39,7 +39,7 @@ class StringIterator { >StringIterator : Symbol(StringIterator, Decl(iteratorSpreadInCall5.ts, 14, 1)) next() { ->next : Symbol(next, Decl(iteratorSpreadInCall5.ts, 16, 22)) +>next : Symbol(StringIterator.next, Decl(iteratorSpreadInCall5.ts, 16, 22)) return { value: "", diff --git a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.symbols b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.symbols index 8db5aa87a5b..0f6ba844290 100644 --- a/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.symbols +++ b/tests/baselines/reference/jsFileCompilationClassMethodContainingArrowFunction.symbols @@ -4,15 +4,15 @@ class c { >c : Symbol(c, Decl(a.js, 0, 0)) method(a) { ->method : Symbol(method, Decl(a.js, 1, 9)) +>method : Symbol(c.method, Decl(a.js, 1, 9)) >a : Symbol(a, Decl(a.js, 2, 11)) let x = a => this.method(a); >x : Symbol(x, Decl(a.js, 3, 11)) >a : Symbol(a, Decl(a.js, 3, 15)) ->this.method : Symbol(method, Decl(a.js, 1, 9)) +>this.method : Symbol(c.method, Decl(a.js, 1, 9)) >this : Symbol(c, Decl(a.js, 0, 0)) ->method : Symbol(method, Decl(a.js, 1, 9)) +>method : Symbol(c.method, Decl(a.js, 1, 9)) >a : Symbol(a, Decl(a.js, 3, 15)) } } diff --git a/tests/baselines/reference/libdtsFix.symbols b/tests/baselines/reference/libdtsFix.symbols index 158b0587ec6..5399b7150e4 100644 --- a/tests/baselines/reference/libdtsFix.symbols +++ b/tests/baselines/reference/libdtsFix.symbols @@ -3,6 +3,6 @@ interface HTMLElement { >HTMLElement : Symbol(HTMLElement, Decl(libdtsFix.ts, 0, 0)) type: string; ->type : Symbol(type, Decl(libdtsFix.ts, 0, 23)) +>type : Symbol(HTMLElement.type, Decl(libdtsFix.ts, 0, 23)) } diff --git a/tests/baselines/reference/listFailure.symbols b/tests/baselines/reference/listFailure.symbols index 53b1acf09ee..d582c46633e 100644 --- a/tests/baselines/reference/listFailure.symbols +++ b/tests/baselines/reference/listFailure.symbols @@ -6,14 +6,14 @@ module Editor { >Buffer : Symbol(Buffer, Decl(listFailure.ts, 0, 15)) lines: List = ListMakeHead(); ->lines : Symbol(lines, Decl(listFailure.ts, 2, 25)) +>lines : Symbol(Buffer.lines, Decl(listFailure.ts, 2, 25)) >List : Symbol(List, Decl(listFailure.ts, 24, 5)) >Line : Symbol(Line, Decl(listFailure.ts, 37, 5)) >ListMakeHead : Symbol(ListMakeHead, Decl(listFailure.ts, 16, 5)) >Line : Symbol(Line, Decl(listFailure.ts, 37, 5)) addLine(lineText: string): List { ->addLine : Symbol(addLine, Decl(listFailure.ts, 3, 46)) +>addLine : Symbol(Buffer.addLine, Decl(listFailure.ts, 3, 46)) >lineText : Symbol(lineText, Decl(listFailure.ts, 5, 16)) >List : Symbol(List, Decl(listFailure.ts, 24, 5)) >Line : Symbol(Line, Decl(listFailure.ts, 37, 5)) @@ -26,9 +26,9 @@ module Editor { var lineEntry = this.lines.add(line); >lineEntry : Symbol(lineEntry, Decl(listFailure.ts, 8, 15)) >this.lines.add : Symbol(List.add, Decl(listFailure.ts, 27, 29)) ->this.lines : Symbol(lines, Decl(listFailure.ts, 2, 25)) +>this.lines : Symbol(Buffer.lines, Decl(listFailure.ts, 2, 25)) >this : Symbol(Buffer, Decl(listFailure.ts, 0, 15)) ->lines : Symbol(lines, Decl(listFailure.ts, 2, 25)) +>lines : Symbol(Buffer.lines, Decl(listFailure.ts, 2, 25)) >add : Symbol(List.add, Decl(listFailure.ts, 27, 29)) >line : Symbol(line, Decl(listFailure.ts, 7, 15)) @@ -75,32 +75,32 @@ module Editor { >T : Symbol(T, Decl(listFailure.ts, 26, 15)) public next: List; ->next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) >List : Symbol(List, Decl(listFailure.ts, 24, 5)) >T : Symbol(T, Decl(listFailure.ts, 26, 15)) add(data: T): List { ->add : Symbol(add, Decl(listFailure.ts, 27, 29)) +>add : Symbol(List.add, Decl(listFailure.ts, 27, 29)) >data : Symbol(data, Decl(listFailure.ts, 29, 12)) >T : Symbol(T, Decl(listFailure.ts, 26, 15)) >List : Symbol(List, Decl(listFailure.ts, 24, 5)) >T : Symbol(T, Decl(listFailure.ts, 26, 15)) this.next = ListMakeEntry(data); ->this.next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>this.next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) >this : Symbol(List, Decl(listFailure.ts, 24, 5)) ->next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) >ListMakeEntry : Symbol(ListMakeEntry, Decl(listFailure.ts, 20, 5)) >data : Symbol(data, Decl(listFailure.ts, 29, 12)) return this.next; ->this.next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>this.next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) >this : Symbol(List, Decl(listFailure.ts, 24, 5)) ->next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) } popEntry(head: List): List { ->popEntry : Symbol(popEntry, Decl(listFailure.ts, 32, 9)) +>popEntry : Symbol(List.popEntry, Decl(listFailure.ts, 32, 9)) >head : Symbol(head, Decl(listFailure.ts, 34, 17)) >List : Symbol(List, Decl(listFailure.ts, 24, 5)) >T : Symbol(T, Decl(listFailure.ts, 26, 15)) @@ -109,9 +109,9 @@ module Editor { return (ListRemoveEntry(this.next)); >ListRemoveEntry : Symbol(ListRemoveEntry, Decl(listFailure.ts, 12, 5)) ->this.next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>this.next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) >this : Symbol(List, Decl(listFailure.ts, 24, 5)) ->next : Symbol(next, Decl(listFailure.ts, 26, 19)) +>next : Symbol(List.next, Decl(listFailure.ts, 26, 19)) } } diff --git a/tests/baselines/reference/localTypes1.symbols b/tests/baselines/reference/localTypes1.symbols index 53d4191ae61..3ee47086b26 100644 --- a/tests/baselines/reference/localTypes1.symbols +++ b/tests/baselines/reference/localTypes1.symbols @@ -15,14 +15,14 @@ function f1() { >C : Symbol(C, Decl(localTypes1.ts, 4, 5)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 5, 13)) +>x : Symbol(C.x, Decl(localTypes1.ts, 5, 13)) >E : Symbol(E, Decl(localTypes1.ts, 1, 15)) } interface I { >I : Symbol(I, Decl(localTypes1.ts, 7, 5)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 8, 17)) +>x : Symbol(I.x, Decl(localTypes1.ts, 8, 17)) >E : Symbol(E, Decl(localTypes1.ts, 1, 15)) } type A = I[]; @@ -64,14 +64,14 @@ function f2() { >C : Symbol(C, Decl(localTypes1.ts, 21, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 22, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 22, 17)) >E : Symbol(E, Decl(localTypes1.ts, 18, 18)) } interface I { >I : Symbol(I, Decl(localTypes1.ts, 24, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 25, 21)) +>x : Symbol(I.x, Decl(localTypes1.ts, 25, 21)) >E : Symbol(E, Decl(localTypes1.ts, 18, 18)) } type A = I[]; @@ -118,14 +118,14 @@ function f3(b: boolean) { >C : Symbol(C, Decl(localTypes1.ts, 41, 16)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 42, 21)) +>x : Symbol(C.x, Decl(localTypes1.ts, 42, 21)) >E : Symbol(E, Decl(localTypes1.ts, 37, 15)) } interface I { >I : Symbol(I, Decl(localTypes1.ts, 44, 13)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 45, 25)) +>x : Symbol(I.x, Decl(localTypes1.ts, 45, 25)) >E : Symbol(E, Decl(localTypes1.ts, 37, 15)) } type A = I[]; @@ -153,14 +153,14 @@ function f3(b: boolean) { >A : Symbol(A, Decl(localTypes1.ts, 53, 14)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 54, 21)) +>x : Symbol(A.x, Decl(localTypes1.ts, 54, 21)) >E : Symbol(E, Decl(localTypes1.ts, 37, 15)) } interface J { >J : Symbol(J, Decl(localTypes1.ts, 56, 13)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 57, 25)) +>x : Symbol(J.x, Decl(localTypes1.ts, 57, 25)) >E : Symbol(E, Decl(localTypes1.ts, 37, 15)) } type C = J[]; @@ -204,7 +204,7 @@ function f5() { >C : Symbol(C, Decl(localTypes1.ts, 72, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 73, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 73, 17)) >E : Symbol(E, Decl(localTypes1.ts, 69, 26)) } return new C(); @@ -225,7 +225,7 @@ function f5() { >C : Symbol(C, Decl(localTypes1.ts, 81, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 82, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 82, 17)) >E : Symbol(E, Decl(localTypes1.ts, 78, 20)) } return new C(); @@ -249,12 +249,12 @@ class A { >C : Symbol(C, Decl(localTypes1.ts, 93, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 94, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 94, 17)) >E : Symbol(E, Decl(localTypes1.ts, 90, 19)) } } m() { ->m : Symbol(m, Decl(localTypes1.ts, 97, 5)) +>m : Symbol(A.m, Decl(localTypes1.ts, 97, 5)) enum E { >E : Symbol(E, Decl(localTypes1.ts, 98, 9)) @@ -268,14 +268,14 @@ class A { >C : Symbol(C, Decl(localTypes1.ts, 101, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 102, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 102, 17)) >E : Symbol(E, Decl(localTypes1.ts, 98, 9)) } return new C(); >C : Symbol(C, Decl(localTypes1.ts, 101, 9)) } get p() { ->p : Symbol(p, Decl(localTypes1.ts, 106, 5)) +>p : Symbol(A.p, Decl(localTypes1.ts, 106, 5)) enum E { >E : Symbol(E, Decl(localTypes1.ts, 107, 13)) @@ -289,7 +289,7 @@ class A { >C : Symbol(C, Decl(localTypes1.ts, 110, 9)) x: E; ->x : Symbol(x, Decl(localTypes1.ts, 111, 17)) +>x : Symbol(C.x, Decl(localTypes1.ts, 111, 17)) >E : Symbol(E, Decl(localTypes1.ts, 107, 13)) } return new C(); @@ -304,7 +304,7 @@ function f6() { >A : Symbol(A, Decl(localTypes1.ts, 118, 15)) a: string; ->a : Symbol(a, Decl(localTypes1.ts, 119, 13)) +>a : Symbol(A.a, Decl(localTypes1.ts, 119, 13)) } function g() { >g : Symbol(g, Decl(localTypes1.ts, 121, 5)) @@ -314,7 +314,7 @@ function f6() { >A : Symbol(A, Decl(localTypes1.ts, 118, 15)) b: string; ->b : Symbol(b, Decl(localTypes1.ts, 123, 27)) +>b : Symbol(B.b, Decl(localTypes1.ts, 123, 27)) } function h() { >h : Symbol(h, Decl(localTypes1.ts, 125, 9)) @@ -324,7 +324,7 @@ function f6() { >B : Symbol(B, Decl(localTypes1.ts, 122, 18)) c: string; ->c : Symbol(c, Decl(localTypes1.ts, 127, 31)) +>c : Symbol(C.c, Decl(localTypes1.ts, 127, 31)) } var x = new C(); >x : Symbol(x, Decl(localTypes1.ts, 130, 15)) diff --git a/tests/baselines/reference/localTypes2.symbols b/tests/baselines/reference/localTypes2.symbols index 3054c6f552d..52ff438f049 100644 --- a/tests/baselines/reference/localTypes2.symbols +++ b/tests/baselines/reference/localTypes2.symbols @@ -9,8 +9,8 @@ function f1() { >C : Symbol(C, Decl(localTypes2.ts, 1, 18)) constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(localTypes2.ts, 3, 24)) ->y : Symbol(y, Decl(localTypes2.ts, 3, 41)) +>x : Symbol(C.x, Decl(localTypes2.ts, 3, 24)) +>y : Symbol(C.y, Decl(localTypes2.ts, 3, 41)) } return C; >C : Symbol(C, Decl(localTypes2.ts, 1, 18)) @@ -47,11 +47,11 @@ function f2() { >C : Symbol(C, Decl(localTypes2.ts, 14, 27)) public x = x; ->x : Symbol(x, Decl(localTypes2.ts, 15, 17)) +>x : Symbol(C.x, Decl(localTypes2.ts, 15, 17)) >x : Symbol(x, Decl(localTypes2.ts, 14, 15)) constructor(public y: number) { } ->y : Symbol(y, Decl(localTypes2.ts, 17, 24)) +>y : Symbol(C.y, Decl(localTypes2.ts, 17, 24)) } return C; >C : Symbol(C, Decl(localTypes2.ts, 14, 27)) @@ -89,11 +89,11 @@ function f3() { >C : Symbol(C, Decl(localTypes2.ts, 28, 38)) public x = x; ->x : Symbol(x, Decl(localTypes2.ts, 29, 17)) +>x : Symbol(C.x, Decl(localTypes2.ts, 29, 17)) >x : Symbol(x, Decl(localTypes2.ts, 28, 15)) public y = y; ->y : Symbol(y, Decl(localTypes2.ts, 30, 25)) +>y : Symbol(C.y, Decl(localTypes2.ts, 30, 25)) >y : Symbol(y, Decl(localTypes2.ts, 28, 25)) } return C; diff --git a/tests/baselines/reference/localTypes3.symbols b/tests/baselines/reference/localTypes3.symbols index fe7082e4577..c10b463d697 100644 --- a/tests/baselines/reference/localTypes3.symbols +++ b/tests/baselines/reference/localTypes3.symbols @@ -11,9 +11,9 @@ function f1() { >Y : Symbol(Y, Decl(localTypes3.ts, 2, 18)) constructor(public x: X, public y: Y) { } ->x : Symbol(x, Decl(localTypes3.ts, 3, 24)) +>x : Symbol(C.x, Decl(localTypes3.ts, 3, 24)) >X : Symbol(X, Decl(localTypes3.ts, 2, 16)) ->y : Symbol(y, Decl(localTypes3.ts, 3, 36)) +>y : Symbol(C.y, Decl(localTypes3.ts, 3, 36)) >Y : Symbol(Y, Decl(localTypes3.ts, 2, 18)) } return C; @@ -54,11 +54,11 @@ function f2() { >Y : Symbol(Y, Decl(localTypes3.ts, 15, 16)) public x = x; ->x : Symbol(x, Decl(localTypes3.ts, 15, 20)) +>x : Symbol(C.x, Decl(localTypes3.ts, 15, 20)) >x : Symbol(x, Decl(localTypes3.ts, 14, 18)) constructor(public y: Y) { } ->y : Symbol(y, Decl(localTypes3.ts, 17, 24)) +>y : Symbol(C.y, Decl(localTypes3.ts, 17, 24)) >Y : Symbol(Y, Decl(localTypes3.ts, 15, 16)) } return C; @@ -101,11 +101,11 @@ function f3() { >C : Symbol(C, Decl(localTypes3.ts, 28, 34)) public x = x; ->x : Symbol(x, Decl(localTypes3.ts, 29, 17)) +>x : Symbol(C.x, Decl(localTypes3.ts, 29, 17)) >x : Symbol(x, Decl(localTypes3.ts, 28, 21)) public y = y; ->y : Symbol(y, Decl(localTypes3.ts, 30, 25)) +>y : Symbol(C.y, Decl(localTypes3.ts, 30, 25)) >y : Symbol(y, Decl(localTypes3.ts, 28, 26)) } return C; diff --git a/tests/baselines/reference/localTypes5.symbols b/tests/baselines/reference/localTypes5.symbols index 41851a617de..fadbc026c9c 100644 --- a/tests/baselines/reference/localTypes5.symbols +++ b/tests/baselines/reference/localTypes5.symbols @@ -7,7 +7,7 @@ function foo() { >X : Symbol(X, Decl(localTypes5.ts, 0, 19)) m() { ->m : Symbol(m, Decl(localTypes5.ts, 1, 13)) +>m : Symbol(X.m, Decl(localTypes5.ts, 1, 13)) >B : Symbol(B, Decl(localTypes5.ts, 2, 10)) >C : Symbol(C, Decl(localTypes5.ts, 2, 12)) diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols b/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols index b42b9d7922e..d94e5d36074 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(logicalNotOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(logicalNotOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(logicalNotOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols b/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols index 4f277a8db54..25fac1015d2 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(logicalNotOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols index e91c8b71572..50432fe2333 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(logicalNotOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(logicalNotOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(logicalNotOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/m7Bugs.symbols b/tests/baselines/reference/m7Bugs.symbols index be6d798a8a5..3dd3ab25102 100644 --- a/tests/baselines/reference/m7Bugs.symbols +++ b/tests/baselines/reference/m7Bugs.symbols @@ -4,7 +4,7 @@ interface ISomething { >ISomething : Symbol(ISomething, Decl(m7Bugs.ts, 0, 0)) something: number; ->something : Symbol(something, Decl(m7Bugs.ts, 1, 22)) +>something : Symbol(ISomething.something, Decl(m7Bugs.ts, 1, 22)) } var s: ISomething = ({ }); @@ -16,7 +16,7 @@ var s: ISomething = ({ }); // scenario 2 interface A { x: string; } >A : Symbol(A, Decl(m7Bugs.ts, 5, 38)) ->x : Symbol(x, Decl(m7Bugs.ts, 9, 13)) +>x : Symbol(A.x, Decl(m7Bugs.ts, 9, 13)) interface B extends A { } >B : Symbol(B, Decl(m7Bugs.ts, 9, 26)) @@ -31,7 +31,7 @@ class C1 { >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) public x: string; ->x : Symbol(x, Decl(m7Bugs.ts, 15, 10)) +>x : Symbol(C1.x, Decl(m7Bugs.ts, 15, 10)) } class C2 extends C1 {} diff --git a/tests/baselines/reference/memberFunctionsWithPublicOverloads.symbols b/tests/baselines/reference/memberFunctionsWithPublicOverloads.symbols index 435af50a5f7..66161e3e514 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicOverloads.symbols +++ b/tests/baselines/reference/memberFunctionsWithPublicOverloads.symbols @@ -3,34 +3,34 @@ class C { >C : Symbol(C, Decl(memberFunctionsWithPublicOverloads.ts, 0, 0)) public foo(x: number); ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) +>foo : Symbol(C.foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 1, 15)) public foo(x: number, y: string); ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) +>foo : Symbol(C.foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 2, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 2, 25)) public foo(x: any, y?: any) { } ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) +>foo : Symbol(C.foo, Decl(memberFunctionsWithPublicOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicOverloads.ts, 1, 26), Decl(memberFunctionsWithPublicOverloads.ts, 2, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 3, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 3, 22)) public bar(x: 'hi'); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) +>bar : Symbol(C.bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 5, 15)) public bar(x: string); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) +>bar : Symbol(C.bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 6, 15)) public bar(x: number, y: string); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) +>bar : Symbol(C.bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 7, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 7, 25)) public bar(x: any, y?: any) { } ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) +>bar : Symbol(C.bar, Decl(memberFunctionsWithPublicOverloads.ts, 3, 35), Decl(memberFunctionsWithPublicOverloads.ts, 5, 24), Decl(memberFunctionsWithPublicOverloads.ts, 6, 26), Decl(memberFunctionsWithPublicOverloads.ts, 7, 37)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 8, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 8, 22)) @@ -72,38 +72,38 @@ class D { >T : Symbol(T, Decl(memberFunctionsWithPublicOverloads.ts, 20, 8)) public foo(x: number); ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) +>foo : Symbol(D.foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 21, 15)) public foo(x: T, y: T); ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) +>foo : Symbol(D.foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 22, 15)) >T : Symbol(T, Decl(memberFunctionsWithPublicOverloads.ts, 20, 8)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 22, 20)) >T : Symbol(T, Decl(memberFunctionsWithPublicOverloads.ts, 20, 8)) public foo(x: any, y?: any) { } ->foo : Symbol(foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) +>foo : Symbol(D.foo, Decl(memberFunctionsWithPublicOverloads.ts, 20, 12), Decl(memberFunctionsWithPublicOverloads.ts, 21, 26), Decl(memberFunctionsWithPublicOverloads.ts, 22, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 23, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 23, 22)) public bar(x: 'hi'); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) +>bar : Symbol(D.bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 25, 15)) public bar(x: string); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) +>bar : Symbol(D.bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 26, 15)) public bar(x: T, y: T); ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) +>bar : Symbol(D.bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 27, 15)) >T : Symbol(T, Decl(memberFunctionsWithPublicOverloads.ts, 20, 8)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 27, 20)) >T : Symbol(T, Decl(memberFunctionsWithPublicOverloads.ts, 20, 8)) public bar(x: any, y?: any) { } ->bar : Symbol(bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) +>bar : Symbol(D.bar, Decl(memberFunctionsWithPublicOverloads.ts, 23, 35), Decl(memberFunctionsWithPublicOverloads.ts, 25, 24), Decl(memberFunctionsWithPublicOverloads.ts, 26, 26), Decl(memberFunctionsWithPublicOverloads.ts, 27, 27)) >x : Symbol(x, Decl(memberFunctionsWithPublicOverloads.ts, 28, 15)) >y : Symbol(y, Decl(memberFunctionsWithPublicOverloads.ts, 28, 22)) diff --git a/tests/baselines/reference/memberVariableDeclarations1.symbols b/tests/baselines/reference/memberVariableDeclarations1.symbols index fbd3529262b..d2c76c705c8 100644 --- a/tests/baselines/reference/memberVariableDeclarations1.symbols +++ b/tests/baselines/reference/memberVariableDeclarations1.symbols @@ -5,20 +5,20 @@ class Employee { >Employee : Symbol(Employee, Decl(memberVariableDeclarations1.ts, 0, 0)) public name: string; ->name : Symbol(name, Decl(memberVariableDeclarations1.ts, 2, 16)) +>name : Symbol(Employee.name, Decl(memberVariableDeclarations1.ts, 2, 16)) public address: string; ->address : Symbol(address, Decl(memberVariableDeclarations1.ts, 3, 24)) +>address : Symbol(Employee.address, Decl(memberVariableDeclarations1.ts, 3, 24)) public retired = false; ->retired : Symbol(retired, Decl(memberVariableDeclarations1.ts, 4, 27)) +>retired : Symbol(Employee.retired, Decl(memberVariableDeclarations1.ts, 4, 27)) public manager: Employee = null; ->manager : Symbol(manager, Decl(memberVariableDeclarations1.ts, 5, 27)) +>manager : Symbol(Employee.manager, Decl(memberVariableDeclarations1.ts, 5, 27)) >Employee : Symbol(Employee, Decl(memberVariableDeclarations1.ts, 0, 0)) public reports: Employee[] = []; ->reports : Symbol(reports, Decl(memberVariableDeclarations1.ts, 6, 36)) +>reports : Symbol(Employee.reports, Decl(memberVariableDeclarations1.ts, 6, 36)) >Employee : Symbol(Employee, Decl(memberVariableDeclarations1.ts, 0, 0)) } @@ -26,37 +26,37 @@ class Employee2 { >Employee2 : Symbol(Employee2, Decl(memberVariableDeclarations1.ts, 8, 1)) public name: string; ->name : Symbol(name, Decl(memberVariableDeclarations1.ts, 10, 17)) +>name : Symbol(Employee2.name, Decl(memberVariableDeclarations1.ts, 10, 17)) public address: string; ->address : Symbol(address, Decl(memberVariableDeclarations1.ts, 11, 24)) +>address : Symbol(Employee2.address, Decl(memberVariableDeclarations1.ts, 11, 24)) public retired: boolean; ->retired : Symbol(retired, Decl(memberVariableDeclarations1.ts, 12, 27)) +>retired : Symbol(Employee2.retired, Decl(memberVariableDeclarations1.ts, 12, 27)) public manager: Employee; ->manager : Symbol(manager, Decl(memberVariableDeclarations1.ts, 13, 28)) +>manager : Symbol(Employee2.manager, Decl(memberVariableDeclarations1.ts, 13, 28)) >Employee : Symbol(Employee, Decl(memberVariableDeclarations1.ts, 0, 0)) public reports: Employee[]; ->reports : Symbol(reports, Decl(memberVariableDeclarations1.ts, 14, 29)) +>reports : Symbol(Employee2.reports, Decl(memberVariableDeclarations1.ts, 14, 29)) >Employee : Symbol(Employee, Decl(memberVariableDeclarations1.ts, 0, 0)) constructor() { this.retired = false; ->this.retired : Symbol(retired, Decl(memberVariableDeclarations1.ts, 12, 27)) +>this.retired : Symbol(Employee2.retired, Decl(memberVariableDeclarations1.ts, 12, 27)) >this : Symbol(Employee2, Decl(memberVariableDeclarations1.ts, 8, 1)) ->retired : Symbol(retired, Decl(memberVariableDeclarations1.ts, 12, 27)) +>retired : Symbol(Employee2.retired, Decl(memberVariableDeclarations1.ts, 12, 27)) this.manager = null; ->this.manager : Symbol(manager, Decl(memberVariableDeclarations1.ts, 13, 28)) +>this.manager : Symbol(Employee2.manager, Decl(memberVariableDeclarations1.ts, 13, 28)) >this : Symbol(Employee2, Decl(memberVariableDeclarations1.ts, 8, 1)) ->manager : Symbol(manager, Decl(memberVariableDeclarations1.ts, 13, 28)) +>manager : Symbol(Employee2.manager, Decl(memberVariableDeclarations1.ts, 13, 28)) this.reports = []; ->this.reports : Symbol(reports, Decl(memberVariableDeclarations1.ts, 14, 29)) +>this.reports : Symbol(Employee2.reports, Decl(memberVariableDeclarations1.ts, 14, 29)) >this : Symbol(Employee2, Decl(memberVariableDeclarations1.ts, 8, 1)) ->reports : Symbol(reports, Decl(memberVariableDeclarations1.ts, 14, 29)) +>reports : Symbol(Employee2.reports, Decl(memberVariableDeclarations1.ts, 14, 29)) } } diff --git a/tests/baselines/reference/mergeThreeInterfaces.symbols b/tests/baselines/reference/mergeThreeInterfaces.symbols index 24bebf49de6..3d73c41948b 100644 --- a/tests/baselines/reference/mergeThreeInterfaces.symbols +++ b/tests/baselines/reference/mergeThreeInterfaces.symbols @@ -6,21 +6,21 @@ interface A { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 0, 0), Decl(mergeThreeInterfaces.ts, 5, 1), Decl(mergeThreeInterfaces.ts, 9, 1)) foo: string; ->foo : Symbol(foo, Decl(mergeThreeInterfaces.ts, 3, 13)) +>foo : Symbol(A.foo, Decl(mergeThreeInterfaces.ts, 3, 13)) } interface A { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 0, 0), Decl(mergeThreeInterfaces.ts, 5, 1), Decl(mergeThreeInterfaces.ts, 9, 1)) bar: number; ->bar : Symbol(bar, Decl(mergeThreeInterfaces.ts, 7, 13)) +>bar : Symbol(A.bar, Decl(mergeThreeInterfaces.ts, 7, 13)) } interface A { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 0, 0), Decl(mergeThreeInterfaces.ts, 5, 1), Decl(mergeThreeInterfaces.ts, 9, 1)) baz: boolean; ->baz : Symbol(baz, Decl(mergeThreeInterfaces.ts, 11, 13)) +>baz : Symbol(A.baz, Decl(mergeThreeInterfaces.ts, 11, 13)) } var a: A; @@ -51,7 +51,7 @@ interface B { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) foo: T; ->foo : Symbol(foo, Decl(mergeThreeInterfaces.ts, 21, 16)) +>foo : Symbol(B.foo, Decl(mergeThreeInterfaces.ts, 21, 16)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) } @@ -60,7 +60,7 @@ interface B { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) bar: T; ->bar : Symbol(bar, Decl(mergeThreeInterfaces.ts, 25, 16)) +>bar : Symbol(B.bar, Decl(mergeThreeInterfaces.ts, 25, 16)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) } @@ -69,7 +69,7 @@ interface B { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) baz: T; ->baz : Symbol(baz, Decl(mergeThreeInterfaces.ts, 29, 16)) +>baz : Symbol(B.baz, Decl(mergeThreeInterfaces.ts, 29, 16)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 21, 12), Decl(mergeThreeInterfaces.ts, 25, 12), Decl(mergeThreeInterfaces.ts, 29, 12)) } @@ -103,21 +103,21 @@ module M { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 39, 10), Decl(mergeThreeInterfaces.ts, 42, 5), Decl(mergeThreeInterfaces.ts, 46, 5)) foo: string; ->foo : Symbol(foo, Decl(mergeThreeInterfaces.ts, 40, 17)) +>foo : Symbol(A.foo, Decl(mergeThreeInterfaces.ts, 40, 17)) } interface A { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 39, 10), Decl(mergeThreeInterfaces.ts, 42, 5), Decl(mergeThreeInterfaces.ts, 46, 5)) bar: number; ->bar : Symbol(bar, Decl(mergeThreeInterfaces.ts, 44, 17)) +>bar : Symbol(A.bar, Decl(mergeThreeInterfaces.ts, 44, 17)) } interface A { >A : Symbol(A, Decl(mergeThreeInterfaces.ts, 39, 10), Decl(mergeThreeInterfaces.ts, 42, 5), Decl(mergeThreeInterfaces.ts, 46, 5)) baz: boolean; ->baz : Symbol(baz, Decl(mergeThreeInterfaces.ts, 48, 17)) +>baz : Symbol(A.baz, Decl(mergeThreeInterfaces.ts, 48, 17)) } var a: A; @@ -149,7 +149,7 @@ module M { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) foo: T; ->foo : Symbol(foo, Decl(mergeThreeInterfaces.ts, 59, 20)) +>foo : Symbol(B.foo, Decl(mergeThreeInterfaces.ts, 59, 20)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) } @@ -158,7 +158,7 @@ module M { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) bar: T; ->bar : Symbol(bar, Decl(mergeThreeInterfaces.ts, 63, 20)) +>bar : Symbol(B.bar, Decl(mergeThreeInterfaces.ts, 63, 20)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) } @@ -167,7 +167,7 @@ module M { >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) baz: T; ->baz : Symbol(baz, Decl(mergeThreeInterfaces.ts, 67, 20)) +>baz : Symbol(B.baz, Decl(mergeThreeInterfaces.ts, 67, 20)) >T : Symbol(T, Decl(mergeThreeInterfaces.ts, 59, 16), Decl(mergeThreeInterfaces.ts, 63, 16), Decl(mergeThreeInterfaces.ts, 67, 16)) } diff --git a/tests/baselines/reference/mergeThreeInterfaces2.symbols b/tests/baselines/reference/mergeThreeInterfaces2.symbols index 66942fd660d..8499e605f45 100644 --- a/tests/baselines/reference/mergeThreeInterfaces2.symbols +++ b/tests/baselines/reference/mergeThreeInterfaces2.symbols @@ -9,7 +9,7 @@ module M2 { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 3, 11), Decl(mergeThreeInterfaces2.ts, 13, 11), Decl(mergeThreeInterfaces2.ts, 16, 5)) foo: string; ->foo : Symbol(foo, Decl(mergeThreeInterfaces2.ts, 4, 24)) +>foo : Symbol(A.foo, Decl(mergeThreeInterfaces2.ts, 4, 24)) } var a: A; @@ -36,14 +36,14 @@ module M2 { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 3, 11), Decl(mergeThreeInterfaces2.ts, 13, 11), Decl(mergeThreeInterfaces2.ts, 16, 5)) bar: number; ->bar : Symbol(bar, Decl(mergeThreeInterfaces2.ts, 14, 24)) +>bar : Symbol(A.bar, Decl(mergeThreeInterfaces2.ts, 14, 24)) } export interface A { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 3, 11), Decl(mergeThreeInterfaces2.ts, 13, 11), Decl(mergeThreeInterfaces2.ts, 16, 5)) baz: boolean; ->baz : Symbol(baz, Decl(mergeThreeInterfaces2.ts, 18, 24)) +>baz : Symbol(A.baz, Decl(mergeThreeInterfaces2.ts, 18, 24)) } var a: A; @@ -80,7 +80,7 @@ module M2 { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 30, 22), Decl(mergeThreeInterfaces2.ts, 42, 22), Decl(mergeThreeInterfaces2.ts, 56, 22)) foo: string; ->foo : Symbol(foo, Decl(mergeThreeInterfaces2.ts, 31, 28)) +>foo : Symbol(A.foo, Decl(mergeThreeInterfaces2.ts, 31, 28)) } var a: A; @@ -111,7 +111,7 @@ module M2 { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 30, 22), Decl(mergeThreeInterfaces2.ts, 42, 22), Decl(mergeThreeInterfaces2.ts, 56, 22)) bar: number; ->bar : Symbol(bar, Decl(mergeThreeInterfaces2.ts, 43, 28)) +>bar : Symbol(A.bar, Decl(mergeThreeInterfaces2.ts, 43, 28)) } var a: A; @@ -148,7 +148,7 @@ module M2 { >A : Symbol(A, Decl(mergeThreeInterfaces2.ts, 30, 22), Decl(mergeThreeInterfaces2.ts, 42, 22), Decl(mergeThreeInterfaces2.ts, 56, 22)) baz: boolean; ->baz : Symbol(baz, Decl(mergeThreeInterfaces2.ts, 57, 28)) +>baz : Symbol(A.baz, Decl(mergeThreeInterfaces2.ts, 57, 28)) } var a: A; diff --git a/tests/baselines/reference/mergeTwoInterfaces.symbols b/tests/baselines/reference/mergeTwoInterfaces.symbols index d34ad6ec9a2..c2c78eb83e8 100644 --- a/tests/baselines/reference/mergeTwoInterfaces.symbols +++ b/tests/baselines/reference/mergeTwoInterfaces.symbols @@ -6,14 +6,14 @@ interface A { >A : Symbol(A, Decl(mergeTwoInterfaces.ts, 0, 0), Decl(mergeTwoInterfaces.ts, 5, 1)) foo: string; ->foo : Symbol(foo, Decl(mergeTwoInterfaces.ts, 3, 13)) +>foo : Symbol(A.foo, Decl(mergeTwoInterfaces.ts, 3, 13)) } interface A { >A : Symbol(A, Decl(mergeTwoInterfaces.ts, 0, 0), Decl(mergeTwoInterfaces.ts, 5, 1)) bar: number; ->bar : Symbol(bar, Decl(mergeTwoInterfaces.ts, 7, 13)) +>bar : Symbol(A.bar, Decl(mergeTwoInterfaces.ts, 7, 13)) } var a: A; @@ -38,10 +38,10 @@ interface B { >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 16, 12), Decl(mergeTwoInterfaces.ts, 21, 12)) baz: string; ->baz : Symbol(baz, Decl(mergeTwoInterfaces.ts, 16, 16)) +>baz : Symbol(B.baz, Decl(mergeTwoInterfaces.ts, 16, 16)) foo: T; ->foo : Symbol(foo, Decl(mergeTwoInterfaces.ts, 17, 16)) +>foo : Symbol(B.foo, Decl(mergeTwoInterfaces.ts, 17, 16)) >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 16, 12), Decl(mergeTwoInterfaces.ts, 21, 12)) } @@ -50,7 +50,7 @@ interface B { >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 16, 12), Decl(mergeTwoInterfaces.ts, 21, 12)) bar: T; ->bar : Symbol(bar, Decl(mergeTwoInterfaces.ts, 21, 16)) +>bar : Symbol(B.bar, Decl(mergeTwoInterfaces.ts, 21, 16)) >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 16, 12), Decl(mergeTwoInterfaces.ts, 21, 12)) } @@ -78,14 +78,14 @@ module M { >A : Symbol(A, Decl(mergeTwoInterfaces.ts, 30, 10), Decl(mergeTwoInterfaces.ts, 33, 5)) foo: string; ->foo : Symbol(foo, Decl(mergeTwoInterfaces.ts, 31, 17)) +>foo : Symbol(A.foo, Decl(mergeTwoInterfaces.ts, 31, 17)) } interface A { >A : Symbol(A, Decl(mergeTwoInterfaces.ts, 30, 10), Decl(mergeTwoInterfaces.ts, 33, 5)) bar: number; ->bar : Symbol(bar, Decl(mergeTwoInterfaces.ts, 35, 17)) +>bar : Symbol(A.bar, Decl(mergeTwoInterfaces.ts, 35, 17)) } var a: A; @@ -110,7 +110,7 @@ module M { >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 44, 16), Decl(mergeTwoInterfaces.ts, 48, 16)) foo: T; ->foo : Symbol(foo, Decl(mergeTwoInterfaces.ts, 44, 20)) +>foo : Symbol(B.foo, Decl(mergeTwoInterfaces.ts, 44, 20)) >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 44, 16), Decl(mergeTwoInterfaces.ts, 48, 16)) } @@ -119,7 +119,7 @@ module M { >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 44, 16), Decl(mergeTwoInterfaces.ts, 48, 16)) bar: T; ->bar : Symbol(bar, Decl(mergeTwoInterfaces.ts, 48, 20)) +>bar : Symbol(B.bar, Decl(mergeTwoInterfaces.ts, 48, 20)) >T : Symbol(T, Decl(mergeTwoInterfaces.ts, 44, 16), Decl(mergeTwoInterfaces.ts, 48, 16)) } diff --git a/tests/baselines/reference/mergeTwoInterfaces2.symbols b/tests/baselines/reference/mergeTwoInterfaces2.symbols index 661fbdc14d4..ea438343ad9 100644 --- a/tests/baselines/reference/mergeTwoInterfaces2.symbols +++ b/tests/baselines/reference/mergeTwoInterfaces2.symbols @@ -9,7 +9,7 @@ module M2 { >A : Symbol(A, Decl(mergeTwoInterfaces2.ts, 3, 11), Decl(mergeTwoInterfaces2.ts, 13, 11)) foo: string; ->foo : Symbol(foo, Decl(mergeTwoInterfaces2.ts, 4, 24)) +>foo : Symbol(A.foo, Decl(mergeTwoInterfaces2.ts, 4, 24)) } var a: A; @@ -36,7 +36,7 @@ module M2 { >A : Symbol(A, Decl(mergeTwoInterfaces2.ts, 3, 11), Decl(mergeTwoInterfaces2.ts, 13, 11)) bar: number; ->bar : Symbol(bar, Decl(mergeTwoInterfaces2.ts, 14, 24)) +>bar : Symbol(A.bar, Decl(mergeTwoInterfaces2.ts, 14, 24)) } var a: A; @@ -67,7 +67,7 @@ module M2 { >A : Symbol(A, Decl(mergeTwoInterfaces2.ts, 25, 22), Decl(mergeTwoInterfaces2.ts, 37, 22)) foo: string; ->foo : Symbol(foo, Decl(mergeTwoInterfaces2.ts, 26, 28)) +>foo : Symbol(A.foo, Decl(mergeTwoInterfaces2.ts, 26, 28)) } var a: A; @@ -98,7 +98,7 @@ module M2 { >A : Symbol(A, Decl(mergeTwoInterfaces2.ts, 25, 22), Decl(mergeTwoInterfaces2.ts, 37, 22)) bar: number; ->bar : Symbol(bar, Decl(mergeTwoInterfaces2.ts, 38, 28)) +>bar : Symbol(A.bar, Decl(mergeTwoInterfaces2.ts, 38, 28)) } var a: A; diff --git a/tests/baselines/reference/mergedClassInterface.symbols b/tests/baselines/reference/mergedClassInterface.symbols index 1c452851780..8de9a9557c1 100644 --- a/tests/baselines/reference/mergedClassInterface.symbols +++ b/tests/baselines/reference/mergedClassInterface.symbols @@ -29,28 +29,28 @@ interface C5 { >C5 : Symbol(C5, Decl(file1.ts, 16, 12), Decl(file1.ts, 20, 1), Decl(file1.ts, 24, 1), Decl(file1.ts, 28, 1)) x1: number; ->x1 : Symbol(x1, Decl(file1.ts, 18, 14)) +>x1 : Symbol(C5.x1, Decl(file1.ts, 18, 14)) } declare class C5 { >C5 : Symbol(C5, Decl(file1.ts, 16, 12), Decl(file1.ts, 20, 1), Decl(file1.ts, 24, 1), Decl(file1.ts, 28, 1)) x2: number; ->x2 : Symbol(x2, Decl(file1.ts, 22, 18)) +>x2 : Symbol(C5.x2, Decl(file1.ts, 22, 18)) } interface C5 { >C5 : Symbol(C5, Decl(file1.ts, 16, 12), Decl(file1.ts, 20, 1), Decl(file1.ts, 24, 1), Decl(file1.ts, 28, 1)) x3: number; ->x3 : Symbol(x3, Decl(file1.ts, 26, 14)) +>x3 : Symbol(C5.x3, Decl(file1.ts, 26, 14)) } interface C5 { >C5 : Symbol(C5, Decl(file1.ts, 16, 12), Decl(file1.ts, 20, 1), Decl(file1.ts, 24, 1), Decl(file1.ts, 28, 1)) x4: number; ->x4 : Symbol(x4, Decl(file1.ts, 30, 14)) +>x4 : Symbol(C5.x4, Decl(file1.ts, 30, 14)) } // checks if properties actually were merged diff --git a/tests/baselines/reference/mergedDeclarations1.symbols b/tests/baselines/reference/mergedDeclarations1.symbols index 733b9c4ee32..1e84f89aacd 100644 --- a/tests/baselines/reference/mergedDeclarations1.symbols +++ b/tests/baselines/reference/mergedDeclarations1.symbols @@ -3,10 +3,10 @@ interface Point { >Point : Symbol(Point, Decl(mergedDeclarations1.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(mergedDeclarations1.ts, 0, 17)) +>x : Symbol(Point.x, Decl(mergedDeclarations1.ts, 0, 17)) y: number; ->y : Symbol(y, Decl(mergedDeclarations1.ts, 1, 14)) +>y : Symbol(Point.y, Decl(mergedDeclarations1.ts, 1, 14)) } function point(x: number, y: number): Point { >point : Symbol(point, Decl(mergedDeclarations1.ts, 3, 1), Decl(mergedDeclarations1.ts, 6, 1)) diff --git a/tests/baselines/reference/mergedDeclarations5.symbols b/tests/baselines/reference/mergedDeclarations5.symbols index abe1743de1c..1cbb5c333ba 100644 --- a/tests/baselines/reference/mergedDeclarations5.symbols +++ b/tests/baselines/reference/mergedDeclarations5.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) protected foo() {} ->foo : Symbol(foo, Decl(a.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(a.ts, 0, 9)) } === tests/cases/compiler/b.ts === interface A { } @@ -14,5 +14,5 @@ class B extends A { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) protected foo() {} ->foo : Symbol(foo, Decl(b.ts, 2, 19)) +>foo : Symbol(B.foo, Decl(b.ts, 2, 19)) } diff --git a/tests/baselines/reference/mergedDeclarations6.symbols b/tests/baselines/reference/mergedDeclarations6.symbols index b0d49532384..a51dcf75e9c 100644 --- a/tests/baselines/reference/mergedDeclarations6.symbols +++ b/tests/baselines/reference/mergedDeclarations6.symbols @@ -4,16 +4,16 @@ export class A { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 2, 22)) protected protected: any; ->protected : Symbol(protected, Decl(a.ts, 1, 16)) +>protected : Symbol(A.protected, Decl(a.ts, 1, 16)) protected setProtected(val: any) { ->setProtected : Symbol(setProtected, Decl(a.ts, 2, 29)) +>setProtected : Symbol(A.setProtected, Decl(a.ts, 2, 29)) >val : Symbol(val, Decl(a.ts, 4, 27)) this.protected = val; ->this.protected : Symbol(protected, Decl(a.ts, 1, 16)) +>this.protected : Symbol(A.protected, Decl(a.ts, 1, 16)) >this : Symbol(A, Decl(a.ts, 0, 0), Decl(b.ts, 2, 22)) ->protected : Symbol(protected, Decl(a.ts, 1, 16)) +>protected : Symbol(A.protected, Decl(a.ts, 1, 16)) >val : Symbol(val, Decl(a.ts, 4, 27)) } } @@ -32,7 +32,7 @@ export class B extends A { >A : Symbol(A, Decl(b.ts, 0, 8)) protected setProtected() { ->setProtected : Symbol(setProtected, Decl(b.ts, 6, 26)) +>setProtected : Symbol(B.setProtected, Decl(b.ts, 6, 26)) } } diff --git a/tests/baselines/reference/mergedInheritedClassInterface.symbols b/tests/baselines/reference/mergedInheritedClassInterface.symbols index 5f4ae67df6f..b829ba073d8 100644 --- a/tests/baselines/reference/mergedInheritedClassInterface.symbols +++ b/tests/baselines/reference/mergedInheritedClassInterface.symbols @@ -3,20 +3,20 @@ interface BaseInterface { >BaseInterface : Symbol(BaseInterface, Decl(mergedInheritedClassInterface.ts, 0, 0)) required: number; ->required : Symbol(required, Decl(mergedInheritedClassInterface.ts, 0, 25)) +>required : Symbol(BaseInterface.required, Decl(mergedInheritedClassInterface.ts, 0, 25)) optional?: number; ->optional : Symbol(optional, Decl(mergedInheritedClassInterface.ts, 1, 21)) +>optional : Symbol(BaseInterface.optional, Decl(mergedInheritedClassInterface.ts, 1, 21)) } class BaseClass { >BaseClass : Symbol(BaseClass, Decl(mergedInheritedClassInterface.ts, 3, 1)) baseMethod() { } ->baseMethod : Symbol(baseMethod, Decl(mergedInheritedClassInterface.ts, 5, 17)) +>baseMethod : Symbol(BaseClass.baseMethod, Decl(mergedInheritedClassInterface.ts, 5, 17)) baseNumber: number; ->baseNumber : Symbol(baseNumber, Decl(mergedInheritedClassInterface.ts, 6, 20)) +>baseNumber : Symbol(BaseClass.baseNumber, Decl(mergedInheritedClassInterface.ts, 6, 20)) } interface Child extends BaseInterface { @@ -24,7 +24,7 @@ interface Child extends BaseInterface { >BaseInterface : Symbol(BaseInterface, Decl(mergedInheritedClassInterface.ts, 0, 0)) additional: number; ->additional : Symbol(additional, Decl(mergedInheritedClassInterface.ts, 10, 39)) +>additional : Symbol(Child.additional, Decl(mergedInheritedClassInterface.ts, 10, 39)) } class Child extends BaseClass { @@ -32,10 +32,10 @@ class Child extends BaseClass { >BaseClass : Symbol(BaseClass, Decl(mergedInheritedClassInterface.ts, 3, 1)) classNumber: number; ->classNumber : Symbol(classNumber, Decl(mergedInheritedClassInterface.ts, 14, 31)) +>classNumber : Symbol(Child.classNumber, Decl(mergedInheritedClassInterface.ts, 14, 31)) method() { } ->method : Symbol(method, Decl(mergedInheritedClassInterface.ts, 15, 24)) +>method : Symbol(Child.method, Decl(mergedInheritedClassInterface.ts, 15, 24)) } interface ChildNoBaseClass extends BaseInterface { @@ -43,16 +43,16 @@ interface ChildNoBaseClass extends BaseInterface { >BaseInterface : Symbol(BaseInterface, Decl(mergedInheritedClassInterface.ts, 0, 0)) additional2: string; ->additional2 : Symbol(additional2, Decl(mergedInheritedClassInterface.ts, 19, 50)) +>additional2 : Symbol(ChildNoBaseClass.additional2, Decl(mergedInheritedClassInterface.ts, 19, 50)) } class ChildNoBaseClass { >ChildNoBaseClass : Symbol(ChildNoBaseClass, Decl(mergedInheritedClassInterface.ts, 17, 1), Decl(mergedInheritedClassInterface.ts, 21, 1)) classString: string; ->classString : Symbol(classString, Decl(mergedInheritedClassInterface.ts, 22, 24)) +>classString : Symbol(ChildNoBaseClass.classString, Decl(mergedInheritedClassInterface.ts, 22, 24)) method2() { } ->method2 : Symbol(method2, Decl(mergedInheritedClassInterface.ts, 23, 24)) +>method2 : Symbol(ChildNoBaseClass.method2, Decl(mergedInheritedClassInterface.ts, 23, 24)) } class Grandchild extends ChildNoBaseClass { >Grandchild : Symbol(Grandchild, Decl(mergedInheritedClassInterface.ts, 25, 1)) diff --git a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols index 78383c29377..12be101789d 100644 --- a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols +++ b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols @@ -3,14 +3,14 @@ interface D { bar(): number; } >D : Symbol(D, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 0, 0)) ->bar : Symbol(bar, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 2, 13)) +>bar : Symbol(D.bar, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 2, 13)) interface C extends D { >C : Symbol(C, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 1, 30), Decl(mergedInterfaceFromMultipleFiles1_1.ts, 2, 30)) >D : Symbol(D, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 0, 0)) b(): Date; ->b : Symbol(b, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 4, 23)) +>b : Symbol(C.b, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 4, 23)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } @@ -47,13 +47,13 @@ var e: Date = c.b(); interface I { foo(): string; } >I : Symbol(I, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 0, 0)) ->foo : Symbol(foo, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 1, 13)) +>foo : Symbol(I.foo, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 1, 13)) interface C extends I { >C : Symbol(C, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 1, 30), Decl(mergedInterfaceFromMultipleFiles1_1.ts, 2, 30)) >I : Symbol(I, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 0, 0)) a(): number; ->a : Symbol(a, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 3, 23)) +>a : Symbol(C.a, Decl(mergedInterfaceFromMultipleFiles1_0.ts, 3, 23)) } diff --git a/tests/baselines/reference/mergedInterfacesWithMultipleBases.symbols b/tests/baselines/reference/mergedInterfacesWithMultipleBases.symbols index b3fe87bca29..c4275b45908 100644 --- a/tests/baselines/reference/mergedInterfacesWithMultipleBases.symbols +++ b/tests/baselines/reference/mergedInterfacesWithMultipleBases.symbols @@ -6,14 +6,14 @@ class C { >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases.ts, 0, 0)) a: number; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases.ts, 3, 9)) +>a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases.ts, 3, 9)) } class C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases.ts, 5, 1)) b: number; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases.ts, 7, 10)) +>b : Symbol(C2.b, Decl(mergedInterfacesWithMultipleBases.ts, 7, 10)) } interface A extends C { @@ -21,7 +21,7 @@ interface A extends C { >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases.ts, 0, 0)) y: string; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases.ts, 11, 23)) +>y : Symbol(A.y, Decl(mergedInterfacesWithMultipleBases.ts, 11, 23)) } interface A extends C2 { @@ -29,7 +29,7 @@ interface A extends C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases.ts, 5, 1)) z: string; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases.ts, 15, 24)) +>z : Symbol(A.z, Decl(mergedInterfacesWithMultipleBases.ts, 15, 24)) } class D implements A { @@ -37,16 +37,16 @@ class D implements A { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases.ts, 9, 1), Decl(mergedInterfacesWithMultipleBases.ts, 13, 1)) a: number; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases.ts, 19, 22)) +>a : Symbol(D.a, Decl(mergedInterfacesWithMultipleBases.ts, 19, 22)) b: number; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases.ts, 20, 14)) +>b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases.ts, 20, 14)) y: string; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases.ts, 21, 14)) +>y : Symbol(D.y, Decl(mergedInterfacesWithMultipleBases.ts, 21, 14)) z: string; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases.ts, 22, 14)) +>z : Symbol(D.z, Decl(mergedInterfacesWithMultipleBases.ts, 22, 14)) } var a: A; @@ -68,7 +68,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 31, 12)) a: T; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases.ts, 31, 16)) +>a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases.ts, 31, 16)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 31, 12)) } @@ -77,7 +77,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 35, 13)) b: T; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases.ts, 35, 17)) +>b : Symbol(C2.b, Decl(mergedInterfacesWithMultipleBases.ts, 35, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 35, 13)) } @@ -88,7 +88,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 39, 16), Decl(mergedInterfacesWithMultipleBases.ts, 43, 16)) y: T; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases.ts, 39, 33)) +>y : Symbol(A.y, Decl(mergedInterfacesWithMultipleBases.ts, 39, 33)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 39, 16), Decl(mergedInterfacesWithMultipleBases.ts, 43, 16)) } @@ -98,7 +98,7 @@ module M { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases.ts, 33, 5)) z: T; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases.ts, 43, 39)) +>z : Symbol(A.z, Decl(mergedInterfacesWithMultipleBases.ts, 43, 39)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases.ts, 39, 16), Decl(mergedInterfacesWithMultipleBases.ts, 43, 16)) } @@ -107,15 +107,15 @@ module M { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases.ts, 37, 5), Decl(mergedInterfacesWithMultipleBases.ts, 41, 5)) a: boolean; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases.ts, 47, 35)) +>a : Symbol(D.a, Decl(mergedInterfacesWithMultipleBases.ts, 47, 35)) b: string; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases.ts, 48, 19)) +>b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases.ts, 48, 19)) y: boolean; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases.ts, 49, 18)) +>y : Symbol(D.y, Decl(mergedInterfacesWithMultipleBases.ts, 49, 18)) z: boolean; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases.ts, 50, 19)) +>z : Symbol(D.z, Decl(mergedInterfacesWithMultipleBases.ts, 50, 19)) } } diff --git a/tests/baselines/reference/mergedInterfacesWithMultipleBases2.symbols b/tests/baselines/reference/mergedInterfacesWithMultipleBases2.symbols index 7424e0d110b..a71f3838f7f 100644 --- a/tests/baselines/reference/mergedInterfacesWithMultipleBases2.symbols +++ b/tests/baselines/reference/mergedInterfacesWithMultipleBases2.symbols @@ -6,28 +6,28 @@ class C { >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases2.ts, 0, 0)) a: number; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 3, 9)) +>a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases2.ts, 3, 9)) } class C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases2.ts, 5, 1)) b: number; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 7, 10)) +>b : Symbol(C2.b, Decl(mergedInterfacesWithMultipleBases2.ts, 7, 10)) } class C3 { >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 9, 1)) c: string; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 11, 10)) +>c : Symbol(C3.c, Decl(mergedInterfacesWithMultipleBases2.ts, 11, 10)) } class C4 { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 13, 1)) d: string; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 15, 10)) +>d : Symbol(C4.d, Decl(mergedInterfacesWithMultipleBases2.ts, 15, 10)) } @@ -37,7 +37,7 @@ interface A extends C, C3 { >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 9, 1)) y: string; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 20, 27)) +>y : Symbol(A.y, Decl(mergedInterfacesWithMultipleBases2.ts, 20, 27)) } interface A extends C2, C4 { @@ -46,7 +46,7 @@ interface A extends C2, C4 { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 13, 1)) z: string; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 24, 28)) +>z : Symbol(A.z, Decl(mergedInterfacesWithMultipleBases2.ts, 24, 28)) } class D implements A { @@ -54,22 +54,22 @@ class D implements A { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases2.ts, 22, 1)) a: number; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 28, 22)) +>a : Symbol(D.a, Decl(mergedInterfacesWithMultipleBases2.ts, 28, 22)) b: number; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 29, 14)) +>b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases2.ts, 29, 14)) c: string; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 30, 14)) +>c : Symbol(D.c, Decl(mergedInterfacesWithMultipleBases2.ts, 30, 14)) d: string; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 31, 14)) +>d : Symbol(D.d, Decl(mergedInterfacesWithMultipleBases2.ts, 31, 14)) y: string; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 32, 14)) +>y : Symbol(D.y, Decl(mergedInterfacesWithMultipleBases2.ts, 32, 14)) z: string; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 33, 14)) +>z : Symbol(D.z, Decl(mergedInterfacesWithMultipleBases2.ts, 33, 14)) } var a: A; @@ -91,7 +91,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 12)) a: T; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 16)) +>a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 16)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 12)) } @@ -100,7 +100,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 13)) b: T; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 17)) +>b : Symbol(C2.b, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 13)) } @@ -109,7 +109,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 13)) c: T; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 17)) +>c : Symbol(C3.c, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 13)) } @@ -118,7 +118,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 13)) d: T; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 17)) +>d : Symbol(C4.d, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 13)) } @@ -131,7 +131,7 @@ module M { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) y: T; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 40)) +>y : Symbol(A.y, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 40)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) } @@ -142,7 +142,7 @@ module M { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 52, 5)) z: T; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 62, 51)) +>z : Symbol(A.z, Decl(mergedInterfacesWithMultipleBases2.ts, 62, 51)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) } @@ -151,21 +151,21 @@ module M { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 56, 5), Decl(mergedInterfacesWithMultipleBases2.ts, 60, 5)) a: boolean; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 66, 35)) +>a : Symbol(D.a, Decl(mergedInterfacesWithMultipleBases2.ts, 66, 35)) b: string; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 67, 19)) +>b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases2.ts, 67, 19)) c: boolean; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 68, 18)) +>c : Symbol(D.c, Decl(mergedInterfacesWithMultipleBases2.ts, 68, 18)) d: string; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 69, 19)) +>d : Symbol(D.d, Decl(mergedInterfacesWithMultipleBases2.ts, 69, 19)) y: boolean; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 70, 18)) +>y : Symbol(D.y, Decl(mergedInterfacesWithMultipleBases2.ts, 70, 18)) z: boolean; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 71, 19)) +>z : Symbol(D.z, Decl(mergedInterfacesWithMultipleBases2.ts, 71, 19)) } } diff --git a/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols b/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols index 1aa65e8825a..4d24c5494cf 100644 --- a/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols +++ b/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols @@ -7,7 +7,7 @@ class C { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 3, 8)) a: T; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases3.ts, 3, 12)) +>a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases3.ts, 3, 12)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 3, 8)) } @@ -16,7 +16,7 @@ class C2 { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 7, 9)) b: T; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases3.ts, 7, 13)) +>b : Symbol(C2.b, Decl(mergedInterfacesWithMultipleBases3.ts, 7, 13)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 7, 9)) } @@ -25,7 +25,7 @@ class C3 { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 11, 9)) c: T; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases3.ts, 11, 13)) +>c : Symbol(C3.c, Decl(mergedInterfacesWithMultipleBases3.ts, 11, 13)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 11, 9)) } @@ -34,7 +34,7 @@ class C4 { >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 15, 9)) d: T; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases3.ts, 15, 13)) +>d : Symbol(C4.d, Decl(mergedInterfacesWithMultipleBases3.ts, 15, 13)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 15, 9)) } @@ -45,7 +45,7 @@ interface A extends C, C3 { >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases3.ts, 9, 1)) y: T; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases3.ts, 19, 46)) +>y : Symbol(A.y, Decl(mergedInterfacesWithMultipleBases3.ts, 19, 46)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 19, 12), Decl(mergedInterfacesWithMultipleBases3.ts, 23, 12)) } @@ -56,7 +56,7 @@ interface A extends C, C4 { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases3.ts, 13, 1)) z: T; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases3.ts, 23, 46)) +>z : Symbol(A.z, Decl(mergedInterfacesWithMultipleBases3.ts, 23, 46)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases3.ts, 19, 12), Decl(mergedInterfacesWithMultipleBases3.ts, 23, 12)) } @@ -65,21 +65,21 @@ class D implements A { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases3.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases3.ts, 21, 1)) a: string; ->a : Symbol(a, Decl(mergedInterfacesWithMultipleBases3.ts, 27, 31)) +>a : Symbol(D.a, Decl(mergedInterfacesWithMultipleBases3.ts, 27, 31)) b: Date; ->b : Symbol(b, Decl(mergedInterfacesWithMultipleBases3.ts, 28, 14)) +>b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases3.ts, 28, 14)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) c: string; ->c : Symbol(c, Decl(mergedInterfacesWithMultipleBases3.ts, 29, 12)) +>c : Symbol(D.c, Decl(mergedInterfacesWithMultipleBases3.ts, 29, 12)) d: string; ->d : Symbol(d, Decl(mergedInterfacesWithMultipleBases3.ts, 30, 14)) +>d : Symbol(D.d, Decl(mergedInterfacesWithMultipleBases3.ts, 30, 14)) y: boolean; ->y : Symbol(y, Decl(mergedInterfacesWithMultipleBases3.ts, 31, 14)) +>y : Symbol(D.y, Decl(mergedInterfacesWithMultipleBases3.ts, 31, 14)) z: boolean; ->z : Symbol(z, Decl(mergedInterfacesWithMultipleBases3.ts, 32, 15)) +>z : Symbol(D.z, Decl(mergedInterfacesWithMultipleBases3.ts, 32, 15)) } diff --git a/tests/baselines/reference/methodContainingLocalFunction.symbols b/tests/baselines/reference/methodContainingLocalFunction.symbols index e449d68562f..0559ad5140b 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.symbols +++ b/tests/baselines/reference/methodContainingLocalFunction.symbols @@ -5,7 +5,7 @@ class BugExhibition { >T : Symbol(T, Decl(methodContainingLocalFunction.ts, 1, 20)) public exhibitBug() { ->exhibitBug : Symbol(exhibitBug, Decl(methodContainingLocalFunction.ts, 1, 24)) +>exhibitBug : Symbol(BugExhibition.exhibitBug, Decl(methodContainingLocalFunction.ts, 1, 24)) function localFunction() { } >localFunction : Symbol(localFunction, Decl(methodContainingLocalFunction.ts, 2, 25)) @@ -45,7 +45,7 @@ class BugExhibition3 { >T : Symbol(T, Decl(methodContainingLocalFunction.ts, 18, 21)) public exhibitBug() { ->exhibitBug : Symbol(exhibitBug, Decl(methodContainingLocalFunction.ts, 18, 25)) +>exhibitBug : Symbol(BugExhibition3.exhibitBug, Decl(methodContainingLocalFunction.ts, 18, 25)) function localGenericFunction(u?: U) { } >localGenericFunction : Symbol(localGenericFunction, Decl(methodContainingLocalFunction.ts, 19, 25)) @@ -66,7 +66,7 @@ class C { >C : Symbol(C, Decl(methodContainingLocalFunction.ts, 24, 1)) exhibit() { ->exhibit : Symbol(exhibit, Decl(methodContainingLocalFunction.ts, 26, 9)) +>exhibit : Symbol(C.exhibit, Decl(methodContainingLocalFunction.ts, 26, 9)) var funcExpr = (u?: U) => { }; >funcExpr : Symbol(funcExpr, Decl(methodContainingLocalFunction.ts, 28, 11)) diff --git a/tests/baselines/reference/methodSignatureDeclarationEmit1.symbols b/tests/baselines/reference/methodSignatureDeclarationEmit1.symbols index 80e0d2e1e6c..d562b80d5dc 100644 --- a/tests/baselines/reference/methodSignatureDeclarationEmit1.symbols +++ b/tests/baselines/reference/methodSignatureDeclarationEmit1.symbols @@ -3,15 +3,15 @@ class C { >C : Symbol(C, Decl(methodSignatureDeclarationEmit1.ts, 0, 0)) public foo(n: number): void; ->foo : Symbol(foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) +>foo : Symbol(C.foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) >n : Symbol(n, Decl(methodSignatureDeclarationEmit1.ts, 1, 13)) public foo(s: string): void; ->foo : Symbol(foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) +>foo : Symbol(C.foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) >s : Symbol(s, Decl(methodSignatureDeclarationEmit1.ts, 2, 13)) public foo(a: any): void { ->foo : Symbol(foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) +>foo : Symbol(C.foo, Decl(methodSignatureDeclarationEmit1.ts, 0, 9), Decl(methodSignatureDeclarationEmit1.ts, 1, 30), Decl(methodSignatureDeclarationEmit1.ts, 2, 30)) >a : Symbol(a, Decl(methodSignatureDeclarationEmit1.ts, 3, 13)) } } diff --git a/tests/baselines/reference/mismatchedGenericArguments1.symbols b/tests/baselines/reference/mismatchedGenericArguments1.symbols index f540c3d7ccb..f0f7b99759e 100644 --- a/tests/baselines/reference/mismatchedGenericArguments1.symbols +++ b/tests/baselines/reference/mismatchedGenericArguments1.symbols @@ -4,7 +4,7 @@ interface IFoo { >T : Symbol(T, Decl(mismatchedGenericArguments1.ts, 0, 15)) foo(x: T): T; ->foo : Symbol(foo, Decl(mismatchedGenericArguments1.ts, 0, 19)) +>foo : Symbol(IFoo.foo, Decl(mismatchedGenericArguments1.ts, 0, 19)) >T : Symbol(T, Decl(mismatchedGenericArguments1.ts, 1, 7)) >x : Symbol(x, Decl(mismatchedGenericArguments1.ts, 1, 10)) >T : Symbol(T, Decl(mismatchedGenericArguments1.ts, 1, 7)) @@ -17,7 +17,7 @@ class C implements IFoo { >T : Symbol(T, Decl(mismatchedGenericArguments1.ts, 3, 8)) foo(x: string): number { ->foo : Symbol(foo, Decl(mismatchedGenericArguments1.ts, 3, 31)) +>foo : Symbol(C.foo, Decl(mismatchedGenericArguments1.ts, 3, 31)) >x : Symbol(x, Decl(mismatchedGenericArguments1.ts, 4, 7)) return null; @@ -31,7 +31,7 @@ class C2 implements IFoo { >T : Symbol(T, Decl(mismatchedGenericArguments1.ts, 9, 9)) foo(x: string): number { ->foo : Symbol(foo, Decl(mismatchedGenericArguments1.ts, 9, 32)) +>foo : Symbol(C2.foo, Decl(mismatchedGenericArguments1.ts, 9, 32)) >U : Symbol(U, Decl(mismatchedGenericArguments1.ts, 10, 7)) >x : Symbol(x, Decl(mismatchedGenericArguments1.ts, 10, 10)) diff --git a/tests/baselines/reference/missingImportAfterModuleImport.symbols b/tests/baselines/reference/missingImportAfterModuleImport.symbols index 3ed1d93431c..5493d58c528 100644 --- a/tests/baselines/reference/missingImportAfterModuleImport.symbols +++ b/tests/baselines/reference/missingImportAfterModuleImport.symbols @@ -8,7 +8,7 @@ class MainModule { // public static SubModule: SubModule; public SubModule: SubModule; ->SubModule : Symbol(SubModule, Decl(missingImportAfterModuleImport_1.ts, 2, 18)) +>SubModule : Symbol(MainModule.SubModule, Decl(missingImportAfterModuleImport_1.ts, 2, 18)) >SubModule : Symbol(SubModule, Decl(missingImportAfterModuleImport_1.ts, 0, 0)) constructor() { } @@ -27,7 +27,7 @@ declare module "SubModule" { >StaticVar : Symbol(SubModule.StaticVar, Decl(missingImportAfterModuleImport_0.ts, 2, 21)) public InstanceVar: number; ->InstanceVar : Symbol(InstanceVar, Decl(missingImportAfterModuleImport_0.ts, 3, 40)) +>InstanceVar : Symbol(SubModule.InstanceVar, Decl(missingImportAfterModuleImport_0.ts, 3, 40)) constructor(); } diff --git a/tests/baselines/reference/missingSelf.symbols b/tests/baselines/reference/missingSelf.symbols index b4b5bd0b905..8822ca416c0 100644 --- a/tests/baselines/reference/missingSelf.symbols +++ b/tests/baselines/reference/missingSelf.symbols @@ -3,26 +3,26 @@ class CalcButton >CalcButton : Symbol(CalcButton, Decl(missingSelf.ts, 0, 0)) { public a() { this.onClick(); } ->a : Symbol(a, Decl(missingSelf.ts, 1, 1)) ->this.onClick : Symbol(onClick, Decl(missingSelf.ts, 2, 34)) +>a : Symbol(CalcButton.a, Decl(missingSelf.ts, 1, 1)) +>this.onClick : Symbol(CalcButton.onClick, Decl(missingSelf.ts, 2, 34)) >this : Symbol(CalcButton, Decl(missingSelf.ts, 0, 0)) ->onClick : Symbol(onClick, Decl(missingSelf.ts, 2, 34)) +>onClick : Symbol(CalcButton.onClick, Decl(missingSelf.ts, 2, 34)) public onClick() { } ->onClick : Symbol(onClick, Decl(missingSelf.ts, 2, 34)) +>onClick : Symbol(CalcButton.onClick, Decl(missingSelf.ts, 2, 34)) } class CalcButton2 >CalcButton2 : Symbol(CalcButton2, Decl(missingSelf.ts, 4, 1)) { public b() { () => this.onClick(); } ->b : Symbol(b, Decl(missingSelf.ts, 7, 1)) ->this.onClick : Symbol(onClick, Decl(missingSelf.ts, 8, 40)) +>b : Symbol(CalcButton2.b, Decl(missingSelf.ts, 7, 1)) +>this.onClick : Symbol(CalcButton2.onClick, Decl(missingSelf.ts, 8, 40)) >this : Symbol(CalcButton2, Decl(missingSelf.ts, 4, 1)) ->onClick : Symbol(onClick, Decl(missingSelf.ts, 8, 40)) +>onClick : Symbol(CalcButton2.onClick, Decl(missingSelf.ts, 8, 40)) public onClick() { } ->onClick : Symbol(onClick, Decl(missingSelf.ts, 8, 40)) +>onClick : Symbol(CalcButton2.onClick, Decl(missingSelf.ts, 8, 40)) } var c = new CalcButton(); diff --git a/tests/baselines/reference/missingTypeArguments3.symbols b/tests/baselines/reference/missingTypeArguments3.symbols index 4bd7943eace..d23f8da313f 100644 --- a/tests/baselines/reference/missingTypeArguments3.symbols +++ b/tests/baselines/reference/missingTypeArguments3.symbols @@ -7,13 +7,13 @@ declare module linq { >T : Symbol(T, Decl(missingTypeArguments3.ts, 2, 25)) OrderByDescending(keySelector?: string): OrderedEnumerable; ->OrderByDescending : Symbol(OrderByDescending, Decl(missingTypeArguments3.ts, 2, 29)) +>OrderByDescending : Symbol(Enumerable.OrderByDescending, Decl(missingTypeArguments3.ts, 2, 29)) >keySelector : Symbol(keySelector, Decl(missingTypeArguments3.ts, 3, 26)) >OrderedEnumerable : Symbol(OrderedEnumerable, Decl(missingTypeArguments3.ts, 7, 5)) >T : Symbol(T, Decl(missingTypeArguments3.ts, 2, 25)) GroupBy(keySelector: (element: T) => TKey): Enumerable>; ->GroupBy : Symbol(GroupBy, Decl(missingTypeArguments3.ts, 3, 70), Decl(missingTypeArguments3.ts, 4, 88)) +>GroupBy : Symbol(Enumerable.GroupBy, Decl(missingTypeArguments3.ts, 3, 70), Decl(missingTypeArguments3.ts, 4, 88)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 4, 16)) >keySelector : Symbol(keySelector, Decl(missingTypeArguments3.ts, 4, 22)) >element : Symbol(element, Decl(missingTypeArguments3.ts, 4, 36)) @@ -25,7 +25,7 @@ declare module linq { >T : Symbol(T, Decl(missingTypeArguments3.ts, 2, 25)) GroupBy(keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; ->GroupBy : Symbol(GroupBy, Decl(missingTypeArguments3.ts, 3, 70), Decl(missingTypeArguments3.ts, 4, 88)) +>GroupBy : Symbol(Enumerable.GroupBy, Decl(missingTypeArguments3.ts, 3, 70), Decl(missingTypeArguments3.ts, 4, 88)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 5, 16)) >TElement : Symbol(TElement, Decl(missingTypeArguments3.ts, 5, 21)) >keySelector : Symbol(keySelector, Decl(missingTypeArguments3.ts, 5, 32)) @@ -42,7 +42,7 @@ declare module linq { >TElement : Symbol(TElement, Decl(missingTypeArguments3.ts, 5, 21)) ToDictionary(keySelector: (element: T) => TKey): Dictionary; ->ToDictionary : Symbol(ToDictionary, Decl(missingTypeArguments3.ts, 5, 148)) +>ToDictionary : Symbol(Enumerable.ToDictionary, Decl(missingTypeArguments3.ts, 5, 148)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 6, 21)) >keySelector : Symbol(keySelector, Decl(missingTypeArguments3.ts, 6, 27)) >element : Symbol(element, Decl(missingTypeArguments3.ts, 6, 41)) @@ -60,7 +60,7 @@ declare module linq { >T : Symbol(T, Decl(missingTypeArguments3.ts, 9, 32)) ThenBy(keySelector: (element: T) => TCompare): OrderedEnumerable; // used to incorrectly think this was missing a type argument ->ThenBy : Symbol(ThenBy, Decl(missingTypeArguments3.ts, 9, 58)) +>ThenBy : Symbol(OrderedEnumerable.ThenBy, Decl(missingTypeArguments3.ts, 9, 58)) >TCompare : Symbol(TCompare, Decl(missingTypeArguments3.ts, 10, 15)) >keySelector : Symbol(keySelector, Decl(missingTypeArguments3.ts, 10, 25)) >element : Symbol(element, Decl(missingTypeArguments3.ts, 10, 39)) @@ -78,7 +78,7 @@ declare module linq { >TElement : Symbol(TElement, Decl(missingTypeArguments3.ts, 13, 28)) Key(): TKey; ->Key : Symbol(Key, Decl(missingTypeArguments3.ts, 13, 69)) +>Key : Symbol(Grouping.Key, Decl(missingTypeArguments3.ts, 13, 69)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 13, 23)) } @@ -88,19 +88,19 @@ declare module linq { >TElement : Symbol(TElement, Decl(missingTypeArguments3.ts, 17, 26)) Count(): number; ->Count : Symbol(Count, Decl(missingTypeArguments3.ts, 17, 38)) +>Count : Symbol(Lookup.Count, Decl(missingTypeArguments3.ts, 17, 38)) Get(key): Enumerable; ->Get : Symbol(Get, Decl(missingTypeArguments3.ts, 18, 24)) +>Get : Symbol(Lookup.Get, Decl(missingTypeArguments3.ts, 18, 24)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 19, 12)) >Enumerable : Symbol(Enumerable, Decl(missingTypeArguments3.ts, 0, 21)) Contains(key): boolean; ->Contains : Symbol(Contains, Decl(missingTypeArguments3.ts, 19, 34)) +>Contains : Symbol(Lookup.Contains, Decl(missingTypeArguments3.ts, 19, 34)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 20, 17)) ToEnumerable(): Enumerable>; ->ToEnumerable : Symbol(ToEnumerable, Decl(missingTypeArguments3.ts, 20, 31)) +>ToEnumerable : Symbol(Lookup.ToEnumerable, Decl(missingTypeArguments3.ts, 20, 31)) >Enumerable : Symbol(Enumerable, Decl(missingTypeArguments3.ts, 0, 21)) >Grouping : Symbol(Grouping, Decl(missingTypeArguments3.ts, 11, 5)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 17, 21)) @@ -112,43 +112,43 @@ declare module linq { >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 24, 30)) Add(key: TKey, value: TValue): void; ->Add : Symbol(Add, Decl(missingTypeArguments3.ts, 24, 40)) +>Add : Symbol(Dictionary.Add, Decl(missingTypeArguments3.ts, 24, 40)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 25, 12)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) >value : Symbol(value, Decl(missingTypeArguments3.ts, 25, 22)) >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 24, 30)) Get(ke: TKey): TValue; ->Get : Symbol(Get, Decl(missingTypeArguments3.ts, 25, 44)) +>Get : Symbol(Dictionary.Get, Decl(missingTypeArguments3.ts, 25, 44)) >ke : Symbol(ke, Decl(missingTypeArguments3.ts, 26, 12)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 24, 30)) Set(key: TKey, value: TValue): boolean; ->Set : Symbol(Set, Decl(missingTypeArguments3.ts, 26, 30)) +>Set : Symbol(Dictionary.Set, Decl(missingTypeArguments3.ts, 26, 30)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 27, 12)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) >value : Symbol(value, Decl(missingTypeArguments3.ts, 27, 22)) >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 24, 30)) Contains(key: TKey): boolean; ->Contains : Symbol(Contains, Decl(missingTypeArguments3.ts, 27, 47)) +>Contains : Symbol(Dictionary.Contains, Decl(missingTypeArguments3.ts, 27, 47)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 28, 17)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) Clear(): void; ->Clear : Symbol(Clear, Decl(missingTypeArguments3.ts, 28, 37)) +>Clear : Symbol(Dictionary.Clear, Decl(missingTypeArguments3.ts, 28, 37)) Remove(key: TKey): void; ->Remove : Symbol(Remove, Decl(missingTypeArguments3.ts, 29, 22)) +>Remove : Symbol(Dictionary.Remove, Decl(missingTypeArguments3.ts, 29, 22)) >key : Symbol(key, Decl(missingTypeArguments3.ts, 30, 15)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) Count(): number; ->Count : Symbol(Count, Decl(missingTypeArguments3.ts, 30, 32)) +>Count : Symbol(Dictionary.Count, Decl(missingTypeArguments3.ts, 30, 32)) ToEnumerable(): Enumerable>; ->ToEnumerable : Symbol(ToEnumerable, Decl(missingTypeArguments3.ts, 31, 24)) +>ToEnumerable : Symbol(Dictionary.ToEnumerable, Decl(missingTypeArguments3.ts, 31, 24)) >Enumerable : Symbol(Enumerable, Decl(missingTypeArguments3.ts, 0, 21)) >KeyValuePair : Symbol(KeyValuePair, Decl(missingTypeArguments3.ts, 33, 5)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 24, 25)) @@ -161,11 +161,11 @@ declare module linq { >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 35, 32)) Key: TKey; ->Key : Symbol(Key, Decl(missingTypeArguments3.ts, 35, 42)) +>Key : Symbol(KeyValuePair.Key, Decl(missingTypeArguments3.ts, 35, 42)) >TKey : Symbol(TKey, Decl(missingTypeArguments3.ts, 35, 27)) Value: TValue; ->Value : Symbol(Value, Decl(missingTypeArguments3.ts, 36, 18)) +>Value : Symbol(KeyValuePair.Value, Decl(missingTypeArguments3.ts, 36, 18)) >TValue : Symbol(TValue, Decl(missingTypeArguments3.ts, 35, 32)) } } diff --git a/tests/baselines/reference/mixedExports.symbols b/tests/baselines/reference/mixedExports.symbols index 317b60e0a8c..1ebcd5d080a 100644 --- a/tests/baselines/reference/mixedExports.symbols +++ b/tests/baselines/reference/mixedExports.symbols @@ -27,12 +27,12 @@ module A { interface X {x} >X : Symbol(X, Decl(mixedExports.ts, 11, 10), Decl(mixedExports.ts, 12, 20), Decl(mixedExports.ts, 13, 23)) ->x : Symbol(x, Decl(mixedExports.ts, 12, 18)) +>x : Symbol(X.x, Decl(mixedExports.ts, 12, 18)) export module X {} >X : Symbol(X, Decl(mixedExports.ts, 12, 20)) interface X {y} >X : Symbol(X, Decl(mixedExports.ts, 11, 10), Decl(mixedExports.ts, 12, 20), Decl(mixedExports.ts, 13, 23)) ->y : Symbol(y, Decl(mixedExports.ts, 14, 18)) +>y : Symbol(X.y, Decl(mixedExports.ts, 14, 18)) } diff --git a/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.symbols b/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.symbols index a411bee09cb..b41f51ffac7 100644 --- a/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.symbols +++ b/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.symbols @@ -7,12 +7,12 @@ function f() { >C : Symbol(C, Decl(modifierOnClassDeclarationMemberInFunction.ts, 1, 14)) public baz = 1; ->baz : Symbol(baz, Decl(modifierOnClassDeclarationMemberInFunction.ts, 2, 13)) +>baz : Symbol(C.baz, Decl(modifierOnClassDeclarationMemberInFunction.ts, 2, 13)) static foo() { } >foo : Symbol(C.foo, Decl(modifierOnClassDeclarationMemberInFunction.ts, 3, 23)) public bar() { } ->bar : Symbol(bar, Decl(modifierOnClassDeclarationMemberInFunction.ts, 4, 24)) +>bar : Symbol(C.bar, Decl(modifierOnClassDeclarationMemberInFunction.ts, 4, 24)) } } diff --git a/tests/baselines/reference/moduleAliasInterface.symbols b/tests/baselines/reference/moduleAliasInterface.symbols index 9c4cfdf9b14..c7c85213fa1 100644 --- a/tests/baselines/reference/moduleAliasInterface.symbols +++ b/tests/baselines/reference/moduleAliasInterface.symbols @@ -40,7 +40,7 @@ module editor { >Mode : Symbol(modes.Mode, Decl(moduleAliasInterface.ts, 3, 2)) public foo(p1:modes.IMode) { ->foo : Symbol(foo, Decl(moduleAliasInterface.ts, 19, 50)) +>foo : Symbol(Bug.foo, Decl(moduleAliasInterface.ts, 19, 50)) >p1 : Symbol(p1, Decl(moduleAliasInterface.ts, 20, 13)) >modes : Symbol(modes, Decl(moduleAliasInterface.ts, 12, 15)) >IMode : Symbol(modes.IMode, Decl(moduleAliasInterface.ts, 0, 15)) diff --git a/tests/baselines/reference/moduleAndInterfaceSharingName4.symbols b/tests/baselines/reference/moduleAndInterfaceSharingName4.symbols index 383b1801b2d..cb59e73e4ef 100644 --- a/tests/baselines/reference/moduleAndInterfaceSharingName4.symbols +++ b/tests/baselines/reference/moduleAndInterfaceSharingName4.symbols @@ -15,7 +15,7 @@ declare module D3 { >Color : Symbol(Color, Decl(moduleAndInterfaceSharingName4.ts, 3, 18)) darker: Color; ->darker : Symbol(darker, Decl(moduleAndInterfaceSharingName4.ts, 4, 32)) +>darker : Symbol(Color.darker, Decl(moduleAndInterfaceSharingName4.ts, 4, 32)) >Color : Symbol(Color, Decl(moduleAndInterfaceSharingName4.ts, 3, 18)) } } diff --git a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols b/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols deleted file mode 100644 index ec933695900..00000000000 --- a/tests/baselines/reference/moduleAugmentationCollidingNamesInAugmentation1.symbols +++ /dev/null @@ -1,57 +0,0 @@ -=== tests/cases/compiler/map1.ts === - -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) - -(Observable.prototype).map = function() { } ->Observable.prototype : Symbol(Observable.prototype) ->Observable : Symbol(Observable, Decl(map1.ts, 1, 8)) ->prototype : Symbol(Observable.prototype) - -declare module "./observable" { - interface I {x0} ->I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) ->x0 : Symbol(x0, Decl(map1.ts, 6, 17)) -} - -=== tests/cases/compiler/map2.ts === -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) - -(Observable.prototype).map = function() { } ->Observable.prototype : Symbol(Observable.prototype) ->Observable : Symbol(Observable, Decl(map2.ts, 0, 8)) ->prototype : Symbol(Observable.prototype) - -declare module "./observable" { - interface I {x1} ->I : Symbol(I, Decl(map1.ts, 5, 31), Decl(map2.ts, 4, 31)) ->x1 : Symbol(x1, Decl(map2.ts, 5, 17)) -} - - -=== tests/cases/compiler/observable.ts === -export declare class Observable { ->Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) - - filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) ->pred : Symbol(pred, Decl(observable.ts, 1, 11)) ->e : Symbol(e, Decl(observable.ts, 1, 18)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) ->Observable : Symbol(Observable, Decl(observable.ts, 0, 0)) ->T : Symbol(T, Decl(observable.ts, 0, 32)) -} - -=== tests/cases/compiler/main.ts === -import { Observable } from "./observable" ->Observable : Symbol(Observable, Decl(main.ts, 0, 8)) - -import "./map1"; -import "./map2"; - -let x: Observable; ->x : Symbol(x, Decl(main.ts, 4, 3)) ->Observable : Symbol(Observable, Decl(main.ts, 0, 8)) - diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.symbols b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.symbols index eca44ec774d..17e31591be0 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.symbols +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.symbols @@ -14,7 +14,7 @@ declare module "./observable" { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -37,7 +37,7 @@ export declare class Observable { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) +>filter : Symbol(Observable.filter, Decl(observable.ts, 0, 36)) >pred : Symbol(pred, Decl(observable.ts, 1, 11)) >e : Symbol(e, Decl(observable.ts, 1, 18)) >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols index d0f25f693fe..38a0506d179 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols @@ -14,7 +14,7 @@ declare module "./observable" { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -37,7 +37,7 @@ export declare class Observable { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) +>filter : Symbol(Observable.filter, Decl(observable.ts, 0, 36)) >pred : Symbol(pred, Decl(observable.ts, 1, 11)) >e : Symbol(e, Decl(observable.ts, 1, 18)) >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.symbols b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.symbols index a471651da0b..62ac82b6953 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.symbols @@ -34,7 +34,7 @@ declare module "observable" { >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -58,7 +58,7 @@ declare module "observable" { >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.d.ts, 1, 25)) +>filter : Symbol(Observable.filter, Decl(observable.d.ts, 1, 25)) >pred : Symbol(pred, Decl(observable.d.ts, 2, 15)) >e : Symbol(e, Decl(observable.d.ts, 2, 22)) >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols index f907f4d6979..bbd3b6e5f79 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols @@ -50,7 +50,7 @@ declare module "observable" { >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -74,7 +74,7 @@ declare module "observable" { >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.d.ts, 1, 25)) +>filter : Symbol(Observable.filter, Decl(observable.d.ts, 1, 25)) >pred : Symbol(pred, Decl(observable.d.ts, 2, 15)) >e : Symbol(e, Decl(observable.d.ts, 2, 22)) >T : Symbol(T, Decl(observable.d.ts, 1, 21), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule1.symbols b/tests/baselines/reference/moduleAugmentationExtendFileModule1.symbols index eca44ec774d..17e31591be0 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule1.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule1.symbols @@ -14,7 +14,7 @@ declare module "./observable" { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -37,7 +37,7 @@ export declare class Observable { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) +>filter : Symbol(Observable.filter, Decl(observable.ts, 0, 36)) >pred : Symbol(pred, Decl(observable.ts, 1, 11)) >e : Symbol(e, Decl(observable.ts, 1, 18)) >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols b/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols index d0f25f693fe..38a0506d179 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols @@ -14,7 +14,7 @@ declare module "./observable" { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) map(proj: (e:T) => U): Observable ->map : Symbol(map, Decl(map.ts, 6, 29)) +>map : Symbol(Observable.map, Decl(map.ts, 6, 29)) >U : Symbol(U, Decl(map.ts, 7, 12)) >proj : Symbol(proj, Decl(map.ts, 7, 15)) >e : Symbol(e, Decl(map.ts, 7, 22)) @@ -37,7 +37,7 @@ export declare class Observable { >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) filter(pred: (e:T) => boolean): Observable; ->filter : Symbol(filter, Decl(observable.ts, 0, 36)) +>filter : Symbol(Observable.filter, Decl(observable.ts, 0, 36)) >pred : Symbol(pred, Decl(observable.ts, 1, 11)) >e : Symbol(e, Decl(observable.ts, 1, 18)) >T : Symbol(T, Decl(observable.ts, 0, 32), Decl(map.ts, 6, 25)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.symbols b/tests/baselines/reference/moduleAugmentationGlobal1.symbols index 36139555c96..4115379b0f2 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal1.symbols @@ -2,7 +2,7 @@ export class A {x: number;} >A : Symbol(A, Decl(f1.ts, 0, 0)) ->x : Symbol(x, Decl(f1.ts, 1, 16)) +>x : Symbol(A.x, Decl(f1.ts, 1, 16)) === tests/cases/compiler/f2.ts === import {A} from "./f1"; @@ -17,7 +17,7 @@ declare global { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 20)) getA(): A; ->getA : Symbol(getA, Decl(f2.ts, 4, 24)) +>getA : Symbol(Array.getA, Decl(f2.ts, 4, 24)) >A : Symbol(A, Decl(f2.ts, 0, 8)) } } diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.symbols b/tests/baselines/reference/moduleAugmentationGlobal2.symbols index 4ee2b9bace8..48fe93353fb 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal2.symbols @@ -17,7 +17,7 @@ declare global { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 5, 20)) getCountAsString(): string; ->getCountAsString : Symbol(getCountAsString, Decl(f2.ts, 5, 24)) +>getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 5, 24)) } } diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.symbols b/tests/baselines/reference/moduleAugmentationGlobal3.symbols index acb9a7b9e58..41c7f25b818 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal3.symbols @@ -17,7 +17,7 @@ declare global { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 5, 20)) getCountAsString(): string; ->getCountAsString : Symbol(getCountAsString, Decl(f2.ts, 5, 24)) +>getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 5, 24)) } } diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports1.symbols b/tests/baselines/reference/moduleAugmentationImportsAndExports1.symbols index c641cad5228..84daab19bf5 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports1.symbols +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports1.symbols @@ -8,7 +8,7 @@ export class B { >B : Symbol(B, Decl(f2.ts, 0, 0)) n: number; ->n : Symbol(n, Decl(f2.ts, 0, 16)) +>n : Symbol(B.n, Decl(f2.ts, 0, 16)) } === tests/cases/compiler/f3.ts === @@ -31,7 +31,7 @@ declare module "./f1" { >A : Symbol(A, Decl(f1.ts, 0, 0), Decl(f3.ts, 4, 23)) foo(): B; ->foo : Symbol(foo, Decl(f3.ts, 5, 17)) +>foo : Symbol(A.foo, Decl(f3.ts, 5, 17)) >B : Symbol(B, Decl(f3.ts, 1, 8)) } } diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports4.symbols b/tests/baselines/reference/moduleAugmentationImportsAndExports4.symbols index 94dc05519dd..fd1ec87b2a2 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports4.symbols +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports4.symbols @@ -8,7 +8,7 @@ export class B { >B : Symbol(B, Decl(f2.ts, 0, 0)) n: number; ->n : Symbol(n, Decl(f2.ts, 0, 16)) +>n : Symbol(B.n, Decl(f2.ts, 0, 16)) } === tests/cases/compiler/f3.ts === @@ -31,11 +31,11 @@ namespace N { export interface Ifc { a: number; } >Ifc : Symbol(Ifc, Decl(f3.ts, 5, 13)) ->a : Symbol(a, Decl(f3.ts, 6, 26)) +>a : Symbol(Ifc.a, Decl(f3.ts, 6, 26)) export interface Cls { b: number; } >Cls : Symbol(Cls, Decl(f3.ts, 6, 39)) ->b : Symbol(b, Decl(f3.ts, 7, 26)) +>b : Symbol(Cls.b, Decl(f3.ts, 7, 26)) } import I = N.Ifc; >I : Symbol(I, Decl(f3.ts, 8, 1)) @@ -52,15 +52,15 @@ declare module "./f1" { >A : Symbol(A, Decl(f1.ts, 0, 0), Decl(f3.ts, 12, 23)) foo(): B; ->foo : Symbol(foo, Decl(f3.ts, 13, 17)) +>foo : Symbol(A.foo, Decl(f3.ts, 13, 17)) >B : Symbol(B, Decl(f3.ts, 1, 8)) bar(): I; ->bar : Symbol(bar, Decl(f3.ts, 14, 17)) +>bar : Symbol(A.bar, Decl(f3.ts, 14, 17)) >I : Symbol(I, Decl(f3.ts, 8, 1)) baz(): C; ->baz : Symbol(baz, Decl(f3.ts, 15, 17)) +>baz : Symbol(A.baz, Decl(f3.ts, 15, 17)) >C : Symbol(C, Decl(f3.ts, 9, 17)) } } diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports6.symbols b/tests/baselines/reference/moduleAugmentationImportsAndExports6.symbols index 92952ef94bc..5c9be6d9448 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports6.symbols +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports6.symbols @@ -8,7 +8,7 @@ export class B { >B : Symbol(B, Decl(f2.ts, 0, 0)) n: number; ->n : Symbol(n, Decl(f2.ts, 0, 16)) +>n : Symbol(B.n, Decl(f2.ts, 0, 16)) } === tests/cases/compiler/f3.ts === @@ -31,11 +31,11 @@ export namespace N { export interface Ifc { a: number; } >Ifc : Symbol(Ifc, Decl(f3.ts, 5, 20)) ->a : Symbol(a, Decl(f3.ts, 6, 26)) +>a : Symbol(Ifc.a, Decl(f3.ts, 6, 26)) export interface Cls { b: number; } >Cls : Symbol(Cls, Decl(f3.ts, 6, 39)) ->b : Symbol(b, Decl(f3.ts, 7, 26)) +>b : Symbol(Cls.b, Decl(f3.ts, 7, 26)) } import I = N.Ifc; >I : Symbol(I, Decl(f3.ts, 8, 1)) @@ -52,15 +52,15 @@ declare module "./f1" { >A : Symbol(A, Decl(f1.ts, 0, 0), Decl(f3.ts, 12, 23)) foo(): B; ->foo : Symbol(foo, Decl(f3.ts, 13, 17)) +>foo : Symbol(A.foo, Decl(f3.ts, 13, 17)) >B : Symbol(B, Decl(f3.ts, 1, 8)) bar(): I; ->bar : Symbol(bar, Decl(f3.ts, 14, 17)) +>bar : Symbol(A.bar, Decl(f3.ts, 14, 17)) >I : Symbol(I, Decl(f3.ts, 8, 1)) baz(): C; ->baz : Symbol(baz, Decl(f3.ts, 15, 17)) +>baz : Symbol(A.baz, Decl(f3.ts, 15, 17)) >C : Symbol(C, Decl(f3.ts, 9, 17)) } } diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule1.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule1.symbols index b59f0766eea..6d9c185ca08 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule1.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule1.symbols @@ -26,7 +26,7 @@ declare module "Observable" { declare module "M" { class Cls { x: number } >Cls : Symbol(Cls, Decl(O.d.ts, 6, 20)) ->x : Symbol(x, Decl(O.d.ts, 7, 15)) +>x : Symbol(Cls.x, Decl(O.d.ts, 7, 15)) } declare module "Map" { @@ -38,7 +38,7 @@ declare module "Map" { >Observable : Symbol(Observable, Decl(O.d.ts, 2, 29), Decl(O.d.ts, 12, 25)) foo(): Cls; ->foo : Symbol(foo, Decl(O.d.ts, 13, 30)) +>foo : Symbol(Observable.foo, Decl(O.d.ts, 13, 30)) >Cls : Symbol(Cls, Decl(O.d.ts, 11, 12)) } } diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule2.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule2.symbols index 6308e67b3b9..5bf797dcf08 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule2.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule2.symbols @@ -26,7 +26,7 @@ declare module "Observable" { declare module "M" { class Cls { x: number } >Cls : Symbol(Cls, Decl(O.d.ts, 5, 20)) ->x : Symbol(x, Decl(O.d.ts, 6, 15)) +>x : Symbol(Cls.x, Decl(O.d.ts, 6, 15)) } declare module "Map" { @@ -38,7 +38,7 @@ declare module "Map" { >Observable : Symbol(Observable, Decl(O.d.ts, 1, 29), Decl(O.d.ts, 11, 25)) foo(): Cls; ->foo : Symbol(foo, Decl(O.d.ts, 12, 30)) +>foo : Symbol(Observable.foo, Decl(O.d.ts, 12, 30)) >Cls : Symbol(Cls, Decl(O.d.ts, 10, 12)) } } diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule3.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule3.symbols index 34eea56753f..2bde1316107 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule3.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule3.symbols @@ -33,7 +33,7 @@ declare module "Observable" { declare module "M" { class Cls { x: number } >Cls : Symbol(Cls, Decl(O.d.ts, 5, 20)) ->x : Symbol(x, Decl(O.d.ts, 6, 15)) +>x : Symbol(Cls.x, Decl(O.d.ts, 6, 15)) } declare module "Map" { @@ -45,7 +45,7 @@ declare module "Map" { >Observable : Symbol(Observable, Decl(O.d.ts, 1, 29), Decl(O.d.ts, 11, 25), Decl(O.d.ts, 20, 25)) foo(): Cls; ->foo : Symbol(foo, Decl(O.d.ts, 12, 30)) +>foo : Symbol(Observable.foo, Decl(O.d.ts, 12, 30)) >Cls : Symbol(Cls, Decl(O.d.ts, 10, 12)) } } @@ -54,14 +54,14 @@ declare module "Map" { declare module "Map" { class Cls2 { x2: number } >Cls2 : Symbol(Cls2, Decl(O.d.ts, 18, 22)) ->x2 : Symbol(x2, Decl(O.d.ts, 19, 16)) +>x2 : Symbol(Cls2.x2, Decl(O.d.ts, 19, 16)) module "Observable" { interface Observable { >Observable : Symbol(Observable, Decl(O.d.ts, 1, 29), Decl(O.d.ts, 11, 25), Decl(O.d.ts, 20, 25)) foo2(): Cls2; ->foo2 : Symbol(foo2, Decl(O.d.ts, 21, 30)) +>foo2 : Symbol(Observable.foo2, Decl(O.d.ts, 21, 30)) >Cls2 : Symbol(Cls2, Decl(O.d.ts, 18, 22)) } } diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule4.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule4.symbols index 55658c2a52e..6e01ff8a204 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule4.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule4.symbols @@ -34,7 +34,7 @@ declare module "Observable" { declare module "M" { class Cls { x: number } >Cls : Symbol(Cls, Decl(O.d.ts, 5, 20)) ->x : Symbol(x, Decl(O.d.ts, 6, 15)) +>x : Symbol(Cls.x, Decl(O.d.ts, 6, 15)) } declare module "Map" { @@ -46,7 +46,7 @@ declare module "Map" { >Observable : Symbol(Observable, Decl(O.d.ts, 1, 29), Decl(O.d.ts, 11, 25), Decl(O2.d.ts, 2, 25)) foo(): Cls; ->foo : Symbol(foo, Decl(O.d.ts, 12, 30)) +>foo : Symbol(Observable.foo, Decl(O.d.ts, 12, 30)) >Cls : Symbol(Cls, Decl(O.d.ts, 10, 12)) } } @@ -56,14 +56,14 @@ declare module "Map" { declare module "Map" { class Cls2 { x2: number } >Cls2 : Symbol(Cls2, Decl(O2.d.ts, 0, 22)) ->x2 : Symbol(x2, Decl(O2.d.ts, 1, 16)) +>x2 : Symbol(Cls2.x2, Decl(O2.d.ts, 1, 16)) module "Observable" { interface Observable { >Observable : Symbol(Observable, Decl(O.d.ts, 1, 29), Decl(O.d.ts, 11, 25), Decl(O2.d.ts, 2, 25)) foo2(): Cls2; ->foo2 : Symbol(foo2, Decl(O2.d.ts, 3, 30)) +>foo2 : Symbol(Observable.foo2, Decl(O2.d.ts, 3, 30)) >Cls2 : Symbol(Cls2, Decl(O2.d.ts, 0, 22)) } } diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols index a663efca64d..76b135307dd 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols @@ -18,7 +18,7 @@ let y = x.getA().x; declare module "A" { class A { x: number; } >A : Symbol(A, Decl(array.d.ts, 1, 20)) ->x : Symbol(x, Decl(array.d.ts, 2, 13)) +>x : Symbol(A.x, Decl(array.d.ts, 2, 13)) } declare module "array" { @@ -33,7 +33,7 @@ declare module "array" { >T : Symbol(T, Decl(lib.d.ts, --, --), Decl(array.d.ts, 8, 24)) getA(): A; ->getA : Symbol(getA, Decl(array.d.ts, 8, 28)) +>getA : Symbol(Array.getA, Decl(array.d.ts, 8, 28)) >A : Symbol(A, Decl(array.d.ts, 6, 12)) } } diff --git a/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols b/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols index 47160cbc17f..5f98b39c228 100644 --- a/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols +++ b/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols @@ -23,7 +23,7 @@ declare module "./m1" { >Cls : Symbol(Cls, Decl(m1.ts, 0, 0), Decl(m2.ts, 4, 23), Decl(m2.ts, 10, 23), Decl(m4.ts, 5, 23), Decl(m4.ts, 11, 23)) foo(): number; ->foo : Symbol(foo, Decl(m2.ts, 5, 19)) +>foo : Symbol(Cls.foo, Decl(m2.ts, 5, 19)) } } @@ -32,18 +32,18 @@ declare module "./m1" { >Cls : Symbol(Cls, Decl(m1.ts, 0, 0), Decl(m2.ts, 4, 23), Decl(m2.ts, 10, 23), Decl(m4.ts, 5, 23), Decl(m4.ts, 11, 23)) bar(): string; ->bar : Symbol(bar, Decl(m2.ts, 11, 19)) +>bar : Symbol(Cls.bar, Decl(m2.ts, 11, 19)) } } === tests/cases/compiler/m3.ts === export class C1 { x: number } >C1 : Symbol(C1, Decl(m3.ts, 0, 0)) ->x : Symbol(x, Decl(m3.ts, 0, 17)) +>x : Symbol(C1.x, Decl(m3.ts, 0, 17)) export class C2 { x: string } >C2 : Symbol(C2, Decl(m3.ts, 0, 29)) ->x : Symbol(x, Decl(m3.ts, 1, 17)) +>x : Symbol(C2.x, Decl(m3.ts, 1, 17)) === tests/cases/compiler/m4.ts === import {Cls} from "./m1"; @@ -70,7 +70,7 @@ declare module "./m1" { >Cls : Symbol(Cls, Decl(m1.ts, 0, 0), Decl(m2.ts, 4, 23), Decl(m2.ts, 10, 23), Decl(m4.ts, 5, 23), Decl(m4.ts, 11, 23)) baz1(): C1; ->baz1 : Symbol(baz1, Decl(m4.ts, 6, 19)) +>baz1 : Symbol(Cls.baz1, Decl(m4.ts, 6, 19)) >C1 : Symbol(C1, Decl(m4.ts, 1, 8)) } } @@ -80,7 +80,7 @@ declare module "./m1" { >Cls : Symbol(Cls, Decl(m1.ts, 0, 0), Decl(m2.ts, 4, 23), Decl(m2.ts, 10, 23), Decl(m4.ts, 5, 23), Decl(m4.ts, 11, 23)) baz2(): C2; ->baz2 : Symbol(baz2, Decl(m4.ts, 12, 19)) +>baz2 : Symbol(Cls.baz2, Decl(m4.ts, 12, 19)) >C2 : Symbol(C2, Decl(m4.ts, 1, 11)) } } diff --git a/tests/baselines/reference/moduleAugmentationsImports1.symbols b/tests/baselines/reference/moduleAugmentationsImports1.symbols index 38ef8f55229..685ee9bb31c 100644 --- a/tests/baselines/reference/moduleAugmentationsImports1.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports1.symbols @@ -6,13 +6,13 @@ export class A {} === tests/cases/compiler/b.ts === export class B {x: number;} >B : Symbol(B, Decl(b.ts, 0, 0)) ->x : Symbol(x, Decl(b.ts, 0, 16)) +>x : Symbol(B.x, Decl(b.ts, 0, 16)) === tests/cases/compiler/c.d.ts === declare module "C" { class Cls {y: string; } >Cls : Symbol(Cls, Decl(c.d.ts, 0, 20)) ->y : Symbol(y, Decl(c.d.ts, 1, 15)) +>y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) } === tests/cases/compiler/d.ts === @@ -48,7 +48,7 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.ts, 9, 22), Decl(d.ts, 15, 22)) getB(): B; ->getB : Symbol(getB, Decl(d.ts, 10, 17)) +>getB : Symbol(A.getB, Decl(d.ts, 10, 17)) >B : Symbol(B, Decl(d.ts, 3, 8)) } } @@ -58,7 +58,7 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.ts, 9, 22), Decl(d.ts, 15, 22)) getCls(): Cls; ->getCls : Symbol(getCls, Decl(d.ts, 16, 17)) +>getCls : Symbol(A.getCls, Decl(d.ts, 16, 17)) >Cls : Symbol(Cls, Decl(d.ts, 4, 8)) } } diff --git a/tests/baselines/reference/moduleAugmentationsImports2.symbols b/tests/baselines/reference/moduleAugmentationsImports2.symbols index 643ccf20eb2..126e407da8a 100644 --- a/tests/baselines/reference/moduleAugmentationsImports2.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports2.symbols @@ -6,13 +6,13 @@ export class A {} === tests/cases/compiler/b.ts === export class B {x: number;} >B : Symbol(B, Decl(b.ts, 0, 0)) ->x : Symbol(x, Decl(b.ts, 0, 16)) +>x : Symbol(B.x, Decl(b.ts, 0, 16)) === tests/cases/compiler/c.d.ts === declare module "C" { class Cls {y: string; } >Cls : Symbol(Cls, Decl(c.d.ts, 0, 20)) ->y : Symbol(y, Decl(c.d.ts, 1, 15)) +>y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) } === tests/cases/compiler/d.ts === @@ -37,7 +37,7 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.ts, 7, 22), Decl(e.ts, 5, 22)) getB(): B; ->getB : Symbol(getB, Decl(d.ts, 8, 17)) +>getB : Symbol(A.getB, Decl(d.ts, 8, 17)) >B : Symbol(B, Decl(d.ts, 3, 8)) } } @@ -62,7 +62,7 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.ts, 7, 22), Decl(e.ts, 5, 22)) getCls(): Cls; ->getCls : Symbol(getCls, Decl(e.ts, 6, 17)) +>getCls : Symbol(A.getCls, Decl(e.ts, 6, 17)) >Cls : Symbol(Cls, Decl(e.ts, 1, 8)) } } diff --git a/tests/baselines/reference/moduleAugmentationsImports3.symbols b/tests/baselines/reference/moduleAugmentationsImports3.symbols index db8eee074c0..fba58ffad8a 100644 --- a/tests/baselines/reference/moduleAugmentationsImports3.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports3.symbols @@ -38,13 +38,13 @@ export class A {} === tests/cases/compiler/b.ts === export class B {x: number;} >B : Symbol(B, Decl(b.ts, 0, 0)) ->x : Symbol(x, Decl(b.ts, 0, 16)) +>x : Symbol(B.x, Decl(b.ts, 0, 16)) === tests/cases/compiler/c.d.ts === declare module "C" { class Cls {y: string; } >Cls : Symbol(Cls, Decl(c.d.ts, 0, 20)) ->y : Symbol(y, Decl(c.d.ts, 1, 15)) +>y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) } === tests/cases/compiler/d.d.ts === @@ -60,7 +60,7 @@ declare module "D" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.d.ts, 3, 16), Decl(e.ts, 6, 22)) getB(): B; ->getB : Symbol(getB, Decl(d.d.ts, 4, 21)) +>getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >B : Symbol(B, Decl(d.d.ts, 2, 12)) } } @@ -87,7 +87,7 @@ declare module "./a" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.d.ts, 3, 16), Decl(e.ts, 6, 22)) getCls(): Cls; ->getCls : Symbol(getCls, Decl(e.ts, 7, 17)) +>getCls : Symbol(A.getCls, Decl(e.ts, 7, 17)) >Cls : Symbol(Cls, Decl(e.ts, 2, 8)) } } diff --git a/tests/baselines/reference/moduleAugmentationsImports4.symbols b/tests/baselines/reference/moduleAugmentationsImports4.symbols index 8d203de8519..77b5431850e 100644 --- a/tests/baselines/reference/moduleAugmentationsImports4.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports4.symbols @@ -39,13 +39,13 @@ export class A {} === tests/cases/compiler/b.ts === export class B {x: number;} >B : Symbol(B, Decl(b.ts, 0, 0)) ->x : Symbol(x, Decl(b.ts, 0, 16)) +>x : Symbol(B.x, Decl(b.ts, 0, 16)) === tests/cases/compiler/c.d.ts === declare module "C" { class Cls {y: string; } >Cls : Symbol(Cls, Decl(c.d.ts, 0, 20)) ->y : Symbol(y, Decl(c.d.ts, 1, 15)) +>y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) } === tests/cases/compiler/d.d.ts === @@ -61,7 +61,7 @@ declare module "D" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.d.ts, 3, 16), Decl(e.d.ts, 5, 16)) getB(): B; ->getB : Symbol(getB, Decl(d.d.ts, 4, 21)) +>getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >B : Symbol(B, Decl(d.d.ts, 2, 12)) } } @@ -81,7 +81,7 @@ declare module "E" { >A : Symbol(A, Decl(a.ts, 0, 0), Decl(d.d.ts, 3, 16), Decl(e.d.ts, 5, 16)) getCls(): Cls; ->getCls : Symbol(getCls, Decl(e.d.ts, 6, 21)) +>getCls : Symbol(A.getCls, Decl(e.d.ts, 6, 21)) >Cls : Symbol(Cls, Decl(e.d.ts, 3, 12)) } } diff --git a/tests/baselines/reference/moduleCodeGenTest5.symbols b/tests/baselines/reference/moduleCodeGenTest5.symbols index 1e68d449665..f93e8ef6297 100644 --- a/tests/baselines/reference/moduleCodeGenTest5.symbols +++ b/tests/baselines/reference/moduleCodeGenTest5.symbols @@ -15,19 +15,19 @@ export class C1 { >C1 : Symbol(C1, Decl(moduleCodeGenTest5.ts, 4, 16)) public p1 = 0; ->p1 : Symbol(p1, Decl(moduleCodeGenTest5.ts, 6, 17)) +>p1 : Symbol(C1.p1, Decl(moduleCodeGenTest5.ts, 6, 17)) public p2() {} ->p2 : Symbol(p2, Decl(moduleCodeGenTest5.ts, 7, 15)) +>p2 : Symbol(C1.p2, Decl(moduleCodeGenTest5.ts, 7, 15)) } class C2{ >C2 : Symbol(C2, Decl(moduleCodeGenTest5.ts, 9, 1)) public p1 = 0; ->p1 : Symbol(p1, Decl(moduleCodeGenTest5.ts, 10, 9)) +>p1 : Symbol(C2.p1, Decl(moduleCodeGenTest5.ts, 10, 9)) public p2() {} ->p2 : Symbol(p2, Decl(moduleCodeGenTest5.ts, 11, 15)) +>p2 : Symbol(C2.p2, Decl(moduleCodeGenTest5.ts, 11, 15)) } export enum E1 {A=0} diff --git a/tests/baselines/reference/moduleIdentifiers.symbols b/tests/baselines/reference/moduleIdentifiers.symbols index ffb3ffa7335..1edbf333875 100644 --- a/tests/baselines/reference/moduleIdentifiers.symbols +++ b/tests/baselines/reference/moduleIdentifiers.symbols @@ -4,8 +4,8 @@ module M { interface P { x: number; y: number; } >P : Symbol(P, Decl(moduleIdentifiers.ts, 0, 10)) ->x : Symbol(x, Decl(moduleIdentifiers.ts, 1, 17)) ->y : Symbol(y, Decl(moduleIdentifiers.ts, 1, 28)) +>x : Symbol(P.x, Decl(moduleIdentifiers.ts, 1, 17)) +>y : Symbol(P.y, Decl(moduleIdentifiers.ts, 1, 28)) export var a = 1 >a : Symbol(a, Decl(moduleIdentifiers.ts, 2, 14)) diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.symbols b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.symbols index fb743ea4f57..de787349442 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.symbols +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.symbols @@ -7,7 +7,7 @@ module TypeScript.Parser { >SyntaxCursor : Symbol(SyntaxCursor, Decl(moduleMemberWithoutTypeAnnotation1.ts, 0, 26)) public currentNode(): SyntaxNode { ->currentNode : Symbol(currentNode, Decl(moduleMemberWithoutTypeAnnotation1.ts, 1, 24)) +>currentNode : Symbol(SyntaxCursor.currentNode, Decl(moduleMemberWithoutTypeAnnotation1.ts, 1, 24)) >SyntaxNode : Symbol(SyntaxNode, Decl(moduleMemberWithoutTypeAnnotation1.ts, 24, 19)) return null; @@ -28,7 +28,7 @@ module TypeScript { >PositionedElement : Symbol(PositionedElement, Decl(moduleMemberWithoutTypeAnnotation1.ts, 10, 38)) public childIndex(child: ISyntaxElement) { ->childIndex : Symbol(childIndex, Decl(moduleMemberWithoutTypeAnnotation1.ts, 12, 36)) +>childIndex : Symbol(PositionedElement.childIndex, Decl(moduleMemberWithoutTypeAnnotation1.ts, 12, 36)) >child : Symbol(child, Decl(moduleMemberWithoutTypeAnnotation1.ts, 13, 26)) >ISyntaxElement : Symbol(ISyntaxElement, Decl(moduleMemberWithoutTypeAnnotation1.ts, 8, 19)) @@ -59,22 +59,22 @@ module TypeScript { >SyntaxNode : Symbol(SyntaxNode, Decl(moduleMemberWithoutTypeAnnotation1.ts, 24, 19)) public findToken(position: number, includeSkippedTokens: boolean = false): PositionedToken { ->findToken : Symbol(findToken, Decl(moduleMemberWithoutTypeAnnotation1.ts, 25, 29)) +>findToken : Symbol(SyntaxNode.findToken, Decl(moduleMemberWithoutTypeAnnotation1.ts, 25, 29)) >position : Symbol(position, Decl(moduleMemberWithoutTypeAnnotation1.ts, 26, 25)) >includeSkippedTokens : Symbol(includeSkippedTokens, Decl(moduleMemberWithoutTypeAnnotation1.ts, 26, 42)) >PositionedToken : Symbol(PositionedToken, Decl(moduleMemberWithoutTypeAnnotation1.ts, 16, 5)) var positionedToken = this.findTokenInternal(null, position, 0); >positionedToken : Symbol(positionedToken, Decl(moduleMemberWithoutTypeAnnotation1.ts, 27, 15)) ->this.findTokenInternal : Symbol(findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) +>this.findTokenInternal : Symbol(SyntaxNode.findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) >this : Symbol(SyntaxNode, Decl(moduleMemberWithoutTypeAnnotation1.ts, 24, 19)) ->findTokenInternal : Symbol(findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) +>findTokenInternal : Symbol(SyntaxNode.findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) >position : Symbol(position, Decl(moduleMemberWithoutTypeAnnotation1.ts, 26, 25)) return null; } findTokenInternal(x, y, z) { ->findTokenInternal : Symbol(findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) +>findTokenInternal : Symbol(SyntaxNode.findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 29, 9)) >x : Symbol(x, Decl(moduleMemberWithoutTypeAnnotation1.ts, 30, 26)) >y : Symbol(y, Decl(moduleMemberWithoutTypeAnnotation1.ts, 30, 28)) >z : Symbol(z, Decl(moduleMemberWithoutTypeAnnotation1.ts, 30, 31)) @@ -96,7 +96,7 @@ module TypeScript.Syntax { >ISyntaxToken : Symbol(ISyntaxToken, Decl(moduleMemberWithoutTypeAnnotation1.ts, 9, 40)) private findTokenInternal(parent: PositionedElement, position: number, fullStart: number) { ->findTokenInternal : Symbol(findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 39, 79)) +>findTokenInternal : Symbol(VariableWidthTokenWithTrailingTrivia.findTokenInternal, Decl(moduleMemberWithoutTypeAnnotation1.ts, 39, 79)) >parent : Symbol(parent, Decl(moduleMemberWithoutTypeAnnotation1.ts, 40, 34)) >PositionedElement : Symbol(PositionedElement, Decl(moduleMemberWithoutTypeAnnotation1.ts, 10, 38)) >position : Symbol(position, Decl(moduleMemberWithoutTypeAnnotation1.ts, 40, 60)) diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation2.symbols b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation2.symbols index e69b8c37458..f771bbc3c79 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation2.symbols +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation2.symbols @@ -9,7 +9,7 @@ module TypeScript { >IDiagnosticWriter : Symbol(IDiagnosticWriter, Decl(moduleMemberWithoutTypeAnnotation2.ts, 1, 39)) Alert(output: string): void; ->Alert : Symbol(Alert, Decl(moduleMemberWithoutTypeAnnotation2.ts, 3, 44)) +>Alert : Symbol(IDiagnosticWriter.Alert, Decl(moduleMemberWithoutTypeAnnotation2.ts, 3, 44)) >output : Symbol(output, Decl(moduleMemberWithoutTypeAnnotation2.ts, 4, 18)) } diff --git a/tests/baselines/reference/moduleMerge.symbols b/tests/baselines/reference/moduleMerge.symbols index 2c288be6ff6..738aedfc28e 100644 --- a/tests/baselines/reference/moduleMerge.symbols +++ b/tests/baselines/reference/moduleMerge.symbols @@ -8,7 +8,7 @@ module A >B : Symbol(B, Decl(moduleMerge.ts, 3, 1)) { public Hello(): string ->Hello : Symbol(Hello, Decl(moduleMerge.ts, 5, 5)) +>Hello : Symbol(B.Hello, Decl(moduleMerge.ts, 5, 5)) { return "from private B"; } @@ -22,7 +22,7 @@ module A >B : Symbol(B, Decl(moduleMerge.ts, 14, 1)) { public Hello(): string ->Hello : Symbol(Hello, Decl(moduleMerge.ts, 16, 5)) +>Hello : Symbol(B.Hello, Decl(moduleMerge.ts, 16, 5)) { return "from export B"; } diff --git a/tests/baselines/reference/moduleMergeConstructor.symbols b/tests/baselines/reference/moduleMergeConstructor.symbols index a960ad07e7e..8d9a773f144 100644 --- a/tests/baselines/reference/moduleMergeConstructor.symbols +++ b/tests/baselines/reference/moduleMergeConstructor.symbols @@ -6,7 +6,7 @@ declare module "foo" { constructor(); method1(): any; ->method1 : Symbol(method1, Decl(foo.d.ts, 3, 22)) +>method1 : Symbol(Foo.method1, Decl(foo.d.ts, 3, 22)) } } @@ -16,7 +16,7 @@ declare module "foo" { >Foo : Symbol(Foo, Decl(foo.d.ts, 1, 22), Decl(foo-ext.d.ts, 0, 22)) method2(): any; ->method2 : Symbol(method2, Decl(foo-ext.d.ts, 1, 26)) +>method2 : Symbol(Foo.method2, Decl(foo-ext.d.ts, 1, 26)) } } @@ -28,15 +28,15 @@ class Test { >Test : Symbol(Test, Decl(index.ts, 0, 27)) bar: foo.Foo; ->bar : Symbol(bar, Decl(index.ts, 2, 12)) +>bar : Symbol(Test.bar, Decl(index.ts, 2, 12)) >foo : Symbol(foo, Decl(index.ts, 0, 6)) >Foo : Symbol(foo.Foo, Decl(foo.d.ts, 1, 22), Decl(foo-ext.d.ts, 0, 22)) constructor() { this.bar = new foo.Foo(); ->this.bar : Symbol(bar, Decl(index.ts, 2, 12)) +>this.bar : Symbol(Test.bar, Decl(index.ts, 2, 12)) >this : Symbol(Test, Decl(index.ts, 0, 27)) ->bar : Symbol(bar, Decl(index.ts, 2, 12)) +>bar : Symbol(Test.bar, Decl(index.ts, 2, 12)) >foo.Foo : Symbol(foo.Foo, Decl(foo.d.ts, 1, 22), Decl(foo-ext.d.ts, 0, 22)) >foo : Symbol(foo, Decl(index.ts, 0, 6)) >Foo : Symbol(foo.Foo, Decl(foo.d.ts, 1, 22), Decl(foo-ext.d.ts, 0, 22)) diff --git a/tests/baselines/reference/moduleReopenedTypeOtherBlock.symbols b/tests/baselines/reference/moduleReopenedTypeOtherBlock.symbols index 1a5017b89c7..d4bb9defa38 100644 --- a/tests/baselines/reference/moduleReopenedTypeOtherBlock.symbols +++ b/tests/baselines/reference/moduleReopenedTypeOtherBlock.symbols @@ -7,14 +7,14 @@ module M { export interface I { n: number; } >I : Symbol(I, Decl(moduleReopenedTypeOtherBlock.ts, 1, 23)) ->n : Symbol(n, Decl(moduleReopenedTypeOtherBlock.ts, 2, 24)) +>n : Symbol(I.n, Decl(moduleReopenedTypeOtherBlock.ts, 2, 24)) } module M { >M : Symbol(M, Decl(moduleReopenedTypeOtherBlock.ts, 0, 0), Decl(moduleReopenedTypeOtherBlock.ts, 3, 1)) export class C2 { f(): I { return null; } } >C2 : Symbol(C2, Decl(moduleReopenedTypeOtherBlock.ts, 4, 10)) ->f : Symbol(f, Decl(moduleReopenedTypeOtherBlock.ts, 5, 21)) +>f : Symbol(C2.f, Decl(moduleReopenedTypeOtherBlock.ts, 5, 21)) >I : Symbol(I, Decl(moduleReopenedTypeOtherBlock.ts, 1, 23)) } diff --git a/tests/baselines/reference/moduleReopenedTypeSameBlock.symbols b/tests/baselines/reference/moduleReopenedTypeSameBlock.symbols index a593b63cd01..3ee83c80746 100644 --- a/tests/baselines/reference/moduleReopenedTypeSameBlock.symbols +++ b/tests/baselines/reference/moduleReopenedTypeSameBlock.symbols @@ -8,11 +8,11 @@ module M { export interface I { n: number; } >I : Symbol(I, Decl(moduleReopenedTypeSameBlock.ts, 1, 10)) ->n : Symbol(n, Decl(moduleReopenedTypeSameBlock.ts, 2, 24)) +>n : Symbol(I.n, Decl(moduleReopenedTypeSameBlock.ts, 2, 24)) export class C2 { f(): I { return null; } } >C2 : Symbol(C2, Decl(moduleReopenedTypeSameBlock.ts, 2, 37)) ->f : Symbol(f, Decl(moduleReopenedTypeSameBlock.ts, 3, 21)) +>f : Symbol(C2.f, Decl(moduleReopenedTypeSameBlock.ts, 3, 21)) >I : Symbol(I, Decl(moduleReopenedTypeSameBlock.ts, 1, 10)) } diff --git a/tests/baselines/reference/moduleVisibilityTest1.symbols b/tests/baselines/reference/moduleVisibilityTest1.symbols index 9879d8a0151..7c939fee5c3 100644 --- a/tests/baselines/reference/moduleVisibilityTest1.symbols +++ b/tests/baselines/reference/moduleVisibilityTest1.symbols @@ -59,40 +59,40 @@ module M { >I : Symbol(I, Decl(moduleVisibilityTest1.ts, 27, 15)) someMethod():number; ->someMethod : Symbol(someMethod, Decl(moduleVisibilityTest1.ts, 30, 21)) +>someMethod : Symbol(I.someMethod, Decl(moduleVisibilityTest1.ts, 30, 21)) } class B {public b = 0;} >B : Symbol(B, Decl(moduleVisibilityTest1.ts, 32, 2)) ->b : Symbol(b, Decl(moduleVisibilityTest1.ts, 34, 11)) +>b : Symbol(B.b, Decl(moduleVisibilityTest1.ts, 34, 11)) export class C implements I { >C : Symbol(C, Decl(moduleVisibilityTest1.ts, 34, 25)) >I : Symbol(I, Decl(moduleVisibilityTest1.ts, 27, 15)) public someMethodThatCallsAnOuterMethod() {return OuterInnerAlias.someExportedOuterInnerFunc();} ->someMethodThatCallsAnOuterMethod : Symbol(someMethodThatCallsAnOuterMethod, Decl(moduleVisibilityTest1.ts, 36, 31)) +>someMethodThatCallsAnOuterMethod : Symbol(C.someMethodThatCallsAnOuterMethod, Decl(moduleVisibilityTest1.ts, 36, 31)) >OuterInnerAlias.someExportedOuterInnerFunc : Symbol(OuterInnerAlias.someExportedOuterInnerFunc, Decl(moduleVisibilityTest1.ts, 5, 30)) >OuterInnerAlias : Symbol(OuterInnerAlias, Decl(moduleVisibilityTest1.ts, 8, 1)) >someExportedOuterInnerFunc : Symbol(OuterInnerAlias.someExportedOuterInnerFunc, Decl(moduleVisibilityTest1.ts, 5, 30)) public someMethodThatCallsAnInnerMethod() {return InnerMod.someExportedInnerFunc();} ->someMethodThatCallsAnInnerMethod : Symbol(someMethodThatCallsAnInnerMethod, Decl(moduleVisibilityTest1.ts, 37, 98)) +>someMethodThatCallsAnInnerMethod : Symbol(C.someMethodThatCallsAnInnerMethod, Decl(moduleVisibilityTest1.ts, 37, 98)) >InnerMod.someExportedInnerFunc : Symbol(InnerMod.someExportedInnerFunc, Decl(moduleVisibilityTest1.ts, 14, 25)) >InnerMod : Symbol(InnerMod, Decl(moduleVisibilityTest1.ts, 12, 10)) >someExportedInnerFunc : Symbol(InnerMod.someExportedInnerFunc, Decl(moduleVisibilityTest1.ts, 14, 25)) public someMethodThatCallsAnOuterInnerMethod() {return OuterMod.someExportedOuterFunc();} ->someMethodThatCallsAnOuterInnerMethod : Symbol(someMethodThatCallsAnOuterInnerMethod, Decl(moduleVisibilityTest1.ts, 38, 86)) +>someMethodThatCallsAnOuterInnerMethod : Symbol(C.someMethodThatCallsAnOuterInnerMethod, Decl(moduleVisibilityTest1.ts, 38, 86)) >OuterMod.someExportedOuterFunc : Symbol(OuterMod.someExportedOuterFunc, Decl(moduleVisibilityTest1.ts, 2, 17)) >OuterMod : Symbol(OuterMod, Decl(moduleVisibilityTest1.ts, 0, 0)) >someExportedOuterFunc : Symbol(OuterMod.someExportedOuterFunc, Decl(moduleVisibilityTest1.ts, 2, 17)) public someMethod() { return 0; } ->someMethod : Symbol(someMethod, Decl(moduleVisibilityTest1.ts, 39, 91)) +>someMethod : Symbol(C.someMethod, Decl(moduleVisibilityTest1.ts, 39, 91)) public someProp = 1; ->someProp : Symbol(someProp, Decl(moduleVisibilityTest1.ts, 40, 35)) +>someProp : Symbol(C.someProp, Decl(moduleVisibilityTest1.ts, 40, 35)) constructor() { function someInnerFunc() { return 2; } diff --git a/tests/baselines/reference/moduleWithStatementsOfEveryKind.symbols b/tests/baselines/reference/moduleWithStatementsOfEveryKind.symbols index d121e6b5367..48b5f8607be 100644 --- a/tests/baselines/reference/moduleWithStatementsOfEveryKind.symbols +++ b/tests/baselines/reference/moduleWithStatementsOfEveryKind.symbols @@ -4,23 +4,23 @@ module A { class A { s: string } >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 0, 10)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 1, 13)) +>s : Symbol(A.s, Decl(moduleWithStatementsOfEveryKind.ts, 1, 13)) class AA { s: T } >AA : Symbol(AA, Decl(moduleWithStatementsOfEveryKind.ts, 1, 25)) >T : Symbol(T, Decl(moduleWithStatementsOfEveryKind.ts, 2, 13)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 2, 17)) +>s : Symbol(AA.s, Decl(moduleWithStatementsOfEveryKind.ts, 2, 17)) >T : Symbol(T, Decl(moduleWithStatementsOfEveryKind.ts, 2, 13)) interface I { id: number } >I : Symbol(I, Decl(moduleWithStatementsOfEveryKind.ts, 2, 24)) ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 3, 17)) +>id : Symbol(I.id, Decl(moduleWithStatementsOfEveryKind.ts, 3, 17)) class B extends AA implements I { id: number } >B : Symbol(B, Decl(moduleWithStatementsOfEveryKind.ts, 3, 30)) >AA : Symbol(AA, Decl(moduleWithStatementsOfEveryKind.ts, 1, 25)) >I : Symbol(I, Decl(moduleWithStatementsOfEveryKind.ts, 2, 24)) ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 5, 45)) +>id : Symbol(B.id, Decl(moduleWithStatementsOfEveryKind.ts, 5, 45)) class BB extends A { >BB : Symbol(BB, Decl(moduleWithStatementsOfEveryKind.ts, 5, 58)) @@ -28,7 +28,7 @@ module A { >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 0, 10)) id: number; ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 6, 27)) +>id : Symbol(BB.id, Decl(moduleWithStatementsOfEveryKind.ts, 6, 27)) } module Module { @@ -36,7 +36,7 @@ module A { class A { s: string } >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 10, 19)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 11, 17)) +>s : Symbol(A.s, Decl(moduleWithStatementsOfEveryKind.ts, 11, 17)) } enum Color { Blue, Red } >Color : Symbol(Color, Decl(moduleWithStatementsOfEveryKind.ts, 12, 5)) @@ -82,23 +82,23 @@ module Y { export class A { s: string } >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 29, 10)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 30, 20)) +>s : Symbol(A.s, Decl(moduleWithStatementsOfEveryKind.ts, 30, 20)) export class AA { s: T } >AA : Symbol(AA, Decl(moduleWithStatementsOfEveryKind.ts, 30, 32)) >T : Symbol(T, Decl(moduleWithStatementsOfEveryKind.ts, 31, 20)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 31, 24)) +>s : Symbol(AA.s, Decl(moduleWithStatementsOfEveryKind.ts, 31, 24)) >T : Symbol(T, Decl(moduleWithStatementsOfEveryKind.ts, 31, 20)) export interface I { id: number } >I : Symbol(I, Decl(moduleWithStatementsOfEveryKind.ts, 31, 31)) ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 32, 24)) +>id : Symbol(I.id, Decl(moduleWithStatementsOfEveryKind.ts, 32, 24)) export class B extends AA implements I { id: number } >B : Symbol(B, Decl(moduleWithStatementsOfEveryKind.ts, 32, 37)) >AA : Symbol(AA, Decl(moduleWithStatementsOfEveryKind.ts, 30, 32)) >I : Symbol(I, Decl(moduleWithStatementsOfEveryKind.ts, 31, 31)) ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 34, 52)) +>id : Symbol(B.id, Decl(moduleWithStatementsOfEveryKind.ts, 34, 52)) export class BB extends A { >BB : Symbol(BB, Decl(moduleWithStatementsOfEveryKind.ts, 34, 65)) @@ -106,7 +106,7 @@ module Y { >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 29, 10)) id: number; ->id : Symbol(id, Decl(moduleWithStatementsOfEveryKind.ts, 35, 34)) +>id : Symbol(BB.id, Decl(moduleWithStatementsOfEveryKind.ts, 35, 34)) } export module Module { @@ -114,7 +114,7 @@ module Y { class A { s: string } >A : Symbol(A, Decl(moduleWithStatementsOfEveryKind.ts, 39, 26)) ->s : Symbol(s, Decl(moduleWithStatementsOfEveryKind.ts, 40, 17)) +>s : Symbol(A.s, Decl(moduleWithStatementsOfEveryKind.ts, 40, 17)) } export enum Color { Blue, Red } >Color : Symbol(Color, Decl(moduleWithStatementsOfEveryKind.ts, 41, 5)) diff --git a/tests/baselines/reference/moduledecl.symbols b/tests/baselines/reference/moduledecl.symbols index 178c406f8cd..f0b2db9121c 100644 --- a/tests/baselines/reference/moduledecl.symbols +++ b/tests/baselines/reference/moduledecl.symbols @@ -65,10 +65,10 @@ module m0 { >c1 : Symbol(c1, Decl(moduledecl.ts, 25, 5)) public a : ()=>string; ->a : Symbol(a, Decl(moduledecl.ts, 27, 14)) +>a : Symbol(c1.a, Decl(moduledecl.ts, 27, 14)) private b: ()=>number; ->b : Symbol(b, Decl(moduledecl.ts, 28, 30)) +>b : Symbol(c1.b, Decl(moduledecl.ts, 28, 30)) private static s1; >s1 : Symbol(c1.s1, Decl(moduledecl.ts, 29, 30)) @@ -141,10 +141,10 @@ module m1 { >c1 : Symbol(c1, Decl(moduledecl.ts, 54, 5)) public a: () =>string; ->a : Symbol(a, Decl(moduledecl.ts, 56, 21)) +>a : Symbol(c1.a, Decl(moduledecl.ts, 56, 21)) private b: () =>number; ->b : Symbol(b, Decl(moduledecl.ts, 57, 30)) +>b : Symbol(c1.b, Decl(moduledecl.ts, 57, 30)) private static s1; >s1 : Symbol(c1.s1, Decl(moduledecl.ts, 58, 31)) @@ -153,21 +153,21 @@ module m1 { >s2 : Symbol(c1.s2, Decl(moduledecl.ts, 59, 26)) public d() { ->d : Symbol(d, Decl(moduledecl.ts, 60, 25)) +>d : Symbol(c1.d, Decl(moduledecl.ts, 60, 25)) return "Hello"; } public e: { x: number; y: string; }; ->e : Symbol(e, Decl(moduledecl.ts, 64, 9)) +>e : Symbol(c1.e, Decl(moduledecl.ts, 64, 9)) >x : Symbol(x, Decl(moduledecl.ts, 66, 19)) >y : Symbol(y, Decl(moduledecl.ts, 66, 30)) constructor (public n, public n2: number, private n3, private n4: string) { ->n : Symbol(n, Decl(moduledecl.ts, 67, 21)) ->n2 : Symbol(n2, Decl(moduledecl.ts, 67, 30)) ->n3 : Symbol(n3, Decl(moduledecl.ts, 67, 49)) ->n4 : Symbol(n4, Decl(moduledecl.ts, 67, 61)) +>n : Symbol(c1.n, Decl(moduledecl.ts, 67, 21)) +>n2 : Symbol(c1.n2, Decl(moduledecl.ts, 67, 30)) +>n3 : Symbol(c1.n3, Decl(moduledecl.ts, 67, 49)) +>n4 : Symbol(c1.n4, Decl(moduledecl.ts, 67, 61)) } } @@ -312,13 +312,13 @@ module exportTests { >C1_public : Symbol(C1_public, Decl(moduledecl.ts, 138, 20)) private f2() { ->f2 : Symbol(f2, Decl(moduledecl.ts, 139, 28)) +>f2 : Symbol(C1_public.f2, Decl(moduledecl.ts, 139, 28)) return 30; } public f3() { ->f3 : Symbol(f3, Decl(moduledecl.ts, 142, 9)) +>f3 : Symbol(C1_public.f3, Decl(moduledecl.ts, 142, 9)) return "string"; } @@ -327,13 +327,13 @@ module exportTests { >C2_private : Symbol(C2_private, Decl(moduledecl.ts, 147, 5)) private f2() { ->f2 : Symbol(f2, Decl(moduledecl.ts, 148, 22)) +>f2 : Symbol(C2_private.f2, Decl(moduledecl.ts, 148, 22)) return 30; } public f3() { ->f3 : Symbol(f3, Decl(moduledecl.ts, 151, 9)) +>f3 : Symbol(C2_private.f3, Decl(moduledecl.ts, 151, 9)) return "string"; } @@ -343,35 +343,35 @@ module exportTests { >C3_public : Symbol(C3_public, Decl(moduledecl.ts, 156, 5)) private getC2_private() { ->getC2_private : Symbol(getC2_private, Decl(moduledecl.ts, 158, 28)) +>getC2_private : Symbol(C3_public.getC2_private, Decl(moduledecl.ts, 158, 28)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(moduledecl.ts, 147, 5)) } private setC2_private(arg: C2_private) { ->setC2_private : Symbol(setC2_private, Decl(moduledecl.ts, 161, 9)) +>setC2_private : Symbol(C3_public.setC2_private, Decl(moduledecl.ts, 161, 9)) >arg : Symbol(arg, Decl(moduledecl.ts, 162, 30)) >C2_private : Symbol(C2_private, Decl(moduledecl.ts, 147, 5)) } private get c2() { ->c2 : Symbol(c2, Decl(moduledecl.ts, 163, 9)) +>c2 : Symbol(C3_public.c2, Decl(moduledecl.ts, 163, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(moduledecl.ts, 147, 5)) } public getC1_public() { ->getC1_public : Symbol(getC1_public, Decl(moduledecl.ts, 166, 9)) +>getC1_public : Symbol(C3_public.getC1_public, Decl(moduledecl.ts, 166, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(moduledecl.ts, 138, 20)) } public setC1_public(arg: C1_public) { ->setC1_public : Symbol(setC1_public, Decl(moduledecl.ts, 169, 9)) +>setC1_public : Symbol(C3_public.setC1_public, Decl(moduledecl.ts, 169, 9)) >arg : Symbol(arg, Decl(moduledecl.ts, 170, 28)) >C1_public : Symbol(C1_public, Decl(moduledecl.ts, 138, 20)) } public get c1() { ->c1 : Symbol(c1, Decl(moduledecl.ts, 171, 9)) +>c1 : Symbol(C3_public.c1, Decl(moduledecl.ts, 171, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(moduledecl.ts, 138, 20)) @@ -386,7 +386,7 @@ declare module mAmbient { >C : Symbol(C, Decl(moduledecl.ts, 178, 25)) public myProp: number; ->myProp : Symbol(myProp, Decl(moduledecl.ts, 179, 13)) +>myProp : Symbol(C.myProp, Decl(moduledecl.ts, 179, 13)) } function foo() : C; @@ -401,10 +401,10 @@ declare module mAmbient { >B : Symbol(B, Decl(moduledecl.ts, 184, 16)) x: number; ->x : Symbol(x, Decl(moduledecl.ts, 185, 17)) +>x : Symbol(B.x, Decl(moduledecl.ts, 185, 17)) y: C; ->y : Symbol(y, Decl(moduledecl.ts, 186, 18)) +>y : Symbol(B.y, Decl(moduledecl.ts, 186, 18)) >C : Symbol(C, Decl(moduledecl.ts, 178, 25)) } enum e { @@ -427,7 +427,7 @@ declare module mAmbient { >C : Symbol(C, Decl(moduledecl.ts, 195, 15)) public myProp: number; ->myProp : Symbol(myProp, Decl(moduledecl.ts, 196, 17)) +>myProp : Symbol(C.myProp, Decl(moduledecl.ts, 196, 17)) } function foo(): C; @@ -442,10 +442,10 @@ declare module mAmbient { >B : Symbol(B, Decl(moduledecl.ts, 201, 20)) x: number; ->x : Symbol(x, Decl(moduledecl.ts, 202, 21)) +>x : Symbol(B.x, Decl(moduledecl.ts, 202, 21)) y: C; ->y : Symbol(y, Decl(moduledecl.ts, 203, 22)) +>y : Symbol(B.y, Decl(moduledecl.ts, 203, 22)) >C : Symbol(C, Decl(moduledecl.ts, 195, 15)) } enum e { diff --git a/tests/baselines/reference/multiExtendsSplitInterfaces2.symbols b/tests/baselines/reference/multiExtendsSplitInterfaces2.symbols index c9f390f1621..0572d2df333 100644 --- a/tests/baselines/reference/multiExtendsSplitInterfaces2.symbols +++ b/tests/baselines/reference/multiExtendsSplitInterfaces2.symbols @@ -3,7 +3,7 @@ interface A { >A : Symbol(A, Decl(multiExtendsSplitInterfaces2.ts, 0, 0)) a: number; ->a : Symbol(a, Decl(multiExtendsSplitInterfaces2.ts, 0, 13)) +>a : Symbol(A.a, Decl(multiExtendsSplitInterfaces2.ts, 0, 13)) } interface I extends A { @@ -11,14 +11,14 @@ interface I extends A { >A : Symbol(A, Decl(multiExtendsSplitInterfaces2.ts, 0, 0)) i1: number; ->i1 : Symbol(i1, Decl(multiExtendsSplitInterfaces2.ts, 4, 23)) +>i1 : Symbol(I.i1, Decl(multiExtendsSplitInterfaces2.ts, 4, 23)) } interface B { >B : Symbol(B, Decl(multiExtendsSplitInterfaces2.ts, 6, 1)) b: number; ->b : Symbol(b, Decl(multiExtendsSplitInterfaces2.ts, 8, 13)) +>b : Symbol(B.b, Decl(multiExtendsSplitInterfaces2.ts, 8, 13)) } interface I extends B { @@ -26,7 +26,7 @@ interface I extends B { >B : Symbol(B, Decl(multiExtendsSplitInterfaces2.ts, 6, 1)) i2: number; ->i2 : Symbol(i2, Decl(multiExtendsSplitInterfaces2.ts, 12, 23)) +>i2 : Symbol(I.i2, Decl(multiExtendsSplitInterfaces2.ts, 12, 23)) } var i: I; diff --git a/tests/baselines/reference/multiImportExport.symbols b/tests/baselines/reference/multiImportExport.symbols index 45b59752b2a..e4bac0d7662 100644 --- a/tests/baselines/reference/multiImportExport.symbols +++ b/tests/baselines/reference/multiImportExport.symbols @@ -35,7 +35,7 @@ class Adder { >Adder : Symbol(Adder, Decl(Adder.ts, 0, 0)) add(a: number, b: number) { ->add : Symbol(add, Decl(Adder.ts, 0, 13)) +>add : Symbol(Adder.add, Decl(Adder.ts, 0, 13)) >a : Symbol(a, Decl(Adder.ts, 1, 8)) >b : Symbol(b, Decl(Adder.ts, 1, 18)) diff --git a/tests/baselines/reference/multiModuleClodule1.symbols b/tests/baselines/reference/multiModuleClodule1.symbols index 8f83e58ed26..7fdbd064e3d 100644 --- a/tests/baselines/reference/multiModuleClodule1.symbols +++ b/tests/baselines/reference/multiModuleClodule1.symbols @@ -6,10 +6,10 @@ class C { >x : Symbol(x, Decl(multiModuleClodule1.ts, 1, 16)) foo() { } ->foo : Symbol(foo, Decl(multiModuleClodule1.ts, 1, 30)) +>foo : Symbol(C.foo, Decl(multiModuleClodule1.ts, 1, 30)) bar() { } ->bar : Symbol(bar, Decl(multiModuleClodule1.ts, 2, 13)) +>bar : Symbol(C.bar, Decl(multiModuleClodule1.ts, 2, 13)) static boo() { } >boo : Symbol(C.boo, Decl(multiModuleClodule1.ts, 3, 13)) diff --git a/tests/baselines/reference/mutrec.symbols b/tests/baselines/reference/mutrec.symbols index 2a24cc4c65e..c4bf8753373 100644 --- a/tests/baselines/reference/mutrec.symbols +++ b/tests/baselines/reference/mutrec.symbols @@ -3,7 +3,7 @@ interface A { >A : Symbol(A, Decl(mutrec.ts, 0, 0)) x:B[]; ->x : Symbol(x, Decl(mutrec.ts, 0, 13)) +>x : Symbol(A.x, Decl(mutrec.ts, 0, 13)) >B : Symbol(B, Decl(mutrec.ts, 2, 1)) } @@ -11,7 +11,7 @@ interface B { >B : Symbol(B, Decl(mutrec.ts, 2, 1)) x:A[]; ->x : Symbol(x, Decl(mutrec.ts, 4, 13)) +>x : Symbol(B.x, Decl(mutrec.ts, 4, 13)) >A : Symbol(A, Decl(mutrec.ts, 0, 0)) } @@ -33,7 +33,7 @@ interface I1 { >I1 : Symbol(I1, Decl(mutrec.ts, 10, 5)) y:I2; ->y : Symbol(y, Decl(mutrec.ts, 12, 14)) +>y : Symbol(I1.y, Decl(mutrec.ts, 12, 14)) >I2 : Symbol(I2, Decl(mutrec.ts, 14, 1)) } @@ -41,7 +41,7 @@ interface I2 { >I2 : Symbol(I2, Decl(mutrec.ts, 14, 1)) y:I3; ->y : Symbol(y, Decl(mutrec.ts, 16, 14)) +>y : Symbol(I2.y, Decl(mutrec.ts, 16, 14)) >I3 : Symbol(I3, Decl(mutrec.ts, 18, 1)) } @@ -49,7 +49,7 @@ interface I3 { >I3 : Symbol(I3, Decl(mutrec.ts, 18, 1)) y:I1; ->y : Symbol(y, Decl(mutrec.ts, 20, 14)) +>y : Symbol(I3.y, Decl(mutrec.ts, 20, 14)) >I1 : Symbol(I1, Decl(mutrec.ts, 10, 5)) } @@ -79,7 +79,7 @@ interface I4 { >I4 : Symbol(I4, Decl(mutrec.ts, 28, 6)) y:I5; ->y : Symbol(y, Decl(mutrec.ts, 30, 14)) +>y : Symbol(I4.y, Decl(mutrec.ts, 30, 14)) >I5 : Symbol(I5, Decl(mutrec.ts, 32, 1)) } @@ -87,7 +87,7 @@ interface I5 { >I5 : Symbol(I5, Decl(mutrec.ts, 32, 1)) y:I4; ->y : Symbol(y, Decl(mutrec.ts, 34, 14)) +>y : Symbol(I5.y, Decl(mutrec.ts, 34, 14)) >I4 : Symbol(I4, Decl(mutrec.ts, 28, 6)) } diff --git a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.symbols b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.symbols index 67871a590cb..6d42a8c83f9 100644 --- a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.symbols +++ b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.symbols @@ -4,15 +4,15 @@ interface A { >T : Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 12)) foo(): B; // instead of B does see this ->foo : Symbol(foo, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 16), Decl(mutuallyRecursiveGenericBaseTypes1.ts, 1, 16)) +>foo : Symbol(A.foo, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 16), Decl(mutuallyRecursiveGenericBaseTypes1.ts, 1, 16)) >B : Symbol(B, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 5, 1)) >T : Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 12)) foo(): void; // instead of B does see this ->foo : Symbol(foo, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 16), Decl(mutuallyRecursiveGenericBaseTypes1.ts, 1, 16)) +>foo : Symbol(A.foo, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 0, 16), Decl(mutuallyRecursiveGenericBaseTypes1.ts, 1, 16)) foo2(): B; ->foo2 : Symbol(foo2, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 2, 16)) +>foo2 : Symbol(A.foo2, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 2, 16)) >B : Symbol(B, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 5, 1)) } @@ -23,7 +23,7 @@ interface B extends A { >T : Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 7, 12)) bar(): void; ->bar : Symbol(bar, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 7, 29)) +>bar : Symbol(B.bar, Decl(mutuallyRecursiveGenericBaseTypes1.ts, 7, 29)) } var b: B; diff --git a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes2.symbols b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes2.symbols index d66f6a0c66f..11d5535a6a7 100644 --- a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes2.symbols +++ b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes2.symbols @@ -4,7 +4,7 @@ class foo >T : Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 10)) { bar(): foo2 { return null; } ->bar : Symbol(bar, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 1, 1)) +>bar : Symbol(foo.bar, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 1, 1)) >foo2 : Symbol(foo2, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 3, 1)) >T : Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 10)) } diff --git a/tests/baselines/reference/nameCollision.symbols b/tests/baselines/reference/nameCollision.symbols index 064726e21fa..bd14bc6a95f 100644 --- a/tests/baselines/reference/nameCollision.symbols +++ b/tests/baselines/reference/nameCollision.symbols @@ -27,7 +27,7 @@ module B { >B : Symbol(B, Decl(nameCollision.ts, 11, 10)) name: string; ->name : Symbol(name, Decl(nameCollision.ts, 14, 13)) +>name : Symbol(B.name, Decl(nameCollision.ts, 14, 13)) } } @@ -80,7 +80,7 @@ module D { >D : Symbol(D, Decl(nameCollision.ts, 39, 10)) id: number; ->id : Symbol(id, Decl(nameCollision.ts, 40, 24)) +>id : Symbol(D.id, Decl(nameCollision.ts, 40, 24)) } export var E = 'hello'; diff --git a/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.symbols b/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.symbols index 707bc64571f..d75eb3c5303 100644 --- a/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.symbols +++ b/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.symbols @@ -3,7 +3,7 @@ class Foo{ >Foo : Symbol(Foo, Decl(namedFunctionExpressionAssignedToClassProperty.ts, 0, 0)) a = function bar(){ ->a : Symbol(a, Decl(namedFunctionExpressionAssignedToClassProperty.ts, 0, 10)) +>a : Symbol(Foo.a, Decl(namedFunctionExpressionAssignedToClassProperty.ts, 0, 10)) >bar : Symbol(bar, Decl(namedFunctionExpressionAssignedToClassProperty.ts, 2, 10)) }; // this shouldn't crash the compiler... diff --git a/tests/baselines/reference/narrowTypeByInstanceof.symbols b/tests/baselines/reference/narrowTypeByInstanceof.symbols index 3e620fd105c..994327ab21c 100644 --- a/tests/baselines/reference/narrowTypeByInstanceof.symbols +++ b/tests/baselines/reference/narrowTypeByInstanceof.symbols @@ -3,7 +3,7 @@ >Match : Symbol(Match, Decl(narrowTypeByInstanceof.ts, 0, 0)) public range(): any { ->range : Symbol(range, Decl(narrowTypeByInstanceof.ts, 0, 17)) +>range : Symbol(Match.range, Decl(narrowTypeByInstanceof.ts, 0, 17)) return undefined; >undefined : Symbol(undefined) @@ -14,7 +14,7 @@ >FileMatch : Symbol(FileMatch, Decl(narrowTypeByInstanceof.ts, 4, 5)) public resource(): any { ->resource : Symbol(resource, Decl(narrowTypeByInstanceof.ts, 6, 21)) +>resource : Symbol(FileMatch.resource, Decl(narrowTypeByInstanceof.ts, 6, 21)) return undefined; >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols b/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols index 891fc363dbd..8c45ccfbc19 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols @@ -31,7 +31,7 @@ class A { >A : Symbol(A, Decl(negateOperatorWithAnyOtherType.ts, 11, 1)) public a: any; ->a : Symbol(a, Decl(negateOperatorWithAnyOtherType.ts, 12, 9)) +>a : Symbol(A.a, Decl(negateOperatorWithAnyOtherType.ts, 12, 9)) static foo() { >foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 18)) diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.symbols b/tests/baselines/reference/negateOperatorWithBooleanType.symbols index 55b35026b97..a7568eeafe7 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/negateOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(negateOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(negateOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(negateOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/negateOperatorWithNumberType.symbols b/tests/baselines/reference/negateOperatorWithNumberType.symbols index 1f75d922b09..cf042284898 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.symbols +++ b/tests/baselines/reference/negateOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(negateOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(negateOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(negateOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/negateOperatorWithStringType.symbols b/tests/baselines/reference/negateOperatorWithStringType.symbols index 5ef0afc7e1c..497e3c7cb00 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.symbols +++ b/tests/baselines/reference/negateOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(negateOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(negateOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(negateOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/nestedGenerics.symbols b/tests/baselines/reference/nestedGenerics.symbols index 24b3e1eb89d..87ba74a503a 100644 --- a/tests/baselines/reference/nestedGenerics.symbols +++ b/tests/baselines/reference/nestedGenerics.symbols @@ -4,7 +4,7 @@ interface Foo { >T : Symbol(T, Decl(nestedGenerics.ts, 0, 14)) t: T; ->t : Symbol(t, Decl(nestedGenerics.ts, 0, 18)) +>t : Symbol(Foo.t, Decl(nestedGenerics.ts, 0, 18)) >T : Symbol(T, Decl(nestedGenerics.ts, 0, 14)) } diff --git a/tests/baselines/reference/nestedInfinitelyExpandedRecursiveTypes.symbols b/tests/baselines/reference/nestedInfinitelyExpandedRecursiveTypes.symbols index 28206f8dec2..d9fec01208e 100644 --- a/tests/baselines/reference/nestedInfinitelyExpandedRecursiveTypes.symbols +++ b/tests/baselines/reference/nestedInfinitelyExpandedRecursiveTypes.symbols @@ -4,7 +4,7 @@ interface F { >T : Symbol(T, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 0, 12)) t: G T>>; ->t : Symbol(t, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 0, 16)) +>t : Symbol(F.t, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 0, 16)) >G : Symbol(G, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 2, 1)) >F : Symbol(F, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 0, 0)) >T : Symbol(T, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 0, 12)) @@ -14,7 +14,7 @@ interface G { >U : Symbol(U, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 3, 12)) t: G U>>; ->t : Symbol(t, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 3, 16)) +>t : Symbol(G.t, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 3, 16)) >G : Symbol(G, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 2, 1)) >G : Symbol(G, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 2, 1)) >U : Symbol(U, Decl(nestedInfinitelyExpandedRecursiveTypes.ts, 3, 12)) diff --git a/tests/baselines/reference/nestedModules.symbols b/tests/baselines/reference/nestedModules.symbols index 7ff4efd30f6..642d181f2c5 100644 --- a/tests/baselines/reference/nestedModules.symbols +++ b/tests/baselines/reference/nestedModules.symbols @@ -8,10 +8,10 @@ module A.B.C { >Point : Symbol(Point, Decl(nestedModules.ts, 0, 14)) x: number; ->x : Symbol(x, Decl(nestedModules.ts, 1, 28)) +>x : Symbol(Point.x, Decl(nestedModules.ts, 1, 28)) y: number; ->y : Symbol(y, Decl(nestedModules.ts, 2, 18)) +>y : Symbol(Point.y, Decl(nestedModules.ts, 2, 18)) } } @@ -38,8 +38,8 @@ module M2.X { >Point : Symbol(Point, Decl(nestedModules.ts, 13, 13), Decl(nestedModules.ts, 21, 18)) x: number; y: number; ->x : Symbol(x, Decl(nestedModules.ts, 14, 28)) ->y : Symbol(y, Decl(nestedModules.ts, 15, 18)) +>x : Symbol(Point.x, Decl(nestedModules.ts, 14, 28)) +>y : Symbol(Point.y, Decl(nestedModules.ts, 15, 18)) } } diff --git a/tests/baselines/reference/nestedSelf.symbols b/tests/baselines/reference/nestedSelf.symbols index a14a9b9d374..50bdd9981e2 100644 --- a/tests/baselines/reference/nestedSelf.symbols +++ b/tests/baselines/reference/nestedSelf.symbols @@ -6,16 +6,16 @@ module M { >C : Symbol(C, Decl(nestedSelf.ts, 0, 10)) public n = 42; ->n : Symbol(n, Decl(nestedSelf.ts, 1, 17)) +>n : Symbol(C.n, Decl(nestedSelf.ts, 1, 17)) public foo() { [1,2,3].map((x) => { return this.n * x; })} ->foo : Symbol(foo, Decl(nestedSelf.ts, 2, 17)) +>foo : Symbol(C.foo, Decl(nestedSelf.ts, 2, 17)) >[1,2,3].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) >map : Symbol(Array.map, Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(nestedSelf.ts, 3, 31)) ->this.n : Symbol(n, Decl(nestedSelf.ts, 1, 17)) +>this.n : Symbol(C.n, Decl(nestedSelf.ts, 1, 17)) >this : Symbol(C, Decl(nestedSelf.ts, 0, 10)) ->n : Symbol(n, Decl(nestedSelf.ts, 1, 17)) +>n : Symbol(C.n, Decl(nestedSelf.ts, 1, 17)) >x : Symbol(x, Decl(nestedSelf.ts, 3, 31)) } } diff --git a/tests/baselines/reference/newArrays.symbols b/tests/baselines/reference/newArrays.symbols index 663b6380bc7..4a312365b3f 100644 --- a/tests/baselines/reference/newArrays.symbols +++ b/tests/baselines/reference/newArrays.symbols @@ -9,30 +9,30 @@ module M { >Gar : Symbol(Gar, Decl(newArrays.ts, 1, 13)) public fa: Foo[]; ->fa : Symbol(fa, Decl(newArrays.ts, 2, 12)) +>fa : Symbol(Gar.fa, Decl(newArrays.ts, 2, 12)) >Foo : Symbol(Foo, Decl(newArrays.ts, 0, 10)) public x = 10; ->x : Symbol(x, Decl(newArrays.ts, 3, 19)) +>x : Symbol(Gar.x, Decl(newArrays.ts, 3, 19)) public y = 10; ->y : Symbol(y, Decl(newArrays.ts, 4, 16)) +>y : Symbol(Gar.y, Decl(newArrays.ts, 4, 16)) public m () { ->m : Symbol(m, Decl(newArrays.ts, 5, 16)) +>m : Symbol(Gar.m, Decl(newArrays.ts, 5, 16)) this.fa = new Array(this.x * this.y); ->this.fa : Symbol(fa, Decl(newArrays.ts, 2, 12)) +>this.fa : Symbol(Gar.fa, Decl(newArrays.ts, 2, 12)) >this : Symbol(Gar, Decl(newArrays.ts, 1, 13)) ->fa : Symbol(fa, Decl(newArrays.ts, 2, 12)) +>fa : Symbol(Gar.fa, Decl(newArrays.ts, 2, 12)) >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >Foo : Symbol(Foo, Decl(newArrays.ts, 0, 10)) ->this.x : Symbol(x, Decl(newArrays.ts, 3, 19)) +>this.x : Symbol(Gar.x, Decl(newArrays.ts, 3, 19)) >this : Symbol(Gar, Decl(newArrays.ts, 1, 13)) ->x : Symbol(x, Decl(newArrays.ts, 3, 19)) ->this.y : Symbol(y, Decl(newArrays.ts, 4, 16)) +>x : Symbol(Gar.x, Decl(newArrays.ts, 3, 19)) +>this.y : Symbol(Gar.y, Decl(newArrays.ts, 4, 16)) >this : Symbol(Gar, Decl(newArrays.ts, 1, 13)) ->y : Symbol(y, Decl(newArrays.ts, 4, 16)) +>y : Symbol(Gar.y, Decl(newArrays.ts, 4, 16)) } } } diff --git a/tests/baselines/reference/newWithSpreadES5.symbols b/tests/baselines/reference/newWithSpreadES5.symbols index 021674ef337..4494063e2fa 100644 --- a/tests/baselines/reference/newWithSpreadES5.symbols +++ b/tests/baselines/reference/newWithSpreadES5.symbols @@ -15,7 +15,7 @@ interface A { >A : Symbol(A, Decl(newWithSpreadES5.ts, 4, 30)) f: { ->f : Symbol(f, Decl(newWithSpreadES5.ts, 6, 13)) +>f : Symbol(A.f, Decl(newWithSpreadES5.ts, 6, 13)) new (x: number, y: number, ...z: string[]); >x : Symbol(x, Decl(newWithSpreadES5.ts, 8, 13)) diff --git a/tests/baselines/reference/newWithSpreadES6.symbols b/tests/baselines/reference/newWithSpreadES6.symbols index 51a34ad73ef..14e52279a27 100644 --- a/tests/baselines/reference/newWithSpreadES6.symbols +++ b/tests/baselines/reference/newWithSpreadES6.symbols @@ -16,7 +16,7 @@ interface A { >A : Symbol(A, Decl(newWithSpreadES6.ts, 5, 1)) f: { ->f : Symbol(f, Decl(newWithSpreadES6.ts, 7, 13)) +>f : Symbol(A.f, Decl(newWithSpreadES6.ts, 7, 13)) new (x: number, y: number, ...z: string[]); >x : Symbol(x, Decl(newWithSpreadES6.ts, 9, 13)) diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.symbols b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.symbols index 72e0d20a9b2..02b8d0d0985 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.symbols +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.symbols @@ -6,7 +6,7 @@ class a { >a : Symbol(a, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 0, 14)) method1() { ->method1 : Symbol(method1, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 1, 9)) +>method1 : Symbol(a.method1, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 1, 9)) return { doStuff: (callback) => () => { @@ -23,7 +23,7 @@ class a { } } method2() { ->method2 : Symbol(method2, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 9, 5)) +>method2 : Symbol(a.method2, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 9, 5)) var _this = 2; >_this : Symbol(_this, Decl(noCollisionThisExpressionAndLocalVarInMethod.ts, 11, 11)) diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.symbols b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.symbols index 0dc4cf1d84e..095a1e87b80 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.symbols +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.symbols @@ -3,7 +3,7 @@ class class1 { >class1 : Symbol(class1, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 0, 0)) public prop1 = { ->prop1 : Symbol(prop1, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 0, 14)) +>prop1 : Symbol(class1.prop1, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 0, 14)) doStuff: (callback) => () => { >doStuff : Symbol(doStuff, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 1, 20)) @@ -27,7 +27,7 @@ class class2 { >_this : Symbol(_this, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 11, 11)) } public prop1 = { ->prop1 : Symbol(prop1, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 12, 5)) +>prop1 : Symbol(class2.prop1, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 12, 5)) doStuff: (callback) => () => { >doStuff : Symbol(doStuff, Decl(noCollisionThisExpressionAndLocalVarInProperty.ts, 13, 20)) diff --git a/tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.symbols b/tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.symbols index 1673c50f69f..0cfd1cbff07 100644 --- a/tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.symbols +++ b/tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.symbols @@ -12,6 +12,6 @@ declare class Something >someStaticVar : Symbol(Something.someStaticVar, Decl(test.d.ts, 1, 1)) private someVar; ->someVar : Symbol(someVar, Decl(test.d.ts, 2, 33)) +>someVar : Symbol(Something.someVar, Decl(test.d.ts, 2, 33)) } diff --git a/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter.symbols b/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter.symbols index f25acc772a6..c7d9a1b50f4 100644 --- a/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter.symbols +++ b/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter.symbols @@ -5,11 +5,11 @@ interface Tuple { >S : Symbol(S, Decl(nominalSubtypeCheckOfTypeParameter.ts, 0, 18)) first: T ->first : Symbol(first, Decl(nominalSubtypeCheckOfTypeParameter.ts, 0, 23)) +>first : Symbol(Tuple.first, Decl(nominalSubtypeCheckOfTypeParameter.ts, 0, 23)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter.ts, 0, 16)) second: S ->second : Symbol(second, Decl(nominalSubtypeCheckOfTypeParameter.ts, 1, 12)) +>second : Symbol(Tuple.second, Decl(nominalSubtypeCheckOfTypeParameter.ts, 1, 12)) >S : Symbol(S, Decl(nominalSubtypeCheckOfTypeParameter.ts, 0, 18)) } @@ -18,14 +18,14 @@ interface Sequence { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter.ts, 5, 19)) hasNext(): boolean ->hasNext : Symbol(hasNext, Decl(nominalSubtypeCheckOfTypeParameter.ts, 5, 23)) +>hasNext : Symbol(Sequence.hasNext, Decl(nominalSubtypeCheckOfTypeParameter.ts, 5, 23)) pop(): T ->pop : Symbol(pop, Decl(nominalSubtypeCheckOfTypeParameter.ts, 6, 22)) +>pop : Symbol(Sequence.pop, Decl(nominalSubtypeCheckOfTypeParameter.ts, 6, 22)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter.ts, 5, 19)) zip(seq: Sequence): Sequence> ->zip : Symbol(zip, Decl(nominalSubtypeCheckOfTypeParameter.ts, 7, 14)) +>zip : Symbol(Sequence.zip, Decl(nominalSubtypeCheckOfTypeParameter.ts, 7, 14)) >S : Symbol(S, Decl(nominalSubtypeCheckOfTypeParameter.ts, 8, 10)) >seq : Symbol(seq, Decl(nominalSubtypeCheckOfTypeParameter.ts, 8, 13)) >Sequence : Symbol(Sequence, Decl(nominalSubtypeCheckOfTypeParameter.ts, 3, 1)) @@ -45,10 +45,10 @@ interface List extends Sequence { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter.ts, 13, 15)) getLength(): number ->getLength : Symbol(getLength, Decl(nominalSubtypeCheckOfTypeParameter.ts, 13, 39)) +>getLength : Symbol(List.getLength, Decl(nominalSubtypeCheckOfTypeParameter.ts, 13, 39)) zip(seq: Sequence): List> ->zip : Symbol(zip, Decl(nominalSubtypeCheckOfTypeParameter.ts, 14, 23)) +>zip : Symbol(List.zip, Decl(nominalSubtypeCheckOfTypeParameter.ts, 14, 23)) >S : Symbol(S, Decl(nominalSubtypeCheckOfTypeParameter.ts, 15, 10)) >seq : Symbol(seq, Decl(nominalSubtypeCheckOfTypeParameter.ts, 15, 13)) >Sequence : Symbol(Sequence, Decl(nominalSubtypeCheckOfTypeParameter.ts, 3, 1)) diff --git a/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.symbols b/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.symbols index 3249c465a98..53c740cccaa 100644 --- a/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.symbols +++ b/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.symbols @@ -4,7 +4,7 @@ interface B { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12)) bar: T; ->bar : Symbol(bar, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 16)) +>bar : Symbol(B.bar, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 16)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12)) } @@ -16,7 +16,7 @@ interface A extends B { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12)) foo: T; ->foo : Symbol(foo, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 29)) +>foo : Symbol(A.foo, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 29)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12)) } @@ -28,7 +28,7 @@ interface A2 extends B> { >B : Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0)) baz: T; ->baz : Symbol(baz, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 38)) +>baz : Symbol(A2.baz, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 38)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 13)) } @@ -37,7 +37,7 @@ interface C { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12)) bam: T; ->bam : Symbol(bam, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 16)) +>bam : Symbol(C.bam, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 16)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12)) } @@ -50,6 +50,6 @@ interface A3 extends B> { >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13)) bing: T; ->bing : Symbol(bing, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 33)) +>bing : Symbol(A3.bing, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 33)) >T : Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13)) } diff --git a/tests/baselines/reference/nonConflictingRecursiveBaseTypeMembers.symbols b/tests/baselines/reference/nonConflictingRecursiveBaseTypeMembers.symbols index f3ff334931c..4c92f8cb109 100644 --- a/tests/baselines/reference/nonConflictingRecursiveBaseTypeMembers.symbols +++ b/tests/baselines/reference/nonConflictingRecursiveBaseTypeMembers.symbols @@ -4,7 +4,7 @@ interface A { >T : Symbol(T, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 0, 12)) x: C ->x : Symbol(x, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 0, 16)) +>x : Symbol(A.x, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 0, 16)) >C : Symbol(C, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 6, 1)) >T : Symbol(T, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 0, 12)) } @@ -14,7 +14,7 @@ interface B { >T : Symbol(T, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 4, 12)) x: C ->x : Symbol(x, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 4, 16)) +>x : Symbol(B.x, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 4, 16)) >C : Symbol(C, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 6, 1)) >T : Symbol(T, Decl(nonConflictingRecursiveBaseTypeMembers.ts, 4, 12)) } diff --git a/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols b/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols index 738f4fed916..2d921f6631c 100644 --- a/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols +++ b/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols @@ -3,20 +3,20 @@ interface Contextual { >Contextual : Symbol(Contextual, Decl(nonContextuallyTypedLogicalOr.ts, 0, 0)) dummy; ->dummy : Symbol(dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22)) +>dummy : Symbol(Contextual.dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22)) p?: number; ->p : Symbol(p, Decl(nonContextuallyTypedLogicalOr.ts, 1, 10)) +>p : Symbol(Contextual.p, Decl(nonContextuallyTypedLogicalOr.ts, 1, 10)) } interface Ellement { >Ellement : Symbol(Ellement, Decl(nonContextuallyTypedLogicalOr.ts, 3, 1)) dummy; ->dummy : Symbol(dummy, Decl(nonContextuallyTypedLogicalOr.ts, 5, 20)) +>dummy : Symbol(Ellement.dummy, Decl(nonContextuallyTypedLogicalOr.ts, 5, 20)) p: any; ->p : Symbol(p, Decl(nonContextuallyTypedLogicalOr.ts, 6, 10)) +>p : Symbol(Ellement.p, Decl(nonContextuallyTypedLogicalOr.ts, 6, 10)) } var c: Contextual; diff --git a/tests/baselines/reference/nonGenericClassExtendingGenericClassWithAny.symbols b/tests/baselines/reference/nonGenericClassExtendingGenericClassWithAny.symbols index 47daa69239a..54b1dc0c6f3 100644 --- a/tests/baselines/reference/nonGenericClassExtendingGenericClassWithAny.symbols +++ b/tests/baselines/reference/nonGenericClassExtendingGenericClassWithAny.symbols @@ -4,7 +4,7 @@ class Foo { >T : Symbol(T, Decl(nonGenericClassExtendingGenericClassWithAny.ts, 0, 10)) t: T; ->t : Symbol(t, Decl(nonGenericClassExtendingGenericClassWithAny.ts, 0, 14)) +>t : Symbol(Foo.t, Decl(nonGenericClassExtendingGenericClassWithAny.ts, 0, 14)) >T : Symbol(T, Decl(nonGenericClassExtendingGenericClassWithAny.ts, 0, 10)) } diff --git a/tests/baselines/reference/nonInstantiatedModule.symbols b/tests/baselines/reference/nonInstantiatedModule.symbols index 0d67b0318f8..aac81ee5565 100644 --- a/tests/baselines/reference/nonInstantiatedModule.symbols +++ b/tests/baselines/reference/nonInstantiatedModule.symbols @@ -4,8 +4,8 @@ module M { export interface Point { x: number; y: number } >Point : Symbol(Point, Decl(nonInstantiatedModule.ts, 0, 10)) ->x : Symbol(x, Decl(nonInstantiatedModule.ts, 1, 28)) ->y : Symbol(y, Decl(nonInstantiatedModule.ts, 1, 39)) +>x : Symbol(Point.x, Decl(nonInstantiatedModule.ts, 1, 28)) +>y : Symbol(Point.y, Decl(nonInstantiatedModule.ts, 1, 39)) export var a = 1; >a : Symbol(a, Decl(nonInstantiatedModule.ts, 2, 14)) @@ -58,10 +58,10 @@ module M2 { >Point : Symbol(Point, Decl(nonInstantiatedModule.ts, 15, 11), Decl(nonInstantiatedModule.ts, 20, 5)) x: number; ->x : Symbol(x, Decl(nonInstantiatedModule.ts, 22, 28)) +>x : Symbol(Point.x, Decl(nonInstantiatedModule.ts, 22, 28)) y: number; ->y : Symbol(y, Decl(nonInstantiatedModule.ts, 23, 18)) +>y : Symbol(Point.y, Decl(nonInstantiatedModule.ts, 23, 18)) } } @@ -97,8 +97,8 @@ module M3 { >Point : Symbol(Point, Decl(nonInstantiatedModule.ts, 35, 25)) x: number; y: number; ->x : Symbol(x, Decl(nonInstantiatedModule.ts, 36, 32)) ->y : Symbol(y, Decl(nonInstantiatedModule.ts, 37, 22)) +>x : Symbol(Point.x, Decl(nonInstantiatedModule.ts, 36, 32)) +>y : Symbol(Point.y, Decl(nonInstantiatedModule.ts, 37, 22)) } } @@ -106,6 +106,6 @@ module M3 { >Utils : Symbol(Utils, Decl(nonInstantiatedModule.ts, 34, 11), Decl(nonInstantiatedModule.ts, 39, 5)) name: string; ->name : Symbol(name, Decl(nonInstantiatedModule.ts, 41, 24)) +>name : Symbol(Utils.name, Decl(nonInstantiatedModule.ts, 41, 24)) } } diff --git a/tests/baselines/reference/null.symbols b/tests/baselines/reference/null.symbols index bd3d835995b..f1d888e6889 100644 --- a/tests/baselines/reference/null.symbols +++ b/tests/baselines/reference/null.symbols @@ -30,10 +30,10 @@ interface I { >I : Symbol(I, Decl(null.ts, 13, 1)) x:any; ->x : Symbol(x, Decl(null.ts, 14, 13)) +>x : Symbol(I.x, Decl(null.ts, 14, 13)) y:number; ->y : Symbol(y, Decl(null.ts, 15, 10)) +>y : Symbol(I.y, Decl(null.ts, 15, 10)) } var w:I={x:null,y:3}; >w : Symbol(w, Decl(null.ts, 18, 3)) diff --git a/tests/baselines/reference/nullAssignableToEveryType.symbols b/tests/baselines/reference/nullAssignableToEveryType.symbols index a01077c8eb4..1ef7c8373f3 100644 --- a/tests/baselines/reference/nullAssignableToEveryType.symbols +++ b/tests/baselines/reference/nullAssignableToEveryType.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(nullAssignableToEveryType.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(nullAssignableToEveryType.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(nullAssignableToEveryType.ts, 0, 9)) } var ac: C; >ac : Symbol(ac, Decl(nullAssignableToEveryType.ts, 3, 3)) @@ -13,7 +13,7 @@ interface I { >I : Symbol(I, Decl(nullAssignableToEveryType.ts, 3, 10)) foo: string; ->foo : Symbol(foo, Decl(nullAssignableToEveryType.ts, 4, 13)) +>foo : Symbol(I.foo, Decl(nullAssignableToEveryType.ts, 4, 13)) } var ai: I; >ai : Symbol(ai, Decl(nullAssignableToEveryType.ts, 7, 3)) diff --git a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols index cb6fab17560..9b10e1e447b 100644 --- a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols +++ b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols @@ -81,7 +81,7 @@ var r8b = true ? null : (x: T) => { return x }; // type parameters not identi interface I1 { foo: number; } >I1 : Symbol(I1, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 31, 50)) ->foo : Symbol(foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 33, 14)) +>foo : Symbol(I1.foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 33, 14)) var i1: I1; >i1 : Symbol(i1, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 34, 3)) @@ -97,7 +97,7 @@ var r9 = true ? null : i1; class C1 { foo: number; } >C1 : Symbol(C1, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 36, 26)) ->foo : Symbol(foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 38, 10)) +>foo : Symbol(C1.foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 38, 10)) var c1: C1; >c1 : Symbol(c1, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 39, 3)) @@ -114,7 +114,7 @@ var r10 = true ? null : c1; class C2 { foo: T; } >C2 : Symbol(C2, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 41, 27)) >T : Symbol(T, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 43, 9)) ->foo : Symbol(foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 43, 13)) +>foo : Symbol(C2.foo, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 43, 13)) >T : Symbol(T, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 43, 9)) var c2: C2; @@ -176,7 +176,7 @@ var r15 = true ? null : af; class c { baz: string } >c : Symbol(c, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 61, 27), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 63, 23)) ->baz : Symbol(baz, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 63, 9)) +>baz : Symbol(c.baz, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 63, 9)) module c { >c : Symbol(c, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 61, 27), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 63, 23)) diff --git a/tests/baselines/reference/numericIndexerConstraint3.symbols b/tests/baselines/reference/numericIndexerConstraint3.symbols index bdf58cb1372..5b784742ad8 100644 --- a/tests/baselines/reference/numericIndexerConstraint3.symbols +++ b/tests/baselines/reference/numericIndexerConstraint3.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(numericIndexerConstraint3.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(numericIndexerConstraint3.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(numericIndexerConstraint3.ts, 0, 9)) } class B extends A { @@ -11,7 +11,7 @@ class B extends A { >A : Symbol(A, Decl(numericIndexerConstraint3.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(numericIndexerConstraint3.ts, 4, 19)) +>bar : Symbol(B.bar, Decl(numericIndexerConstraint3.ts, 4, 19)) } class C { diff --git a/tests/baselines/reference/numericIndexerConstraint4.symbols b/tests/baselines/reference/numericIndexerConstraint4.symbols index 63d976ea1b1..46301a6787b 100644 --- a/tests/baselines/reference/numericIndexerConstraint4.symbols +++ b/tests/baselines/reference/numericIndexerConstraint4.symbols @@ -3,7 +3,7 @@ class A { >A : Symbol(A, Decl(numericIndexerConstraint4.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(numericIndexerConstraint4.ts, 0, 9)) +>foo : Symbol(A.foo, Decl(numericIndexerConstraint4.ts, 0, 9)) } class B extends A { @@ -11,7 +11,7 @@ class B extends A { >A : Symbol(A, Decl(numericIndexerConstraint4.ts, 0, 0)) bar: string; ->bar : Symbol(bar, Decl(numericIndexerConstraint4.ts, 4, 19)) +>bar : Symbol(B.bar, Decl(numericIndexerConstraint4.ts, 4, 19)) } var x: { diff --git a/tests/baselines/reference/objectIndexer.symbols b/tests/baselines/reference/objectIndexer.symbols index 33885a40e27..56d1d4242ca 100644 --- a/tests/baselines/reference/objectIndexer.symbols +++ b/tests/baselines/reference/objectIndexer.symbols @@ -18,14 +18,14 @@ class Emitter { >Emitter : Symbol(Emitter, Decl(objectIndexer.ts, 6, 1)) private listeners: IMap; ->listeners : Symbol(listeners, Decl(objectIndexer.ts, 8, 15)) +>listeners : Symbol(Emitter.listeners, Decl(objectIndexer.ts, 8, 15)) >IMap : Symbol(IMap, Decl(objectIndexer.ts, 2, 1)) constructor () { this.listeners = {}; ->this.listeners : Symbol(listeners, Decl(objectIndexer.ts, 8, 15)) +>this.listeners : Symbol(Emitter.listeners, Decl(objectIndexer.ts, 8, 15)) >this : Symbol(Emitter, Decl(objectIndexer.ts, 6, 1)) ->listeners : Symbol(listeners, Decl(objectIndexer.ts, 8, 15)) +>listeners : Symbol(Emitter.listeners, Decl(objectIndexer.ts, 8, 15)) } } diff --git a/tests/baselines/reference/objectLiteralArraySpecialization.symbols b/tests/baselines/reference/objectLiteralArraySpecialization.symbols index 4cc1188dcc4..0b91dd4a350 100644 --- a/tests/baselines/reference/objectLiteralArraySpecialization.symbols +++ b/tests/baselines/reference/objectLiteralArraySpecialization.symbols @@ -12,12 +12,12 @@ interface MyArrayWrapper { >T : Symbol(T, Decl(objectLiteralArraySpecialization.ts, 1, 25)) constructor(initialItems?: T[]); ->constructor : Symbol(constructor, Decl(objectLiteralArraySpecialization.ts, 1, 29)) +>constructor : Symbol(MyArrayWrapper.constructor, Decl(objectLiteralArraySpecialization.ts, 1, 29)) >initialItems : Symbol(initialItems, Decl(objectLiteralArraySpecialization.ts, 2, 13)) >T : Symbol(T, Decl(objectLiteralArraySpecialization.ts, 1, 25)) doSomething(predicate: (x: T, y: T) => boolean): void; ->doSomething : Symbol(doSomething, Decl(objectLiteralArraySpecialization.ts, 2, 33)) +>doSomething : Symbol(MyArrayWrapper.doSomething, Decl(objectLiteralArraySpecialization.ts, 2, 33)) >predicate : Symbol(predicate, Decl(objectLiteralArraySpecialization.ts, 3, 13)) >x : Symbol(x, Decl(objectLiteralArraySpecialization.ts, 3, 25)) >T : Symbol(T, Decl(objectLiteralArraySpecialization.ts, 1, 25)) diff --git a/tests/baselines/reference/objectLiteralContextualTyping.symbols b/tests/baselines/reference/objectLiteralContextualTyping.symbols index 23a468eac3f..171ae48776f 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.symbols +++ b/tests/baselines/reference/objectLiteralContextualTyping.symbols @@ -8,10 +8,10 @@ interface Item { >Item : Symbol(Item, Decl(objectLiteralContextualTyping.ts, 0, 0)) name: string; ->name : Symbol(name, Decl(objectLiteralContextualTyping.ts, 5, 16)) +>name : Symbol(Item.name, Decl(objectLiteralContextualTyping.ts, 5, 16)) description?: string; ->description : Symbol(description, Decl(objectLiteralContextualTyping.ts, 6, 17)) +>description : Symbol(Item.description, Decl(objectLiteralContextualTyping.ts, 6, 17)) } declare function foo(item: Item): string; diff --git a/tests/baselines/reference/objectLiteralIndexers.symbols b/tests/baselines/reference/objectLiteralIndexers.symbols index 424e95be0fa..53e1c82aca4 100644 --- a/tests/baselines/reference/objectLiteralIndexers.symbols +++ b/tests/baselines/reference/objectLiteralIndexers.symbols @@ -3,7 +3,7 @@ interface A { >A : Symbol(A, Decl(objectLiteralIndexers.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(objectLiteralIndexers.ts, 0, 13)) +>x : Symbol(A.x, Decl(objectLiteralIndexers.ts, 0, 13)) } interface B extends A { @@ -11,7 +11,7 @@ interface B extends A { >A : Symbol(A, Decl(objectLiteralIndexers.ts, 0, 0)) y: string; ->y : Symbol(y, Decl(objectLiteralIndexers.ts, 4, 23)) +>y : Symbol(B.y, Decl(objectLiteralIndexers.ts, 4, 23)) } var a: A; diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObject.symbols b/tests/baselines/reference/objectTypeHidingMembersOfObject.symbols index 5c88d538fdb..b3462d920be 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObject.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfObject.symbols @@ -5,7 +5,7 @@ class C { >C : Symbol(C, Decl(objectTypeHidingMembersOfObject.ts, 0, 0)) valueOf() { } ->valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfObject.ts, 2, 9)) +>valueOf : Symbol(C.valueOf, Decl(objectTypeHidingMembersOfObject.ts, 2, 9)) } var c: C; @@ -22,7 +22,7 @@ interface I { >I : Symbol(I, Decl(objectTypeHidingMembersOfObject.ts, 7, 27)) valueOf(): void; ->valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfObject.ts, 9, 13)) +>valueOf : Symbol(I.valueOf, Decl(objectTypeHidingMembersOfObject.ts, 9, 13)) } var i: I; diff --git a/tests/baselines/reference/objectTypePropertyAccess.symbols b/tests/baselines/reference/objectTypePropertyAccess.symbols index 2117b9ce35a..072ddf5f476 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.symbols +++ b/tests/baselines/reference/objectTypePropertyAccess.symbols @@ -4,7 +4,7 @@ class C { >C : Symbol(C, Decl(objectTypePropertyAccess.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(objectTypePropertyAccess.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(objectTypePropertyAccess.ts, 1, 9)) } var c: C; @@ -37,7 +37,7 @@ interface I { >I : Symbol(I, Decl(objectTypePropertyAccess.ts, 9, 18)) bar: string; ->bar : Symbol(bar, Decl(objectTypePropertyAccess.ts, 11, 13)) +>bar : Symbol(I.bar, Decl(objectTypePropertyAccess.ts, 11, 13)) } var i: I; >i : Symbol(i, Decl(objectTypePropertyAccess.ts, 14, 3)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols index 2d80be5f4ea..8700c3a042f 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols @@ -6,7 +6,7 @@ interface Function { >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) data: number; ->data : Symbol(data, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 3, 20)) +>data : Symbol(Function.data, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 3, 20)) [x: string]: Object; >x : Symbol(x, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 5, 5)) @@ -18,12 +18,12 @@ interface I { (): void; apply(a: any, b?: any): void; ->apply : Symbol(apply, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 9, 13)) +>apply : Symbol(I.apply, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 9, 13)) >a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 10, 10)) >b : Symbol(b, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 10, 17)) call(thisArg: number, ...argArray: number[]): any; ->call : Symbol(call, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 10, 33)) +>call : Symbol(I.call, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 10, 33)) >thisArg : Symbol(thisArg, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 11, 9)) >argArray : Symbol(argArray, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 11, 25)) } diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols index 07b0ca1a9c1..96cb451f861 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols @@ -7,12 +7,12 @@ interface I { (): void; apply(a: any, b?: any): void; ->apply : Symbol(apply, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 4, 13)) +>apply : Symbol(I.apply, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 4, 13)) >a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 5, 10)) >b : Symbol(b, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 5, 17)) call(thisArg: number, ...argArray: number[]): any; ->call : Symbol(call, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 5, 33)) +>call : Symbol(I.call, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 5, 33)) >thisArg : Symbol(thisArg, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 6, 9)) >argArray : Symbol(argArray, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 6, 25)) } diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols index 009291b0fb3..70175ae0d73 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols @@ -3,7 +3,7 @@ interface Function { >Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) data: number; ->data : Symbol(data, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 20)) +>data : Symbol(Function.data, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 20)) [x: string]: Object; >x : Symbol(x, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 2, 5)) @@ -15,12 +15,12 @@ interface I { new(): number; apply(a: any, b?: any): void; ->apply : Symbol(apply, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 6, 18)) +>apply : Symbol(I.apply, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 6, 18)) >a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 7, 10)) >b : Symbol(b, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 7, 17)) call(thisArg: number, ...argArray: number[]): any; ->call : Symbol(call, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 7, 33)) +>call : Symbol(I.call, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 7, 33)) >thisArg : Symbol(thisArg, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 8, 9)) >argArray : Symbol(argArray, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 8, 25)) } diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols index c623bcb6f63..9d128975147 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols @@ -4,12 +4,12 @@ interface I { new(): number; apply(a: any, b?: any): void; ->apply : Symbol(apply, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 1, 18)) +>apply : Symbol(I.apply, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 1, 18)) >a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 2, 10)) >b : Symbol(b, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 2, 17)) call(thisArg: number, ...argArray: number[]): any; ->call : Symbol(call, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 2, 33)) +>call : Symbol(I.call, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 2, 33)) >thisArg : Symbol(thisArg, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 3, 9)) >argArray : Symbol(argArray, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 3, 25)) } diff --git a/tests/baselines/reference/objectTypesIdentity.symbols b/tests/baselines/reference/objectTypesIdentity.symbols index a39b47acf55..8691978a527 100644 --- a/tests/baselines/reference/objectTypesIdentity.symbols +++ b/tests/baselines/reference/objectTypesIdentity.symbols @@ -5,14 +5,14 @@ class A { >A : Symbol(A, Decl(objectTypesIdentity.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentity.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentity.ts, 2, 9)) } class B { >B : Symbol(B, Decl(objectTypesIdentity.ts, 4, 1)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentity.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentity.ts, 6, 9)) } class C { @@ -20,7 +20,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentity.ts, 10, 8)) foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentity.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentity.ts, 10, 12)) >T : Symbol(T, Decl(objectTypesIdentity.ts, 10, 8)) } @@ -28,7 +28,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentity.ts, 12, 1)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentity.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentity.ts, 14, 13)) } var a: { foo: string; } diff --git a/tests/baselines/reference/objectTypesIdentity2.symbols b/tests/baselines/reference/objectTypesIdentity2.symbols index 6db54e5b59a..626841b08dc 100644 --- a/tests/baselines/reference/objectTypesIdentity2.symbols +++ b/tests/baselines/reference/objectTypesIdentity2.symbols @@ -5,14 +5,14 @@ class A { >A : Symbol(A, Decl(objectTypesIdentity2.ts, 0, 0)) foo: number; ->foo : Symbol(foo, Decl(objectTypesIdentity2.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentity2.ts, 2, 9)) } class B { >B : Symbol(B, Decl(objectTypesIdentity2.ts, 4, 1)) foo: boolean; ->foo : Symbol(foo, Decl(objectTypesIdentity2.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentity2.ts, 6, 9)) } class C { @@ -20,7 +20,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentity2.ts, 10, 8)) foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentity2.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentity2.ts, 10, 12)) >T : Symbol(T, Decl(objectTypesIdentity2.ts, 10, 8)) } @@ -28,7 +28,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentity2.ts, 12, 1)) foo: Date; ->foo : Symbol(foo, Decl(objectTypesIdentity2.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentity2.ts, 14, 13)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.symbols b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.symbols index e1131a019c0..72906bc9880 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithCallSignatures.ts, 0, 0)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignatures.ts, 2, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures.ts, 3, 8)) } @@ -13,7 +13,7 @@ class B { >B : Symbol(B, Decl(objectTypesIdentityWithCallSignatures.ts, 4, 1)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignatures.ts, 6, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures.ts, 7, 8)) } @@ -22,7 +22,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 10, 8)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignatures.ts, 10, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures.ts, 11, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 10, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 10, 8)) @@ -32,7 +32,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithCallSignatures.ts, 12, 1)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithCallSignatures.ts, 14, 13)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures.ts, 15, 8)) } @@ -41,7 +41,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 18, 13)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures.ts, 18, 17)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignatures.ts, 18, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures.ts, 19, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 18, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures.ts, 18, 13)) diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols index 7e081608bc0..2ffa1b23e2b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithCallSignatures2.ts, 0, 0)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 2, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 3, 8)) } @@ -13,7 +13,7 @@ class B { >B : Symbol(B, Decl(objectTypesIdentityWithCallSignatures2.ts, 4, 1)) foo(x: number): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 6, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 7, 8)) } @@ -22,7 +22,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 10, 8)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 10, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 11, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 10, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 10, 8)) @@ -32,7 +32,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithCallSignatures2.ts, 12, 1)) foo(x: boolean): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 14, 13)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 15, 8)) } @@ -41,7 +41,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 18, 13)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 18, 17)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 18, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 19, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 18, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignatures2.ts, 18, 13)) diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.symbols b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.symbols index 9341ba35c42..9bf5c16e351 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 0, 0)) foo(x: string): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 2, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 3, 8)) } @@ -13,7 +13,7 @@ class B { >B : Symbol(B, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 4, 1)) foo(x: string, y: string): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 6, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 7, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 7, 18)) } @@ -23,7 +23,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 10, 8)) foo(x: T, y: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 10, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 11, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 10, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 11, 13)) @@ -35,7 +35,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 12, 1)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 14, 13)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 15, 8)) } @@ -44,7 +44,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 18, 13)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 18, 17)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 18, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 19, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 18, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts, 18, 13)) diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.symbols b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.symbols index 6575c6787fd..81dcabbf47e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.symbols @@ -5,15 +5,15 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 0, 0)) foo(x: number): number; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 8)) foo(x: any): any { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 2, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 3, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 4, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 5, 8)) } @@ -21,15 +21,15 @@ class B { >B : Symbol(B, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 6, 1)) foo(x: number): number; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 8)) foo(x: any): any { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 8, 9), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 9, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 10, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 11, 8)) } @@ -38,21 +38,21 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 8)) foo(x: number): number; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 8)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 8)) foo(x: any): any { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 14, 12), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 15, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 16, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 17, 17)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 18, 8)) } @@ -60,11 +60,11 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 19, 1)) foo(x: number): number; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 21, 13), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 22, 27)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 21, 13), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 22, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 22, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 21, 13), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 22, 27)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 21, 13), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 22, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 23, 8)) } @@ -73,15 +73,15 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 13)) foo(x: number): number; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 8)) foo(x: string): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 8)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 17), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 27, 27), Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 28, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 29, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithCallSignaturesWithOverloads.ts, 26, 13)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.symbols index 8fdebdcccbe..42367d7ed38 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 0, 0)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 2, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 3, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 3, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 3, 8)) @@ -17,7 +17,7 @@ class B { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 6, 8)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 6, 12)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 6, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 7, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 6, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 6, 8)) @@ -28,7 +28,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 10, 8)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 10, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 11, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 10, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 10, 8)) @@ -39,7 +39,7 @@ interface I { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 14, 12)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 14, 16)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 14, 16)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 15, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 14, 12)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 14, 12)) @@ -49,7 +49,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 16, 1)) foo(x: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 18, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 18, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 19, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 19, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures.ts, 19, 8)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.symbols index 2ca97948a99..a9925925c9e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 0, 0)) foo(x: T, y: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 2, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 3, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 3, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 3, 14)) @@ -21,7 +21,7 @@ class B { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 6, 10)) foo(x: T, y: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 6, 15)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 6, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 7, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 6, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 7, 13)) @@ -35,7 +35,7 @@ class C { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 10, 10)) foo(x: T, y: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 10, 15)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 10, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 11, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 10, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 11, 13)) @@ -49,7 +49,7 @@ interface I { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 14, 14)) foo(x: T, y: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 14, 19)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 14, 19)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 15, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 14, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 15, 13)) @@ -61,7 +61,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 16, 1)) foo(x: T, y: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 18, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 18, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 19, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 19, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignatures2.ts, 19, 14)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols index b8432af2425..8b59c622ec6 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 0, 0)) foo(x: T): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 5, 8)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 5, 24)) @@ -20,7 +20,7 @@ class B> { >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 8, 34)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 8, 34)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 8, 8)) } @@ -31,7 +31,7 @@ class C { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 12, 27)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 12, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 12, 8)) } @@ -42,7 +42,7 @@ interface I { >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 16, 31)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 16, 31)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 16, 12)) } @@ -51,7 +51,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 18, 1)) foo(x: T): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 21, 8)) >Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 21, 27)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols index e8c34a1bf99..1cade70f1a5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 0, 0)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 20)) @@ -26,7 +26,7 @@ class B> { >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 47)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 47)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 9, 13)) @@ -41,7 +41,7 @@ class C { >String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 40)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 40)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 13, 13)) @@ -56,7 +56,7 @@ class D { >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 40)) +>foo : Symbol(D.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 40)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 17, 13)) @@ -71,7 +71,7 @@ interface I { >Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T, y: U): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 44)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 44)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 21, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 21, 13)) @@ -82,7 +82,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 22, 1)) foo(x: T, y: U): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 24, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 24, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 20)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.symbols index 6bcbd98f225..c622452a8e1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.symbols @@ -5,20 +5,20 @@ class One { foo: string } >One : Symbol(One, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 0, 0)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 4, 11)) +>foo : Symbol(One.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 4, 11)) class Two { foo: string } >Two : Symbol(Two, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 4, 25)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 5, 11)) +>foo : Symbol(Two.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 5, 11)) interface Three { foo: string } >Three : Symbol(Three, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 5, 25)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 6, 17)) +>foo : Symbol(Three.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 6, 17)) interface Four { foo: T } >Four : Symbol(Four, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 6, 31)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 7, 15)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 7, 19)) +>foo : Symbol(Four.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 7, 19)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 7, 15)) interface Five extends Four { } @@ -33,7 +33,7 @@ interface Six { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 9, 16)) foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 9, 21)) +>foo : Symbol(Six.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 9, 21)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 9, 14)) } @@ -41,7 +41,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 11, 1)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 13, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 13, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 14, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 14, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 14, 20)) @@ -60,7 +60,7 @@ class B { >Two : Symbol(Two, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 4, 25)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 17, 37)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 17, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 18, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 17, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 18, 13)) @@ -75,7 +75,7 @@ class C { >Three : Symbol(Three, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 5, 25)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 21, 39)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 21, 39)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 22, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 21, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 22, 13)) @@ -90,7 +90,7 @@ class D> { >Four : Symbol(Four, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 6, 31)) foo(x: T, y: U): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 25, 46)) +>foo : Symbol(D.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 25, 46)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 26, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 25, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 26, 13)) @@ -105,7 +105,7 @@ interface I> { >Five : Symbol(Five, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 7, 28)) foo(x: T, y: U): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 29, 50)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 29, 50)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 30, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 29, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 30, 13)) @@ -116,7 +116,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 31, 1)) foo>(x: T, y: U): string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 33, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 33, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 34, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 34, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts, 34, 20)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols index e199d538e4b..dc6f1fbf856 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 0, 0)) foo(x: T): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 5, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 5, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 5, 8)) @@ -18,7 +18,7 @@ class B { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 8, 8)) foo(x: T): number { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 8, 12)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 8, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 8, 8)) } @@ -28,7 +28,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 12, 8)) foo(x: T): boolean { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 12, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 12, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 12, 8)) } @@ -38,7 +38,7 @@ interface I { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 12)) foo(x: T): Date; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 16)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 16)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 12)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) @@ -48,7 +48,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 18, 1)) foo(x: T): RegExp; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 8)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols index a0c520ef3fa..588ecabd832 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 0, 0)) foo(x: T): string { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 5, 8)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 5, 24)) @@ -20,7 +20,7 @@ class B { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): number { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 8, 25)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 8, 25)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 8, 8)) } @@ -31,7 +31,7 @@ class C { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): boolean { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 12, 25)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 12, 25)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 12, 8)) } @@ -42,7 +42,7 @@ interface I { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo(x: T): Date; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 29)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 12)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) @@ -52,7 +52,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 18, 1)) foo(x: T): RegExp; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 21, 8)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 21, 24)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols index a4760572e7d..89c60608faa 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 0, 0)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 2, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 3, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 3, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 3, 8)) @@ -18,7 +18,7 @@ class B { >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 6, 10)) foo(x: U): U { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 6, 15)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 6, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 7, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 6, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 6, 8)) @@ -31,7 +31,7 @@ class C { >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 10, 13)) foo(x: V): V { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 10, 18)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 10, 18)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 11, 8)) >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 10, 8)) >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 10, 8)) @@ -45,7 +45,7 @@ interface I { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 14, 20)) foo(x: X): X; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 14, 25)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 14, 25)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 15, 8)) >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 14, 12)) >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 14, 12)) @@ -55,7 +55,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 16, 1)) foo(x: Y): Y; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 18, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 18, 14)) >Y : Symbol(Y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 19, 8)) >Z : Symbol(Z, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 19, 10)) >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 19, 13)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.symbols index 94e6aaf0139..851388a4604 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 0, 0)) foo(x: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 2, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 3, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 3, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 3, 8)) @@ -17,7 +17,7 @@ class B { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 6, 8)) foo(x: U): U { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 6, 12)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 6, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 7, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 6, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 6, 8)) @@ -28,7 +28,7 @@ class C { >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 10, 8)) foo(x: V): V { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 10, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 11, 8)) >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 10, 8)) >V : Symbol(V, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 10, 8)) @@ -39,7 +39,7 @@ interface I { >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 14, 12)) foo(x: X): X; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 14, 16)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 14, 16)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 15, 8)) >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 14, 12)) >X : Symbol(X, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 14, 12)) @@ -49,7 +49,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 16, 1)) foo(x: Y): Y; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 18, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 18, 14)) >Y : Symbol(Y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 19, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 19, 11)) >Y : Symbol(Y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts, 19, 8)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.symbols index 0bb008d82be..9edbcf9e6ad 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 0, 0)) foo(x: T, y?: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 5, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 5, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 5, 8)) @@ -21,7 +21,7 @@ class B { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 8, 8)) foo(x: T, y?: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 8, 12)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 8, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 8, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 9, 13)) @@ -34,7 +34,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 12, 8)) foo(x: T, y?: T): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 12, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 12, 12)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 12, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 13, 13)) @@ -47,7 +47,7 @@ interface I { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 16, 12)) foo(x: T, y?: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 16, 16)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 16, 16)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 16, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 17, 13)) @@ -59,7 +59,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 18, 1)) foo(x: T, y?: T): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 21, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 21, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts, 21, 8)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.symbols index 8878d73f576..9fcac2f65ed 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 0, 0)) foo(x: T, y?: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 5, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 5, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 5, 14)) @@ -23,7 +23,7 @@ class B { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 8, 10)) foo(x: T, y?: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 8, 15)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 8, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 8, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 9, 13)) @@ -37,7 +37,7 @@ class C { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 12, 10)) foo(x: T, y?: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 12, 15)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 12, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 12, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 13, 13)) @@ -51,7 +51,7 @@ interface I { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 16, 14)) foo(x: T, y?: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 16, 19)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 16, 19)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 16, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 17, 13)) @@ -63,7 +63,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 18, 1)) foo(x: T, y?: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 21, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 21, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts, 21, 14)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.symbols index b1cfab012bf..ff215bfbe58 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.symbols @@ -7,7 +7,7 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 0, 0)) foo(x: T, y?: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 4, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 5, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 5, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 5, 14)) @@ -23,7 +23,7 @@ class B { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 8, 10)) foo(x: T, y: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 8, 15)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 8, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 9, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 8, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 9, 13)) @@ -37,7 +37,7 @@ class C { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 12, 10)) foo(x: T, y?: U): T { return null; } ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 12, 15)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 12, 15)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 12, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 13, 13)) @@ -51,7 +51,7 @@ interface I { >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 16, 14)) foo(x: T, y?: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 16, 19)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 16, 19)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 16, 12)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 17, 13)) @@ -63,7 +63,7 @@ interface I2 { >I2 : Symbol(I2, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 18, 1)) foo(x: T, y: U): T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 20, 14)) +>foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 21, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 21, 10)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts, 21, 14)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.symbols index 4d7adc798f9..ffd5363f030 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.symbols @@ -5,20 +5,20 @@ class One { foo: string } >One : Symbol(One, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 0, 0)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 4, 11)) +>foo : Symbol(One.foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 4, 11)) class Two { foo: string } >Two : Symbol(Two, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 4, 25)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 5, 11)) +>foo : Symbol(Two.foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 5, 11)) interface Three { foo: string } >Three : Symbol(Three, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 5, 25)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 6, 17)) +>foo : Symbol(Three.foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 6, 17)) interface Four { foo: T } >Four : Symbol(Four, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 6, 31)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 7, 15)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 7, 19)) +>foo : Symbol(Four.foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 7, 19)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 7, 15)) interface Five extends Four { } @@ -33,7 +33,7 @@ interface Six { >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 9, 16)) foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 9, 21)) +>foo : Symbol(Six.foo, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 9, 21)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts, 9, 14)) } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.symbols b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.symbols index 375fff858fb..5fde90941ef 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.symbols @@ -3,12 +3,12 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(objectTypesIdentityWithNumericIndexers2.ts, 0, 0)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithNumericIndexers2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(objectTypesIdentityWithNumericIndexers2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(objectTypesIdentityWithNumericIndexers2.ts, 2, 27)) >Base : Symbol(Base, Decl(objectTypesIdentityWithNumericIndexers2.ts, 0, 0)) ->bar : Symbol(bar, Decl(objectTypesIdentityWithNumericIndexers2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(objectTypesIdentityWithNumericIndexers2.ts, 3, 28)) class A { >A : Symbol(A, Decl(objectTypesIdentityWithNumericIndexers2.ts, 3, 43)) diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.symbols b/tests/baselines/reference/objectTypesIdentityWithOptionality.symbols index 595295418f5..90a69d7bb7a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.symbols @@ -5,14 +5,14 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithOptionality.ts, 0, 0)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithOptionality.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithOptionality.ts, 2, 9)) } class B { >B : Symbol(B, Decl(objectTypesIdentityWithOptionality.ts, 4, 1)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithOptionality.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithOptionality.ts, 6, 9)) } class C { @@ -20,7 +20,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithOptionality.ts, 10, 8)) foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithOptionality.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithOptionality.ts, 10, 12)) >T : Symbol(T, Decl(objectTypesIdentityWithOptionality.ts, 10, 8)) } @@ -28,7 +28,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithOptionality.ts, 12, 1)) foo?: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithOptionality.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithOptionality.ts, 14, 13)) } var a: { foo?: string; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.symbols b/tests/baselines/reference/objectTypesIdentityWithPrivates.symbols index d7680f7fb91..c6cd57f9930 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.symbols @@ -5,14 +5,14 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithPrivates.ts, 0, 0)) private foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPrivates.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithPrivates.ts, 2, 9)) } class B { >B : Symbol(B, Decl(objectTypesIdentityWithPrivates.ts, 4, 1)) private foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPrivates.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithPrivates.ts, 6, 9)) } class C { @@ -20,7 +20,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithPrivates.ts, 10, 8)) private foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPrivates.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithPrivates.ts, 10, 12)) >T : Symbol(T, Decl(objectTypesIdentityWithPrivates.ts, 10, 8)) } @@ -28,7 +28,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithPrivates.ts, 12, 1)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPrivates.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithPrivates.ts, 14, 13)) } class PA extends A { diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates2.symbols b/tests/baselines/reference/objectTypesIdentityWithPrivates2.symbols index 1a33946229e..ddd75660ad8 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates2.symbols @@ -6,7 +6,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithPrivates2.ts, 2, 8)) private foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPrivates2.ts, 2, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithPrivates2.ts, 2, 12)) >T : Symbol(T, Decl(objectTypesIdentityWithPrivates2.ts, 2, 8)) } diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.symbols b/tests/baselines/reference/objectTypesIdentityWithPublics.symbols index ebfb52e3d2e..794301f6fc3 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.symbols @@ -5,14 +5,14 @@ class A { >A : Symbol(A, Decl(objectTypesIdentityWithPublics.ts, 0, 0)) public foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPublics.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(objectTypesIdentityWithPublics.ts, 2, 9)) } class B { >B : Symbol(B, Decl(objectTypesIdentityWithPublics.ts, 4, 1)) public foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPublics.ts, 6, 9)) +>foo : Symbol(B.foo, Decl(objectTypesIdentityWithPublics.ts, 6, 9)) } class C { @@ -20,7 +20,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithPublics.ts, 10, 8)) public foo: T; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPublics.ts, 10, 12)) +>foo : Symbol(C.foo, Decl(objectTypesIdentityWithPublics.ts, 10, 12)) >T : Symbol(T, Decl(objectTypesIdentityWithPublics.ts, 10, 8)) } @@ -28,7 +28,7 @@ interface I { >I : Symbol(I, Decl(objectTypesIdentityWithPublics.ts, 12, 1)) foo: string; ->foo : Symbol(foo, Decl(objectTypesIdentityWithPublics.ts, 14, 13)) +>foo : Symbol(I.foo, Decl(objectTypesIdentityWithPublics.ts, 14, 13)) } var a: { foo: string; } diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.symbols b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.symbols index 2df0bf01b1d..dd2e561e67d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.symbols @@ -3,12 +3,12 @@ class Base { foo: string; } >Base : Symbol(Base, Decl(objectTypesIdentityWithStringIndexers2.ts, 0, 0)) ->foo : Symbol(foo, Decl(objectTypesIdentityWithStringIndexers2.ts, 2, 12)) +>foo : Symbol(Base.foo, Decl(objectTypesIdentityWithStringIndexers2.ts, 2, 12)) class Derived extends Base { bar: string; } >Derived : Symbol(Derived, Decl(objectTypesIdentityWithStringIndexers2.ts, 2, 27)) >Base : Symbol(Base, Decl(objectTypesIdentityWithStringIndexers2.ts, 0, 0)) ->bar : Symbol(bar, Decl(objectTypesIdentityWithStringIndexers2.ts, 3, 28)) +>bar : Symbol(Derived.bar, Decl(objectTypesIdentityWithStringIndexers2.ts, 3, 28)) class A { >A : Symbol(A, Decl(objectTypesIdentityWithStringIndexers2.ts, 3, 43)) diff --git a/tests/baselines/reference/optionalAccessorsInInterface1.symbols b/tests/baselines/reference/optionalAccessorsInInterface1.symbols index 6c9c8ab1429..905aefa02ba 100644 --- a/tests/baselines/reference/optionalAccessorsInInterface1.symbols +++ b/tests/baselines/reference/optionalAccessorsInInterface1.symbols @@ -3,10 +3,10 @@ interface MyPropertyDescriptor { >MyPropertyDescriptor : Symbol(MyPropertyDescriptor, Decl(optionalAccessorsInInterface1.ts, 0, 0)) get? (): any; ->get : Symbol(get, Decl(optionalAccessorsInInterface1.ts, 0, 32)) +>get : Symbol(MyPropertyDescriptor.get, Decl(optionalAccessorsInInterface1.ts, 0, 32)) set? (v: any): void; ->set : Symbol(set, Decl(optionalAccessorsInInterface1.ts, 1, 17)) +>set : Symbol(MyPropertyDescriptor.set, Decl(optionalAccessorsInInterface1.ts, 1, 17)) >v : Symbol(v, Decl(optionalAccessorsInInterface1.ts, 2, 10)) } @@ -25,10 +25,10 @@ interface MyPropertyDescriptor2 { >MyPropertyDescriptor2 : Symbol(MyPropertyDescriptor2, Decl(optionalAccessorsInInterface1.ts, 6, 65)) get?: () => any; ->get : Symbol(get, Decl(optionalAccessorsInInterface1.ts, 8, 33)) +>get : Symbol(MyPropertyDescriptor2.get, Decl(optionalAccessorsInInterface1.ts, 8, 33)) set?: (v: any) => void; ->set : Symbol(set, Decl(optionalAccessorsInInterface1.ts, 9, 20)) +>set : Symbol(MyPropertyDescriptor2.set, Decl(optionalAccessorsInInterface1.ts, 9, 20)) >v : Symbol(v, Decl(optionalAccessorsInInterface1.ts, 10, 11)) } diff --git a/tests/baselines/reference/optionalConstructorArgInSuper.symbols b/tests/baselines/reference/optionalConstructorArgInSuper.symbols index a912d8f62e3..000032d1757 100644 --- a/tests/baselines/reference/optionalConstructorArgInSuper.symbols +++ b/tests/baselines/reference/optionalConstructorArgInSuper.symbols @@ -6,7 +6,7 @@ class Base { >opt : Symbol(opt, Decl(optionalConstructorArgInSuper.ts, 1, 16)) foo(other?) { } ->foo : Symbol(foo, Decl(optionalConstructorArgInSuper.ts, 1, 25)) +>foo : Symbol(Base.foo, Decl(optionalConstructorArgInSuper.ts, 1, 25)) >other : Symbol(other, Decl(optionalConstructorArgInSuper.ts, 2, 8)) } class Derived extends Base { diff --git a/tests/baselines/reference/optionalParamInOverride.symbols b/tests/baselines/reference/optionalParamInOverride.symbols index b15802b7294..0d33d6c8d06 100644 --- a/tests/baselines/reference/optionalParamInOverride.symbols +++ b/tests/baselines/reference/optionalParamInOverride.symbols @@ -3,14 +3,14 @@ class Z { >Z : Symbol(Z, Decl(optionalParamInOverride.ts, 0, 0)) public func(): void { } ->func : Symbol(func, Decl(optionalParamInOverride.ts, 0, 9)) +>func : Symbol(Z.func, Decl(optionalParamInOverride.ts, 0, 9)) } class Y extends Z { >Y : Symbol(Y, Decl(optionalParamInOverride.ts, 2, 1)) >Z : Symbol(Z, Decl(optionalParamInOverride.ts, 0, 0)) public func(value?: any): void { } ->func : Symbol(func, Decl(optionalParamInOverride.ts, 3, 19)) +>func : Symbol(Y.func, Decl(optionalParamInOverride.ts, 3, 19)) >value : Symbol(value, Decl(optionalParamInOverride.ts, 4, 16)) } diff --git a/tests/baselines/reference/out-flag.symbols b/tests/baselines/reference/out-flag.symbols index 8f7e559b8fa..2a6a1775dd7 100644 --- a/tests/baselines/reference/out-flag.symbols +++ b/tests/baselines/reference/out-flag.symbols @@ -7,13 +7,13 @@ class MyClass { // my function comments public Count(): number ->Count : Symbol(Count, Decl(out-flag.ts, 4, 1)) +>Count : Symbol(MyClass.Count, Decl(out-flag.ts, 4, 1)) { return 42; } public SetCount(value: number) ->SetCount : Symbol(SetCount, Decl(out-flag.ts, 9, 5)) +>SetCount : Symbol(MyClass.SetCount, Decl(out-flag.ts, 9, 5)) >value : Symbol(value, Decl(out-flag.ts, 11, 20)) { // diff --git a/tests/baselines/reference/outModuleTripleSlashRefs.symbols b/tests/baselines/reference/outModuleTripleSlashRefs.symbols index f8d550aedb6..5f137a95361 100644 --- a/tests/baselines/reference/outModuleTripleSlashRefs.symbols +++ b/tests/baselines/reference/outModuleTripleSlashRefs.symbols @@ -5,7 +5,7 @@ export class A { >A : Symbol(A, Decl(a.ts, 0, 0)) member: typeof GlobalFoo; ->member : Symbol(member, Decl(a.ts, 2, 16)) +>member : Symbol(A.member, Decl(a.ts, 2, 16)) >GlobalFoo : Symbol(GlobalFoo, Decl(b.ts, 4, 11)) } @@ -15,7 +15,7 @@ class Foo { >Foo : Symbol(Foo, Decl(b.ts, 0, 0)) member: Bar; ->member : Symbol(member, Decl(b.ts, 1, 11)) +>member : Symbol(Foo.member, Decl(b.ts, 1, 11)) >Bar : Symbol(Bar, Decl(c.d.ts, 0, 0)) } declare var GlobalFoo: Foo; @@ -28,7 +28,7 @@ declare class Bar { >Bar : Symbol(Bar, Decl(c.d.ts, 0, 0)) member: Baz; ->member : Symbol(member, Decl(c.d.ts, 1, 19)) +>member : Symbol(Bar.member, Decl(c.d.ts, 1, 19)) >Baz : Symbol(Baz, Decl(d.d.ts, 0, 0)) } @@ -37,7 +37,7 @@ declare class Baz { >Baz : Symbol(Baz, Decl(d.d.ts, 0, 0)) member: number; ->member : Symbol(member, Decl(d.d.ts, 0, 19)) +>member : Symbol(Baz.member, Decl(d.d.ts, 0, 19)) } === tests/cases/compiler/b.ts === diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.symbols b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.symbols index 65f64fa8915..0791f7009d0 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.symbols +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.symbols @@ -3,37 +3,37 @@ interface Opt1 { >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 0, 0)) p?: any; ->p : Symbol(p, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 0, 16)) +>p : Symbol(Opt1.p, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 0, 16)) } interface Opt2 { >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 2, 1)) q?: any; ->q : Symbol(q, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 3, 16)) +>q : Symbol(Opt2.q, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 3, 16)) } interface Opt3 { >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 5, 1)) r?: any; ->r : Symbol(r, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 6, 16)) +>r : Symbol(Opt3.r, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 6, 16)) } interface Opt4 { >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 8, 1)) s?: any; ->s : Symbol(s, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 9, 16)) +>s : Symbol(Opt4.s, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 9, 16)) } interface A { >A : Symbol(A, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 11, 1), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 19, 1)) a(o: Opt1): Opt1; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 6)) >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 0, 0)) >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 0, 0)) a(o: Opt2): Opt2; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 14, 6)) >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 2, 1)) >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 2, 1)) @@ -62,13 +62,13 @@ interface A { >A : Symbol(A, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 11, 1), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 19, 1)) a(o: Opt3): Opt3; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 6)) >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 5, 1)) >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 5, 1)) a(o: Opt4): Opt4; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 12, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 13, 21), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 20, 13), Decl(overloadBindingAcrossDeclarationBoundaries.ts, 21, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 22, 6)) >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 8, 1)) >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries.ts, 8, 1)) diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.symbols b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.symbols index 534475bcc30..7fd32af7cec 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.symbols +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.symbols @@ -3,38 +3,38 @@ interface Opt1 { >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 0, 0)) p?: any; ->p : Symbol(p, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 0, 16)) +>p : Symbol(Opt1.p, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 0, 16)) } interface Opt2 { >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 2, 1)) q?: any; ->q : Symbol(q, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 3, 16)) +>q : Symbol(Opt2.q, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 3, 16)) } interface Opt3 { >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 5, 1)) r?: any; ->r : Symbol(r, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 6, 16)) +>r : Symbol(Opt3.r, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 6, 16)) } interface Opt4 { >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 8, 1)) s?: any; ->s : Symbol(s, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 9, 16)) +>s : Symbol(Opt4.s, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 9, 16)) } interface A { >A : Symbol(A, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 11, 1), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 0)) a(o: Opt1): Opt1; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 6)) >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 0, 0)) >Opt1 : Symbol(Opt1, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 0, 0)) a(o: Opt2): Opt2; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 15, 6)) >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 2, 1)) >Opt2 : Symbol(Opt2, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 2, 1)) @@ -65,13 +65,13 @@ interface A { >A : Symbol(A, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 11, 1), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 0)) a(o: Opt3): Opt3; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 6)) >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 5, 1)) >Opt3 : Symbol(Opt3, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 5, 1)) a(o: Opt4): Opt4; ->a : Symbol(a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) +>a : Symbol(A.a, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 13, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 14, 21), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 0, 13), Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 1, 21)) >o : Symbol(o, Decl(overloadBindingAcrossDeclarationBoundaries_file1.ts, 2, 6)) >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 8, 1)) >Opt4 : Symbol(Opt4, Decl(overloadBindingAcrossDeclarationBoundaries_file0.ts, 8, 1)) diff --git a/tests/baselines/reference/overloadCrash.symbols b/tests/baselines/reference/overloadCrash.symbols index 791411540b3..8345107dc45 100644 --- a/tests/baselines/reference/overloadCrash.symbols +++ b/tests/baselines/reference/overloadCrash.symbols @@ -1,20 +1,20 @@ === tests/cases/compiler/overloadCrash.ts === interface I1 {a:number; b:number;}; >I1 : Symbol(I1, Decl(overloadCrash.ts, 0, 0)) ->a : Symbol(a, Decl(overloadCrash.ts, 0, 14)) ->b : Symbol(b, Decl(overloadCrash.ts, 0, 23)) +>a : Symbol(I1.a, Decl(overloadCrash.ts, 0, 14)) +>b : Symbol(I1.b, Decl(overloadCrash.ts, 0, 23)) interface I2 {c:number; d:number;}; >I2 : Symbol(I2, Decl(overloadCrash.ts, 0, 35)) ->c : Symbol(c, Decl(overloadCrash.ts, 1, 14)) ->d : Symbol(d, Decl(overloadCrash.ts, 1, 23)) +>c : Symbol(I2.c, Decl(overloadCrash.ts, 1, 14)) +>d : Symbol(I2.d, Decl(overloadCrash.ts, 1, 23)) interface I3 {a:number; b:number; c:number; d:number;}; >I3 : Symbol(I3, Decl(overloadCrash.ts, 1, 35)) ->a : Symbol(a, Decl(overloadCrash.ts, 2, 14)) ->b : Symbol(b, Decl(overloadCrash.ts, 2, 23)) ->c : Symbol(c, Decl(overloadCrash.ts, 2, 33)) ->d : Symbol(d, Decl(overloadCrash.ts, 2, 43)) +>a : Symbol(I3.a, Decl(overloadCrash.ts, 2, 14)) +>b : Symbol(I3.b, Decl(overloadCrash.ts, 2, 23)) +>c : Symbol(I3.c, Decl(overloadCrash.ts, 2, 33)) +>d : Symbol(I3.d, Decl(overloadCrash.ts, 2, 43)) declare function foo(...n:I1[]); >foo : Symbol(foo, Decl(overloadCrash.ts, 2, 55), Decl(overloadCrash.ts, 4, 32)) diff --git a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.symbols b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.symbols index 52ee82e5d3c..c98e0c35d5a 100644 --- a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.symbols +++ b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.symbols @@ -4,7 +4,7 @@ class B{ >V : Symbol(V, Decl(overloadGenericFunctionWithRestArgs.ts, 0, 8)) private id: V; ->id : Symbol(id, Decl(overloadGenericFunctionWithRestArgs.ts, 0, 11)) +>id : Symbol(B.id, Decl(overloadGenericFunctionWithRestArgs.ts, 0, 11)) >V : Symbol(V, Decl(overloadGenericFunctionWithRestArgs.ts, 0, 8)) } class A{ @@ -12,7 +12,7 @@ class A{ >U : Symbol(U, Decl(overloadGenericFunctionWithRestArgs.ts, 3, 8)) GetEnumerator: () => B; ->GetEnumerator : Symbol(GetEnumerator, Decl(overloadGenericFunctionWithRestArgs.ts, 3, 11)) +>GetEnumerator : Symbol(A.GetEnumerator, Decl(overloadGenericFunctionWithRestArgs.ts, 3, 11)) >B : Symbol(B, Decl(overloadGenericFunctionWithRestArgs.ts, 0, 0)) >U : Symbol(U, Decl(overloadGenericFunctionWithRestArgs.ts, 3, 8)) } diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks1.symbols b/tests/baselines/reference/overloadOnConstConstraintChecks1.symbols index 2eedf3254a2..6e86ccc2eb1 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks1.symbols +++ b/tests/baselines/reference/overloadOnConstConstraintChecks1.symbols @@ -1,43 +1,43 @@ === tests/cases/compiler/overloadOnConstConstraintChecks1.ts === class Base { foo() { } } >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) ->foo : Symbol(foo, Decl(overloadOnConstConstraintChecks1.ts, 0, 12)) +>foo : Symbol(Base.foo, Decl(overloadOnConstConstraintChecks1.ts, 0, 12)) class Derived1 extends Base { bar() { } } >Derived1 : Symbol(Derived1, Decl(overloadOnConstConstraintChecks1.ts, 0, 24)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) ->bar : Symbol(bar, Decl(overloadOnConstConstraintChecks1.ts, 1, 29)) +>bar : Symbol(Derived1.bar, Decl(overloadOnConstConstraintChecks1.ts, 1, 29)) class Derived2 extends Base { baz() { } } >Derived2 : Symbol(Derived2, Decl(overloadOnConstConstraintChecks1.ts, 1, 41)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) ->baz : Symbol(baz, Decl(overloadOnConstConstraintChecks1.ts, 2, 29)) +>baz : Symbol(Derived2.baz, Decl(overloadOnConstConstraintChecks1.ts, 2, 29)) class Derived3 extends Base { biz() { } } >Derived3 : Symbol(Derived3, Decl(overloadOnConstConstraintChecks1.ts, 2, 41)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) ->biz : Symbol(biz, Decl(overloadOnConstConstraintChecks1.ts, 3, 29)) +>biz : Symbol(Derived3.biz, Decl(overloadOnConstConstraintChecks1.ts, 3, 29)) interface MyDoc { // Document >MyDoc : Symbol(MyDoc, Decl(overloadOnConstConstraintChecks1.ts, 3, 41)) createElement(tagName: string): Base; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) +>createElement : Symbol(MyDoc.createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 6, 18)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) createElement(tagName: 'canvas'): Derived1; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) +>createElement : Symbol(MyDoc.createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 7, 18)) >Derived1 : Symbol(Derived1, Decl(overloadOnConstConstraintChecks1.ts, 0, 24)) createElement(tagName: 'div'): Derived2; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) +>createElement : Symbol(MyDoc.createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 8, 18)) >Derived2 : Symbol(Derived2, Decl(overloadOnConstConstraintChecks1.ts, 1, 41)) createElement(tagName: 'span'): Derived3; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) +>createElement : Symbol(MyDoc.createElement, Decl(overloadOnConstConstraintChecks1.ts, 5, 17), Decl(overloadOnConstConstraintChecks1.ts, 6, 41), Decl(overloadOnConstConstraintChecks1.ts, 7, 47), Decl(overloadOnConstConstraintChecks1.ts, 8, 44)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 9, 18)) >Derived3 : Symbol(Derived3, Decl(overloadOnConstConstraintChecks1.ts, 2, 41)) @@ -49,27 +49,27 @@ class D implements MyDoc { >MyDoc : Symbol(MyDoc, Decl(overloadOnConstConstraintChecks1.ts, 3, 41)) createElement(tagName:string): Base; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) +>createElement : Symbol(D.createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 14, 18)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) createElement(tagName: 'canvas'): Derived1; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) +>createElement : Symbol(D.createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 15, 18)) >Derived1 : Symbol(Derived1, Decl(overloadOnConstConstraintChecks1.ts, 0, 24)) createElement(tagName: 'div'): Derived2; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) +>createElement : Symbol(D.createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 16, 18)) >Derived2 : Symbol(Derived2, Decl(overloadOnConstConstraintChecks1.ts, 1, 41)) createElement(tagName: 'span'): Derived3; ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) +>createElement : Symbol(D.createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 17, 18)) >Derived3 : Symbol(Derived3, Decl(overloadOnConstConstraintChecks1.ts, 2, 41)) createElement(tagName:any): Base { ->createElement : Symbol(createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) +>createElement : Symbol(D.createElement, Decl(overloadOnConstConstraintChecks1.ts, 13, 26), Decl(overloadOnConstConstraintChecks1.ts, 14, 40), Decl(overloadOnConstConstraintChecks1.ts, 15, 47), Decl(overloadOnConstConstraintChecks1.ts, 16, 44), Decl(overloadOnConstConstraintChecks1.ts, 17, 45)) >tagName : Symbol(tagName, Decl(overloadOnConstConstraintChecks1.ts, 18, 18)) >Base : Symbol(Base, Decl(overloadOnConstConstraintChecks1.ts, 0, 0)) diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks2.symbols b/tests/baselines/reference/overloadOnConstConstraintChecks2.symbols index 0c5bd49b4f3..1ef43f1f941 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks2.symbols +++ b/tests/baselines/reference/overloadOnConstConstraintChecks2.symbols @@ -11,7 +11,7 @@ class C extends A { >A : Symbol(A, Decl(overloadOnConstConstraintChecks2.ts, 0, 0)) public foo() { } ->foo : Symbol(foo, Decl(overloadOnConstConstraintChecks2.ts, 2, 19)) +>foo : Symbol(C.foo, Decl(overloadOnConstConstraintChecks2.ts, 2, 19)) } function foo(name: 'hi'): B; >foo : Symbol(foo, Decl(overloadOnConstConstraintChecks2.ts, 4, 1), Decl(overloadOnConstConstraintChecks2.ts, 5, 28), Decl(overloadOnConstConstraintChecks2.ts, 6, 29), Decl(overloadOnConstConstraintChecks2.ts, 7, 30)) diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.symbols b/tests/baselines/reference/overloadOnConstConstraintChecks3.symbols index 5748fd441a5..3232ca9a94b 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.symbols +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/overloadOnConstConstraintChecks3.ts === class A { private x = 1} >A : Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0)) ->x : Symbol(x, Decl(overloadOnConstConstraintChecks3.ts, 0, 9)) +>x : Symbol(A.x, Decl(overloadOnConstConstraintChecks3.ts, 0, 9)) class B extends A {} >B : Symbol(B, Decl(overloadOnConstConstraintChecks3.ts, 0, 24)) @@ -12,7 +12,7 @@ class C extends A { >A : Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0)) public foo() { } ->foo : Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 2, 19)) +>foo : Symbol(C.foo, Decl(overloadOnConstConstraintChecks3.ts, 2, 19)) } function foo(name: 'hi'): B; >foo : Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 4, 1), Decl(overloadOnConstConstraintChecks3.ts, 5, 28), Decl(overloadOnConstConstraintChecks3.ts, 6, 29), Decl(overloadOnConstConstraintChecks3.ts, 7, 30)) diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.symbols b/tests/baselines/reference/overloadOnConstConstraintChecks4.symbols index 6e2a34b55e9..d50030fde3d 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.symbols +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.symbols @@ -5,7 +5,7 @@ class Z { } class A extends Z { private x = 1 } >A : Symbol(A, Decl(overloadOnConstConstraintChecks4.ts, 0, 11)) >Z : Symbol(Z, Decl(overloadOnConstConstraintChecks4.ts, 0, 0)) ->x : Symbol(x, Decl(overloadOnConstConstraintChecks4.ts, 1, 19)) +>x : Symbol(A.x, Decl(overloadOnConstConstraintChecks4.ts, 1, 19)) class B extends A {} >B : Symbol(B, Decl(overloadOnConstConstraintChecks4.ts, 1, 35)) @@ -16,7 +16,7 @@ class C extends A { >A : Symbol(A, Decl(overloadOnConstConstraintChecks4.ts, 0, 11)) public foo() { } ->foo : Symbol(foo, Decl(overloadOnConstConstraintChecks4.ts, 3, 19)) +>foo : Symbol(C.foo, Decl(overloadOnConstConstraintChecks4.ts, 3, 19)) } function foo(name: 'hi'): B; >foo : Symbol(foo, Decl(overloadOnConstConstraintChecks4.ts, 5, 1), Decl(overloadOnConstConstraintChecks4.ts, 6, 28), Decl(overloadOnConstConstraintChecks4.ts, 7, 29), Decl(overloadOnConstConstraintChecks4.ts, 8, 30)) diff --git a/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.symbols b/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.symbols index 6e4429759e2..de3aae746a2 100644 --- a/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.symbols +++ b/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number); ->x1 : Symbol(x1, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 0, 13)) +>x1 : Symbol(I.x1, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 0, 13)) >a : Symbol(a, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 1, 7)) >callback : Symbol(callback, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 1, 17)) >x : Symbol(x, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 1, 29)) @@ -14,7 +14,7 @@ class C implements I { >I : Symbol(I, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number) { // error ->x1 : Symbol(x1, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 4, 22)) +>x1 : Symbol(C.x1, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 4, 22)) >a : Symbol(a, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 5, 7)) >callback : Symbol(callback, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 5, 17)) >x : Symbol(x, Decl(overloadOnConstInBaseWithBadImplementationInDerived.ts, 5, 29)) diff --git a/tests/baselines/reference/overloadOnConstInCallback1.symbols b/tests/baselines/reference/overloadOnConstInCallback1.symbols index 923c726714e..935d7f3b607 100644 --- a/tests/baselines/reference/overloadOnConstInCallback1.symbols +++ b/tests/baselines/reference/overloadOnConstInCallback1.symbols @@ -3,13 +3,13 @@ class C { >C : Symbol(C, Decl(overloadOnConstInCallback1.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number); // error ->x1 : Symbol(x1, Decl(overloadOnConstInCallback1.ts, 0, 9), Decl(overloadOnConstInCallback1.ts, 1, 49)) +>x1 : Symbol(C.x1, Decl(overloadOnConstInCallback1.ts, 0, 9), Decl(overloadOnConstInCallback1.ts, 1, 49)) >a : Symbol(a, Decl(overloadOnConstInCallback1.ts, 1, 7)) >callback : Symbol(callback, Decl(overloadOnConstInCallback1.ts, 1, 17)) >x : Symbol(x, Decl(overloadOnConstInCallback1.ts, 1, 29)) x1(a: number, callback: (x: any) => number) { ->x1 : Symbol(x1, Decl(overloadOnConstInCallback1.ts, 0, 9), Decl(overloadOnConstInCallback1.ts, 1, 49)) +>x1 : Symbol(C.x1, Decl(overloadOnConstInCallback1.ts, 0, 9), Decl(overloadOnConstInCallback1.ts, 1, 49)) >a : Symbol(a, Decl(overloadOnConstInCallback1.ts, 2, 7)) >callback : Symbol(callback, Decl(overloadOnConstInCallback1.ts, 2, 17)) >x : Symbol(x, Decl(overloadOnConstInCallback1.ts, 2, 29)) diff --git a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.symbols b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.symbols index 9ea93140085..98873216523 100644 --- a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.symbols +++ b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number); ->x1 : Symbol(x1, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 0, 13)) +>x1 : Symbol(I.x1, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 0, 13)) >a : Symbol(a, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 1, 7)) >callback : Symbol(callback, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 1, 17)) >x : Symbol(x, Decl(overloadOnConstInObjectLiteralImplementingAnInterface.ts, 1, 29)) diff --git a/tests/baselines/reference/overloadOnConstInheritance1.symbols b/tests/baselines/reference/overloadOnConstInheritance1.symbols index c5cc9b52abc..4cd7ef13209 100644 --- a/tests/baselines/reference/overloadOnConstInheritance1.symbols +++ b/tests/baselines/reference/overloadOnConstInheritance1.symbols @@ -3,11 +3,11 @@ interface Base { >Base : Symbol(Base, Decl(overloadOnConstInheritance1.ts, 0, 0)) addEventListener(x: string): any; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance1.ts, 0, 16), Decl(overloadOnConstInheritance1.ts, 1, 37)) +>addEventListener : Symbol(Base.addEventListener, Decl(overloadOnConstInheritance1.ts, 0, 16), Decl(overloadOnConstInheritance1.ts, 1, 37)) >x : Symbol(x, Decl(overloadOnConstInheritance1.ts, 1, 21)) addEventListener(x: 'foo'): string; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance1.ts, 0, 16), Decl(overloadOnConstInheritance1.ts, 1, 37)) +>addEventListener : Symbol(Base.addEventListener, Decl(overloadOnConstInheritance1.ts, 0, 16), Decl(overloadOnConstInheritance1.ts, 1, 37)) >x : Symbol(x, Decl(overloadOnConstInheritance1.ts, 2, 21)) } interface Deriver extends Base { @@ -15,11 +15,11 @@ interface Deriver extends Base { >Base : Symbol(Base, Decl(overloadOnConstInheritance1.ts, 0, 0)) addEventListener(x: string): any; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance1.ts, 4, 32), Decl(overloadOnConstInheritance1.ts, 5, 37)) +>addEventListener : Symbol(Deriver.addEventListener, Decl(overloadOnConstInheritance1.ts, 4, 32), Decl(overloadOnConstInheritance1.ts, 5, 37)) >x : Symbol(x, Decl(overloadOnConstInheritance1.ts, 5, 21)) addEventListener(x: 'bar'): string; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance1.ts, 4, 32), Decl(overloadOnConstInheritance1.ts, 5, 37)) +>addEventListener : Symbol(Deriver.addEventListener, Decl(overloadOnConstInheritance1.ts, 4, 32), Decl(overloadOnConstInheritance1.ts, 5, 37)) >x : Symbol(x, Decl(overloadOnConstInheritance1.ts, 6, 21)) } diff --git a/tests/baselines/reference/overloadOnConstInheritance3.symbols b/tests/baselines/reference/overloadOnConstInheritance3.symbols index 32d07b19285..e73c3e88084 100644 --- a/tests/baselines/reference/overloadOnConstInheritance3.symbols +++ b/tests/baselines/reference/overloadOnConstInheritance3.symbols @@ -3,7 +3,7 @@ interface Base { >Base : Symbol(Base, Decl(overloadOnConstInheritance3.ts, 0, 0)) addEventListener(x: string): any; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance3.ts, 0, 16)) +>addEventListener : Symbol(Base.addEventListener, Decl(overloadOnConstInheritance3.ts, 0, 16)) >x : Symbol(x, Decl(overloadOnConstInheritance3.ts, 1, 21)) } interface Deriver extends Base { @@ -12,11 +12,11 @@ interface Deriver extends Base { // shouldn't need to redeclare the string overload addEventListener(x: 'bar'): string; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance3.ts, 3, 32), Decl(overloadOnConstInheritance3.ts, 5, 39)) +>addEventListener : Symbol(Deriver.addEventListener, Decl(overloadOnConstInheritance3.ts, 3, 32), Decl(overloadOnConstInheritance3.ts, 5, 39)) >x : Symbol(x, Decl(overloadOnConstInheritance3.ts, 5, 21)) addEventListener(x: 'foo'): string; ->addEventListener : Symbol(addEventListener, Decl(overloadOnConstInheritance3.ts, 3, 32), Decl(overloadOnConstInheritance3.ts, 5, 39)) +>addEventListener : Symbol(Deriver.addEventListener, Decl(overloadOnConstInheritance3.ts, 3, 32), Decl(overloadOnConstInheritance3.ts, 5, 39)) >x : Symbol(x, Decl(overloadOnConstInheritance3.ts, 6, 21)) } diff --git a/tests/baselines/reference/overloadOnConstInheritance4.symbols b/tests/baselines/reference/overloadOnConstInheritance4.symbols index 9bfa61e6aa9..8902b0442fd 100644 --- a/tests/baselines/reference/overloadOnConstInheritance4.symbols +++ b/tests/baselines/reference/overloadOnConstInheritance4.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(overloadOnConstInheritance4.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number); ->x1 : Symbol(x1, Decl(overloadOnConstInheritance4.ts, 0, 13)) +>x1 : Symbol(I.x1, Decl(overloadOnConstInheritance4.ts, 0, 13)) >a : Symbol(a, Decl(overloadOnConstInheritance4.ts, 1, 7)) >callback : Symbol(callback, Decl(overloadOnConstInheritance4.ts, 1, 17)) >x : Symbol(x, Decl(overloadOnConstInheritance4.ts, 1, 29)) @@ -13,13 +13,13 @@ class C implements I { >I : Symbol(I, Decl(overloadOnConstInheritance4.ts, 0, 0)) x1(a: number, callback: (x: 'hi') => number); ->x1 : Symbol(x1, Decl(overloadOnConstInheritance4.ts, 3, 22), Decl(overloadOnConstInheritance4.ts, 4, 49)) +>x1 : Symbol(C.x1, Decl(overloadOnConstInheritance4.ts, 3, 22), Decl(overloadOnConstInheritance4.ts, 4, 49)) >a : Symbol(a, Decl(overloadOnConstInheritance4.ts, 4, 7)) >callback : Symbol(callback, Decl(overloadOnConstInheritance4.ts, 4, 17)) >x : Symbol(x, Decl(overloadOnConstInheritance4.ts, 4, 29)) x1(a: number, callback: (x: 'hi') => number) { ->x1 : Symbol(x1, Decl(overloadOnConstInheritance4.ts, 3, 22), Decl(overloadOnConstInheritance4.ts, 4, 49)) +>x1 : Symbol(C.x1, Decl(overloadOnConstInheritance4.ts, 3, 22), Decl(overloadOnConstInheritance4.ts, 4, 49)) >a : Symbol(a, Decl(overloadOnConstInheritance4.ts, 5, 7)) >callback : Symbol(callback, Decl(overloadOnConstInheritance4.ts, 5, 17)) >x : Symbol(x, Decl(overloadOnConstInheritance4.ts, 5, 29)) diff --git a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.symbols b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.symbols index ff7f88f43c3..bb1633940ba 100644 --- a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.symbols +++ b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.symbols @@ -3,11 +3,11 @@ class C { >C : Symbol(C, Decl(overloadOnConstNoNonSpecializedSignature.ts, 0, 0)) x1(a: 'hi'); // error, no non-specialized signature in overload list ->x1 : Symbol(x1, Decl(overloadOnConstNoNonSpecializedSignature.ts, 0, 9), Decl(overloadOnConstNoNonSpecializedSignature.ts, 1, 15)) +>x1 : Symbol(C.x1, Decl(overloadOnConstNoNonSpecializedSignature.ts, 0, 9), Decl(overloadOnConstNoNonSpecializedSignature.ts, 1, 15)) >a : Symbol(a, Decl(overloadOnConstNoNonSpecializedSignature.ts, 1, 6)) x1(a: string) { } ->x1 : Symbol(x1, Decl(overloadOnConstNoNonSpecializedSignature.ts, 0, 9), Decl(overloadOnConstNoNonSpecializedSignature.ts, 1, 15)) +>x1 : Symbol(C.x1, Decl(overloadOnConstNoNonSpecializedSignature.ts, 0, 9), Decl(overloadOnConstNoNonSpecializedSignature.ts, 1, 15)) >a : Symbol(a, Decl(overloadOnConstNoNonSpecializedSignature.ts, 2, 6)) } diff --git a/tests/baselines/reference/overloadOnGenericArity.symbols b/tests/baselines/reference/overloadOnGenericArity.symbols index a9fddb65177..e585d3a38a0 100644 --- a/tests/baselines/reference/overloadOnGenericArity.symbols +++ b/tests/baselines/reference/overloadOnGenericArity.symbols @@ -3,12 +3,12 @@ interface Test { >Test : Symbol(Test, Decl(overloadOnGenericArity.ts, 0, 0)) then(p: string): string; ->then : Symbol(then, Decl(overloadOnGenericArity.ts, 0, 16), Decl(overloadOnGenericArity.ts, 1, 31)) +>then : Symbol(Test.then, Decl(overloadOnGenericArity.ts, 0, 16), Decl(overloadOnGenericArity.ts, 1, 31)) >U : Symbol(U, Decl(overloadOnGenericArity.ts, 1, 9)) >p : Symbol(p, Decl(overloadOnGenericArity.ts, 1, 12)) then(p: string): Date; // Error: Overloads cannot differ only by return type ->then : Symbol(then, Decl(overloadOnGenericArity.ts, 0, 16), Decl(overloadOnGenericArity.ts, 1, 31)) +>then : Symbol(Test.then, Decl(overloadOnGenericArity.ts, 0, 16), Decl(overloadOnGenericArity.ts, 1, 31)) >p : Symbol(p, Decl(overloadOnGenericArity.ts, 2, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) } diff --git a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.symbols b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.symbols index 8c4b74f89a2..daf7c34cf00 100644 --- a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.symbols +++ b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.symbols @@ -1,29 +1,29 @@ === tests/cases/compiler/overloadOnGenericClassAndNonGenericClass.ts === class A { a; } >A : Symbol(A, Decl(overloadOnGenericClassAndNonGenericClass.ts, 0, 0)) ->a : Symbol(a, Decl(overloadOnGenericClassAndNonGenericClass.ts, 0, 9)) +>a : Symbol(A.a, Decl(overloadOnGenericClassAndNonGenericClass.ts, 0, 9)) class B { b; } >B : Symbol(B, Decl(overloadOnGenericClassAndNonGenericClass.ts, 0, 14)) ->b : Symbol(b, Decl(overloadOnGenericClassAndNonGenericClass.ts, 1, 9)) +>b : Symbol(B.b, Decl(overloadOnGenericClassAndNonGenericClass.ts, 1, 9)) class C { c; } >C : Symbol(C, Decl(overloadOnGenericClassAndNonGenericClass.ts, 1, 14)) ->c : Symbol(c, Decl(overloadOnGenericClassAndNonGenericClass.ts, 2, 9)) +>c : Symbol(C.c, Decl(overloadOnGenericClassAndNonGenericClass.ts, 2, 9)) class X { x: T; } >X : Symbol(X, Decl(overloadOnGenericClassAndNonGenericClass.ts, 2, 14)) >T : Symbol(T, Decl(overloadOnGenericClassAndNonGenericClass.ts, 3, 8)) ->x : Symbol(x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 3, 12)) +>x : Symbol(X.x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 3, 12)) >T : Symbol(T, Decl(overloadOnGenericClassAndNonGenericClass.ts, 3, 8)) class X1 { x: string; } >X1 : Symbol(X1, Decl(overloadOnGenericClassAndNonGenericClass.ts, 3, 20)) ->x : Symbol(x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 4, 10)) +>x : Symbol(X1.x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 4, 10)) class X2 { x: string; } >X2 : Symbol(X2, Decl(overloadOnGenericClassAndNonGenericClass.ts, 4, 23)) ->x : Symbol(x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 5, 10)) +>x : Symbol(X2.x, Decl(overloadOnGenericClassAndNonGenericClass.ts, 5, 10)) function f(a: X1): A; >f : Symbol(f, Decl(overloadOnGenericClassAndNonGenericClass.ts, 5, 23), Decl(overloadOnGenericClassAndNonGenericClass.ts, 6, 21), Decl(overloadOnGenericClassAndNonGenericClass.ts, 7, 26)) diff --git a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols index d352216b74e..7ca4614ebe7 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols +++ b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols @@ -6,13 +6,13 @@ module Bugs { >IToken : Symbol(IToken, Decl(overloadResolutionOverNonCTObjectLit.ts, 0, 13)) startIndex:number; ->startIndex : Symbol(startIndex, Decl(overloadResolutionOverNonCTObjectLit.ts, 1, 41)) +>startIndex : Symbol(IToken.startIndex, Decl(overloadResolutionOverNonCTObjectLit.ts, 1, 41)) type:string; ->type : Symbol(type, Decl(overloadResolutionOverNonCTObjectLit.ts, 2, 50)) +>type : Symbol(IToken.type, Decl(overloadResolutionOverNonCTObjectLit.ts, 2, 50)) bracket:number; ->bracket : Symbol(bracket, Decl(overloadResolutionOverNonCTObjectLit.ts, 3, 44)) +>bracket : Symbol(IToken.bracket, Decl(overloadResolutionOverNonCTObjectLit.ts, 3, 44)) } export interface IState { @@ -24,11 +24,11 @@ module Bugs { >IToken : Symbol(IToken, Decl(overloadResolutionOverNonCTObjectLit.ts, 0, 13)) state: IState; ->state : Symbol(state, Decl(overloadResolutionOverNonCTObjectLit.ts, 10, 61)) +>state : Symbol(IStateToken.state, Decl(overloadResolutionOverNonCTObjectLit.ts, 10, 61)) >IState : Symbol(IState, Decl(overloadResolutionOverNonCTObjectLit.ts, 5, 17)) length: number; ->length : Symbol(length, Decl(overloadResolutionOverNonCTObjectLit.ts, 11, 46)) +>length : Symbol(IStateToken.length, Decl(overloadResolutionOverNonCTObjectLit.ts, 11, 46)) } function bug3() { diff --git a/tests/baselines/reference/overloadRet.symbols b/tests/baselines/reference/overloadRet.symbols index 0c645b7c4b8..cfb33663b7f 100644 --- a/tests/baselines/reference/overloadRet.symbols +++ b/tests/baselines/reference/overloadRet.symbols @@ -3,36 +3,36 @@ interface I { >I : Symbol(I, Decl(overloadRet.ts, 0, 0)) f(s:string):number; ->f : Symbol(f, Decl(overloadRet.ts, 0, 13), Decl(overloadRet.ts, 1, 23)) +>f : Symbol(I.f, Decl(overloadRet.ts, 0, 13), Decl(overloadRet.ts, 1, 23)) >s : Symbol(s, Decl(overloadRet.ts, 1, 6)) f(n:number):string; ->f : Symbol(f, Decl(overloadRet.ts, 0, 13), Decl(overloadRet.ts, 1, 23)) +>f : Symbol(I.f, Decl(overloadRet.ts, 0, 13), Decl(overloadRet.ts, 1, 23)) >n : Symbol(n, Decl(overloadRet.ts, 2, 6)) g(n:number):any; ->g : Symbol(g, Decl(overloadRet.ts, 2, 23), Decl(overloadRet.ts, 3, 20)) +>g : Symbol(I.g, Decl(overloadRet.ts, 2, 23), Decl(overloadRet.ts, 3, 20)) >n : Symbol(n, Decl(overloadRet.ts, 3, 6)) g(n:number,m:number):string; ->g : Symbol(g, Decl(overloadRet.ts, 2, 23), Decl(overloadRet.ts, 3, 20)) +>g : Symbol(I.g, Decl(overloadRet.ts, 2, 23), Decl(overloadRet.ts, 3, 20)) >n : Symbol(n, Decl(overloadRet.ts, 4, 6)) >m : Symbol(m, Decl(overloadRet.ts, 4, 15)) h(n:number):I; ->h : Symbol(h, Decl(overloadRet.ts, 4, 32), Decl(overloadRet.ts, 5, 18)) +>h : Symbol(I.h, Decl(overloadRet.ts, 4, 32), Decl(overloadRet.ts, 5, 18)) >n : Symbol(n, Decl(overloadRet.ts, 5, 6)) >I : Symbol(I, Decl(overloadRet.ts, 0, 0)) h(b:boolean):number; ->h : Symbol(h, Decl(overloadRet.ts, 4, 32), Decl(overloadRet.ts, 5, 18)) +>h : Symbol(I.h, Decl(overloadRet.ts, 4, 32), Decl(overloadRet.ts, 5, 18)) >b : Symbol(b, Decl(overloadRet.ts, 6, 6)) i(b:boolean):number; ->i : Symbol(i, Decl(overloadRet.ts, 6, 24), Decl(overloadRet.ts, 7, 24)) +>i : Symbol(I.i, Decl(overloadRet.ts, 6, 24), Decl(overloadRet.ts, 7, 24)) >b : Symbol(b, Decl(overloadRet.ts, 7, 6)) i(b:boolean):any; ->i : Symbol(i, Decl(overloadRet.ts, 6, 24), Decl(overloadRet.ts, 7, 24)) +>i : Symbol(I.i, Decl(overloadRet.ts, 6, 24), Decl(overloadRet.ts, 7, 24)) >b : Symbol(b, Decl(overloadRet.ts, 8, 6)) } diff --git a/tests/baselines/reference/overloadReturnTypes.symbols b/tests/baselines/reference/overloadReturnTypes.symbols index b76efb4a0d6..88fda7bfdbb 100644 --- a/tests/baselines/reference/overloadReturnTypes.symbols +++ b/tests/baselines/reference/overloadReturnTypes.symbols @@ -41,17 +41,17 @@ interface IFace { >IFace : Symbol(IFace, Decl(overloadReturnTypes.ts, 14, 1)) attr(name:string):string; ->attr : Symbol(attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) +>attr : Symbol(IFace.attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) >name : Symbol(name, Decl(overloadReturnTypes.ts, 18, 6)) attr(name: string, value: string): Accessor; ->attr : Symbol(attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) +>attr : Symbol(IFace.attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) >name : Symbol(name, Decl(overloadReturnTypes.ts, 19, 6)) >value : Symbol(value, Decl(overloadReturnTypes.ts, 19, 19)) >Accessor : Symbol(Accessor, Decl(overloadReturnTypes.ts, 0, 0)) attr(map: any): Accessor; ->attr : Symbol(attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) +>attr : Symbol(IFace.attr, Decl(overloadReturnTypes.ts, 17, 17), Decl(overloadReturnTypes.ts, 18, 26), Decl(overloadReturnTypes.ts, 19, 45)) >map : Symbol(map, Decl(overloadReturnTypes.ts, 20, 6)) >Accessor : Symbol(Accessor, Decl(overloadReturnTypes.ts, 0, 0)) } diff --git a/tests/baselines/reference/parameterPropertyInitializerInInitializers.symbols b/tests/baselines/reference/parameterPropertyInitializerInInitializers.symbols index c05adb9e8ca..e355a40d85e 100644 --- a/tests/baselines/reference/parameterPropertyInitializerInInitializers.symbols +++ b/tests/baselines/reference/parameterPropertyInitializerInInitializers.symbols @@ -3,7 +3,7 @@ class Foo { >Foo : Symbol(Foo, Decl(parameterPropertyInitializerInInitializers.ts, 0, 0)) constructor(public x: number, public y: number = x) { } ->x : Symbol(x, Decl(parameterPropertyInitializerInInitializers.ts, 1, 16)) ->y : Symbol(y, Decl(parameterPropertyInitializerInInitializers.ts, 1, 33)) +>x : Symbol(Foo.x, Decl(parameterPropertyInitializerInInitializers.ts, 1, 16)) +>y : Symbol(Foo.y, Decl(parameterPropertyInitializerInInitializers.ts, 1, 33)) >x : Symbol(x, Decl(parameterPropertyInitializerInInitializers.ts, 1, 16)) } diff --git a/tests/baselines/reference/parameterPropertyReferencingOtherParameter.symbols b/tests/baselines/reference/parameterPropertyReferencingOtherParameter.symbols index fb6d289f241..97c0c22bc8c 100644 --- a/tests/baselines/reference/parameterPropertyReferencingOtherParameter.symbols +++ b/tests/baselines/reference/parameterPropertyReferencingOtherParameter.symbols @@ -3,8 +3,8 @@ class Foo { >Foo : Symbol(Foo, Decl(parameterPropertyReferencingOtherParameter.ts, 0, 0)) constructor(public x: number, public y: number = x) { } ->x : Symbol(x, Decl(parameterPropertyReferencingOtherParameter.ts, 1, 16)) ->y : Symbol(y, Decl(parameterPropertyReferencingOtherParameter.ts, 1, 33)) +>x : Symbol(Foo.x, Decl(parameterPropertyReferencingOtherParameter.ts, 1, 16)) +>y : Symbol(Foo.y, Decl(parameterPropertyReferencingOtherParameter.ts, 1, 33)) >x : Symbol(x, Decl(parameterPropertyReferencingOtherParameter.ts, 1, 16)) } diff --git a/tests/baselines/reference/parameterReferencesOtherParameter1.symbols b/tests/baselines/reference/parameterReferencesOtherParameter1.symbols index 7e7eec1a3cb..02e5cce5c20 100644 --- a/tests/baselines/reference/parameterReferencesOtherParameter1.symbols +++ b/tests/baselines/reference/parameterReferencesOtherParameter1.symbols @@ -3,7 +3,7 @@ class Model { >Model : Symbol(Model, Decl(parameterReferencesOtherParameter1.ts, 0, 0)) public name: string; ->name : Symbol(name, Decl(parameterReferencesOtherParameter1.ts, 0, 13)) +>name : Symbol(Model.name, Decl(parameterReferencesOtherParameter1.ts, 0, 13)) } class UI { diff --git a/tests/baselines/reference/parameterReferencesOtherParameter2.symbols b/tests/baselines/reference/parameterReferencesOtherParameter2.symbols index 2d63c7a3334..94f9b43bb27 100644 --- a/tests/baselines/reference/parameterReferencesOtherParameter2.symbols +++ b/tests/baselines/reference/parameterReferencesOtherParameter2.symbols @@ -3,7 +3,7 @@ class Model { >Model : Symbol(Model, Decl(parameterReferencesOtherParameter2.ts, 0, 0)) public name: string; ->name : Symbol(name, Decl(parameterReferencesOtherParameter2.ts, 0, 13)) +>name : Symbol(Model.name, Decl(parameterReferencesOtherParameter2.ts, 0, 13)) } class UI { diff --git a/tests/baselines/reference/parametersWithNoAnnotationAreAny.symbols b/tests/baselines/reference/parametersWithNoAnnotationAreAny.symbols index 9771d7f05ca..257679f61b2 100644 --- a/tests/baselines/reference/parametersWithNoAnnotationAreAny.symbols +++ b/tests/baselines/reference/parametersWithNoAnnotationAreAny.symbols @@ -25,7 +25,7 @@ class C { >C : Symbol(C, Decl(parametersWithNoAnnotationAreAny.ts, 3, 21)) foo(x) { ->foo : Symbol(foo, Decl(parametersWithNoAnnotationAreAny.ts, 5, 9)) +>foo : Symbol(C.foo, Decl(parametersWithNoAnnotationAreAny.ts, 5, 9)) >x : Symbol(x, Decl(parametersWithNoAnnotationAreAny.ts, 6, 8)) return x; @@ -37,11 +37,11 @@ interface I { >I : Symbol(I, Decl(parametersWithNoAnnotationAreAny.ts, 9, 1)) foo(x); ->foo : Symbol(foo, Decl(parametersWithNoAnnotationAreAny.ts, 11, 13)) +>foo : Symbol(I.foo, Decl(parametersWithNoAnnotationAreAny.ts, 11, 13)) >x : Symbol(x, Decl(parametersWithNoAnnotationAreAny.ts, 12, 8)) foo2(x, y); ->foo2 : Symbol(foo2, Decl(parametersWithNoAnnotationAreAny.ts, 12, 11)) +>foo2 : Symbol(I.foo2, Decl(parametersWithNoAnnotationAreAny.ts, 12, 11)) >x : Symbol(x, Decl(parametersWithNoAnnotationAreAny.ts, 13, 9)) >y : Symbol(y, Decl(parametersWithNoAnnotationAreAny.ts, 13, 11)) } diff --git a/tests/baselines/reference/parseShortform.symbols b/tests/baselines/reference/parseShortform.symbols index 31310e7bbb7..f0caf5f7d12 100644 --- a/tests/baselines/reference/parseShortform.symbols +++ b/tests/baselines/reference/parseShortform.symbols @@ -3,7 +3,7 @@ interface I { >I : Symbol(I, Decl(parseShortform.ts, 0, 0)) w: { ->w : Symbol(w, Decl(parseShortform.ts, 0, 13)) +>w : Symbol(I.w, Decl(parseShortform.ts, 0, 13)) z: I; >z : Symbol(z, Decl(parseShortform.ts, 1, 8)) @@ -22,13 +22,13 @@ interface I { }; x: boolean; ->x : Symbol(x, Decl(parseShortform.ts, 6, 6)) +>x : Symbol(I.x, Decl(parseShortform.ts, 6, 6)) y: (s: string) => boolean; ->y : Symbol(y, Decl(parseShortform.ts, 7, 15)) +>y : Symbol(I.y, Decl(parseShortform.ts, 7, 15)) >s : Symbol(s, Decl(parseShortform.ts, 8, 8)) z: I; ->z : Symbol(z, Decl(parseShortform.ts, 8, 30)) +>z : Symbol(I.z, Decl(parseShortform.ts, 8, 30)) >I : Symbol(I, Decl(parseShortform.ts, 0, 0)) } diff --git a/tests/baselines/reference/parser509546.symbols b/tests/baselines/reference/parser509546.symbols index 1b4e44312e5..a288b0c782e 100644 --- a/tests/baselines/reference/parser509546.symbols +++ b/tests/baselines/reference/parser509546.symbols @@ -3,6 +3,6 @@ export class Logger { >Logger : Symbol(Logger, Decl(parser509546.ts, 0, 0)) public ->public : Symbol(public, Decl(parser509546.ts, 0, 21)) +>public : Symbol(Logger.public, Decl(parser509546.ts, 0, 21)) } diff --git a/tests/baselines/reference/parser509546_1.symbols b/tests/baselines/reference/parser509546_1.symbols index 730b1813cdd..356345d31c4 100644 --- a/tests/baselines/reference/parser509546_1.symbols +++ b/tests/baselines/reference/parser509546_1.symbols @@ -3,6 +3,6 @@ export class Logger { >Logger : Symbol(Logger, Decl(parser509546_1.ts, 0, 0)) public ->public : Symbol(public, Decl(parser509546_1.ts, 0, 21)) +>public : Symbol(Logger.public, Decl(parser509546_1.ts, 0, 21)) } diff --git a/tests/baselines/reference/parser509546_2.symbols b/tests/baselines/reference/parser509546_2.symbols index 83872a7e82f..89f4980a002 100644 --- a/tests/baselines/reference/parser509546_2.symbols +++ b/tests/baselines/reference/parser509546_2.symbols @@ -5,6 +5,6 @@ export class Logger { >Logger : Symbol(Logger, Decl(parser509546_2.ts, 0, 13)) public ->public : Symbol(public, Decl(parser509546_2.ts, 2, 21)) +>public : Symbol(Logger.public, Decl(parser509546_2.ts, 2, 21)) } diff --git a/tests/baselines/reference/parser643728.symbols b/tests/baselines/reference/parser643728.symbols index 705e4b1ba9d..ffa2ed06746 100644 --- a/tests/baselines/reference/parser643728.symbols +++ b/tests/baselines/reference/parser643728.symbols @@ -3,9 +3,9 @@ interface C { >C : Symbol(C, Decl(parser643728.ts, 0, 0)) foo; ->foo : Symbol(foo, Decl(parser643728.ts, 0, 13)) +>foo : Symbol(C.foo, Decl(parser643728.ts, 0, 13)) new; ->new : Symbol(new, Decl(parser643728.ts, 1, 8)) +>new : Symbol(C.new, Decl(parser643728.ts, 1, 8)) } diff --git a/tests/baselines/reference/parserAccessors2.symbols b/tests/baselines/reference/parserAccessors2.symbols index d4371695610..1d83ee847d5 100644 --- a/tests/baselines/reference/parserAccessors2.symbols +++ b/tests/baselines/reference/parserAccessors2.symbols @@ -3,6 +3,6 @@ class C { >C : Symbol(C, Decl(parserAccessors2.ts, 0, 0)) set Foo(a) { } ->Foo : Symbol(Foo, Decl(parserAccessors2.ts, 0, 9)) +>Foo : Symbol(C.Foo, Decl(parserAccessors2.ts, 0, 9)) >a : Symbol(a, Decl(parserAccessors2.ts, 1, 12)) } diff --git a/tests/baselines/reference/parserClassDeclaration16.symbols b/tests/baselines/reference/parserClassDeclaration16.symbols index 770793b8ff9..f5afdd07a2e 100644 --- a/tests/baselines/reference/parserClassDeclaration16.symbols +++ b/tests/baselines/reference/parserClassDeclaration16.symbols @@ -3,8 +3,8 @@ class C { >C : Symbol(C, Decl(parserClassDeclaration16.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(parserClassDeclaration16.ts, 0, 9), Decl(parserClassDeclaration16.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(parserClassDeclaration16.ts, 0, 9), Decl(parserClassDeclaration16.ts, 1, 9)) foo() { } ->foo : Symbol(foo, Decl(parserClassDeclaration16.ts, 0, 9), Decl(parserClassDeclaration16.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(parserClassDeclaration16.ts, 0, 9), Decl(parserClassDeclaration16.ts, 1, 9)) } diff --git a/tests/baselines/reference/parserClassDeclaration17.symbols b/tests/baselines/reference/parserClassDeclaration17.symbols index 7d230821d8a..fc8655b784f 100644 --- a/tests/baselines/reference/parserClassDeclaration17.symbols +++ b/tests/baselines/reference/parserClassDeclaration17.symbols @@ -3,13 +3,13 @@ declare class Enumerator { >Enumerator : Symbol(Enumerator, Decl(parserClassDeclaration17.ts, 0, 0)) public atEnd(): boolean; ->atEnd : Symbol(atEnd, Decl(parserClassDeclaration17.ts, 0, 26)) +>atEnd : Symbol(Enumerator.atEnd, Decl(parserClassDeclaration17.ts, 0, 26)) public moveNext(); ->moveNext : Symbol(moveNext, Decl(parserClassDeclaration17.ts, 1, 28)) +>moveNext : Symbol(Enumerator.moveNext, Decl(parserClassDeclaration17.ts, 1, 28)) public item(): any; ->item : Symbol(item, Decl(parserClassDeclaration17.ts, 2, 22)) +>item : Symbol(Enumerator.item, Decl(parserClassDeclaration17.ts, 2, 22)) constructor (o: any); >o : Symbol(o, Decl(parserClassDeclaration17.ts, 4, 17)) diff --git a/tests/baselines/reference/parserClassDeclaration19.symbols b/tests/baselines/reference/parserClassDeclaration19.symbols index e9ac1a666c7..9e9f64ca282 100644 --- a/tests/baselines/reference/parserClassDeclaration19.symbols +++ b/tests/baselines/reference/parserClassDeclaration19.symbols @@ -3,7 +3,7 @@ class C { >C : Symbol(C, Decl(parserClassDeclaration19.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(parserClassDeclaration19.ts, 0, 9), Decl(parserClassDeclaration19.ts, 1, 10)) +>foo : Symbol(C.foo, Decl(parserClassDeclaration19.ts, 0, 9), Decl(parserClassDeclaration19.ts, 1, 10)) "foo"() { } } diff --git a/tests/baselines/reference/parserClassDeclaration26.symbols b/tests/baselines/reference/parserClassDeclaration26.symbols index 09b9cbfd3a4..7ad2b33c5f5 100644 --- a/tests/baselines/reference/parserClassDeclaration26.symbols +++ b/tests/baselines/reference/parserClassDeclaration26.symbols @@ -3,8 +3,8 @@ class C { >C : Symbol(C, Decl(parserClassDeclaration26.ts, 0, 0)) var ->var : Symbol(var, Decl(parserClassDeclaration26.ts, 0, 9)) +>var : Symbol(C.var, Decl(parserClassDeclaration26.ts, 0, 9)) public ->public : Symbol(public, Decl(parserClassDeclaration26.ts, 1, 6)) +>public : Symbol(C.public, Decl(parserClassDeclaration26.ts, 1, 6)) } diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols index 7b8be05f923..e9209df72f2 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols @@ -4,7 +4,7 @@ interface IPoint { >IPoint : Symbol(IPoint, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 0, 0)) getDist(): number; ->getDist : Symbol(getDist, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 1, 18)) +>getDist : Symbol(IPoint.getDist, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 1, 18)) } // Module @@ -17,31 +17,31 @@ module Shapes { >IPoint : Symbol(IPoint, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 0, 0)) public con: "hello"; ->con : Symbol(con, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 9, 42)) +>con : Symbol(Point.con, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 9, 42)) // Constructor constructor (public x: number, public y: number) { } ->x : Symbol(x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) ->y : Symbol(y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) +>x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) +>y : Symbol(Point.y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) // Instance member getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } ->getDist : Symbol(getDist, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 60)) +>getDist : Symbol(Point.getDist, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 60)) >Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) >Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->this.x : Symbol(x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) +>this.x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 6, 15)) ->x : Symbol(x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) ->this.x : Symbol(x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) +>x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) +>this.x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 6, 15)) ->x : Symbol(x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) ->this.y : Symbol(y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) +>x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) +>this.y : Symbol(Point.y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 6, 15)) ->y : Symbol(y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) ->this.y : Symbol(y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) +>y : Symbol(Point.y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) +>this.y : Symbol(Point.y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 6, 15)) ->y : Symbol(y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) +>y : Symbol(Point.y, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 38)) // Static member static origin = new Point(0, 0); diff --git a/tests/baselines/reference/parserExportAsFunctionIdentifier.symbols b/tests/baselines/reference/parserExportAsFunctionIdentifier.symbols index 6d81e8fdae3..d60cf30c821 100644 --- a/tests/baselines/reference/parserExportAsFunctionIdentifier.symbols +++ b/tests/baselines/reference/parserExportAsFunctionIdentifier.symbols @@ -3,7 +3,7 @@ interface Foo { >Foo : Symbol(Foo, Decl(parserExportAsFunctionIdentifier.ts, 0, 0)) export(): string; ->export : Symbol(export, Decl(parserExportAsFunctionIdentifier.ts, 0, 15)) +>export : Symbol(Foo.export, Decl(parserExportAsFunctionIdentifier.ts, 0, 15)) } var f: Foo; diff --git a/tests/baselines/reference/parserIndexMemberDeclaration2.symbols b/tests/baselines/reference/parserIndexMemberDeclaration2.symbols index 1b42a8f8160..0031cde94be 100644 --- a/tests/baselines/reference/parserIndexMemberDeclaration2.symbols +++ b/tests/baselines/reference/parserIndexMemberDeclaration2.symbols @@ -6,5 +6,5 @@ class C { >a : Symbol(a, Decl(parserIndexMemberDeclaration2.ts, 1, 4)) public v: number ->v : Symbol(v, Decl(parserIndexMemberDeclaration2.ts, 1, 22)) +>v : Symbol(C.v, Decl(parserIndexMemberDeclaration2.ts, 1, 22)) } diff --git a/tests/baselines/reference/parserIndexMemberDeclaration3.symbols b/tests/baselines/reference/parserIndexMemberDeclaration3.symbols index 6961a37f497..7db6c7dd93e 100644 --- a/tests/baselines/reference/parserIndexMemberDeclaration3.symbols +++ b/tests/baselines/reference/parserIndexMemberDeclaration3.symbols @@ -6,5 +6,5 @@ class C { >a : Symbol(a, Decl(parserIndexMemberDeclaration3.ts, 1, 4)) public v: number ->v : Symbol(v, Decl(parserIndexMemberDeclaration3.ts, 1, 23)) +>v : Symbol(C.v, Decl(parserIndexMemberDeclaration3.ts, 1, 23)) } diff --git a/tests/baselines/reference/parserIndexMemberDeclaration4.symbols b/tests/baselines/reference/parserIndexMemberDeclaration4.symbols index 29b101d05d8..9b5f99d6ba8 100644 --- a/tests/baselines/reference/parserIndexMemberDeclaration4.symbols +++ b/tests/baselines/reference/parserIndexMemberDeclaration4.symbols @@ -4,5 +4,5 @@ class C { [a: string]: number; public v: number >a : Symbol(a, Decl(parserIndexMemberDeclaration4.ts, 1, 4)) ->v : Symbol(v, Decl(parserIndexMemberDeclaration4.ts, 1, 23)) +>v : Symbol(C.v, Decl(parserIndexMemberDeclaration4.ts, 1, 23)) } diff --git a/tests/baselines/reference/parserMemberAccessorDeclaration4.symbols b/tests/baselines/reference/parserMemberAccessorDeclaration4.symbols index 2750f28943e..f446aa992ca 100644 --- a/tests/baselines/reference/parserMemberAccessorDeclaration4.symbols +++ b/tests/baselines/reference/parserMemberAccessorDeclaration4.symbols @@ -3,6 +3,6 @@ class C { >C : Symbol(C, Decl(parserMemberAccessorDeclaration4.ts, 0, 0)) set a(i) { } ->a : Symbol(a, Decl(parserMemberAccessorDeclaration4.ts, 0, 9)) +>a : Symbol(C.a, Decl(parserMemberAccessorDeclaration4.ts, 0, 9)) >i : Symbol(i, Decl(parserMemberAccessorDeclaration4.ts, 1, 8)) } diff --git a/tests/baselines/reference/parserMethodSignature1.symbols b/tests/baselines/reference/parserMethodSignature1.symbols index 2c12a156ef0..a905dc1056c 100644 --- a/tests/baselines/reference/parserMethodSignature1.symbols +++ b/tests/baselines/reference/parserMethodSignature1.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserMethodSignature1.ts, 0, 0)) A(); ->A : Symbol(A, Decl(parserMethodSignature1.ts, 0, 13)) +>A : Symbol(I.A, Decl(parserMethodSignature1.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserMethodSignature2.symbols b/tests/baselines/reference/parserMethodSignature2.symbols index ba86c20293e..7c7013e1b13 100644 --- a/tests/baselines/reference/parserMethodSignature2.symbols +++ b/tests/baselines/reference/parserMethodSignature2.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserMethodSignature2.ts, 0, 0)) B?(); ->B : Symbol(B, Decl(parserMethodSignature2.ts, 0, 13)) +>B : Symbol(I.B, Decl(parserMethodSignature2.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserMethodSignature3.symbols b/tests/baselines/reference/parserMethodSignature3.symbols index ce4c0f05561..5f6efea534b 100644 --- a/tests/baselines/reference/parserMethodSignature3.symbols +++ b/tests/baselines/reference/parserMethodSignature3.symbols @@ -3,6 +3,6 @@ interface I { >I : Symbol(I, Decl(parserMethodSignature3.ts, 0, 0)) C(); ->C : Symbol(C, Decl(parserMethodSignature3.ts, 0, 13)) +>C : Symbol(I.C, Decl(parserMethodSignature3.ts, 0, 13)) >T : Symbol(T, Decl(parserMethodSignature3.ts, 1, 4)) } diff --git a/tests/baselines/reference/parserMethodSignature4.symbols b/tests/baselines/reference/parserMethodSignature4.symbols index d1612bf2f4f..7ebcbcbcf5a 100644 --- a/tests/baselines/reference/parserMethodSignature4.symbols +++ b/tests/baselines/reference/parserMethodSignature4.symbols @@ -3,6 +3,6 @@ interface I { >I : Symbol(I, Decl(parserMethodSignature4.ts, 0, 0)) D?(); ->D : Symbol(D, Decl(parserMethodSignature4.ts, 0, 13)) +>D : Symbol(I.D, Decl(parserMethodSignature4.ts, 0, 13)) >T : Symbol(T, Decl(parserMethodSignature4.ts, 1, 5)) } diff --git a/tests/baselines/reference/parserModifierOnPropertySignature2.symbols b/tests/baselines/reference/parserModifierOnPropertySignature2.symbols index ac17a3810bf..496f5736141 100644 --- a/tests/baselines/reference/parserModifierOnPropertySignature2.symbols +++ b/tests/baselines/reference/parserModifierOnPropertySignature2.symbols @@ -3,9 +3,9 @@ interface Foo{ >Foo : Symbol(Foo, Decl(parserModifierOnPropertySignature2.ts, 0, 0)) public ->public : Symbol(public, Decl(parserModifierOnPropertySignature2.ts, 0, 14)) +>public : Symbol(Foo.public, Decl(parserModifierOnPropertySignature2.ts, 0, 14)) biz; ->biz : Symbol(biz, Decl(parserModifierOnPropertySignature2.ts, 1, 10)) +>biz : Symbol(Foo.biz, Decl(parserModifierOnPropertySignature2.ts, 1, 10)) } diff --git a/tests/baselines/reference/parserModule1.symbols b/tests/baselines/reference/parserModule1.symbols index 18bae82da65..5215a2e656d 100644 --- a/tests/baselines/reference/parserModule1.symbols +++ b/tests/baselines/reference/parserModule1.symbols @@ -9,7 +9,7 @@ >IDiagnosticWriter : Symbol(IDiagnosticWriter, Decl(parserModule1.ts, 1, 33)) Alert(output: string): void; ->Alert : Symbol(Alert, Decl(parserModule1.ts, 2, 44)) +>Alert : Symbol(IDiagnosticWriter.Alert, Decl(parserModule1.ts, 2, 44)) >output : Symbol(output, Decl(parserModule1.ts, 3, 18)) } diff --git a/tests/baselines/reference/parserOptionalTypeMembers1.symbols b/tests/baselines/reference/parserOptionalTypeMembers1.symbols index ce12a4ec19b..fb4d93d7f9c 100644 --- a/tests/baselines/reference/parserOptionalTypeMembers1.symbols +++ b/tests/baselines/reference/parserOptionalTypeMembers1.symbols @@ -3,21 +3,21 @@ interface PropertyDescriptor2 { >PropertyDescriptor2 : Symbol(PropertyDescriptor2, Decl(parserOptionalTypeMembers1.ts, 0, 0)) configurable?: boolean; ->configurable : Symbol(configurable, Decl(parserOptionalTypeMembers1.ts, 0, 31)) +>configurable : Symbol(PropertyDescriptor2.configurable, Decl(parserOptionalTypeMembers1.ts, 0, 31)) enumerable?: boolean; ->enumerable : Symbol(enumerable, Decl(parserOptionalTypeMembers1.ts, 1, 27)) +>enumerable : Symbol(PropertyDescriptor2.enumerable, Decl(parserOptionalTypeMembers1.ts, 1, 27)) value?: any; ->value : Symbol(value, Decl(parserOptionalTypeMembers1.ts, 2, 25)) +>value : Symbol(PropertyDescriptor2.value, Decl(parserOptionalTypeMembers1.ts, 2, 25)) writable?: boolean; ->writable : Symbol(writable, Decl(parserOptionalTypeMembers1.ts, 3, 16)) +>writable : Symbol(PropertyDescriptor2.writable, Decl(parserOptionalTypeMembers1.ts, 3, 16)) get?(): any; ->get : Symbol(get, Decl(parserOptionalTypeMembers1.ts, 4, 23)) +>get : Symbol(PropertyDescriptor2.get, Decl(parserOptionalTypeMembers1.ts, 4, 23)) set?(v: any): void; ->set : Symbol(set, Decl(parserOptionalTypeMembers1.ts, 5, 16)) +>set : Symbol(PropertyDescriptor2.set, Decl(parserOptionalTypeMembers1.ts, 5, 16)) >v : Symbol(v, Decl(parserOptionalTypeMembers1.ts, 6, 9)) } diff --git a/tests/baselines/reference/parserPropertySignature1.symbols b/tests/baselines/reference/parserPropertySignature1.symbols index 6b8a26c4164..e32b1173d53 100644 --- a/tests/baselines/reference/parserPropertySignature1.symbols +++ b/tests/baselines/reference/parserPropertySignature1.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserPropertySignature1.ts, 0, 0)) A; ->A : Symbol(A, Decl(parserPropertySignature1.ts, 0, 13)) +>A : Symbol(I.A, Decl(parserPropertySignature1.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserPropertySignature2.symbols b/tests/baselines/reference/parserPropertySignature2.symbols index 334c0655908..6ec329e7b6d 100644 --- a/tests/baselines/reference/parserPropertySignature2.symbols +++ b/tests/baselines/reference/parserPropertySignature2.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserPropertySignature2.ts, 0, 0)) B?; ->B : Symbol(B, Decl(parserPropertySignature2.ts, 0, 13)) +>B : Symbol(I.B, Decl(parserPropertySignature2.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserPropertySignature3.symbols b/tests/baselines/reference/parserPropertySignature3.symbols index c2b70b58be8..84e39dab5ec 100644 --- a/tests/baselines/reference/parserPropertySignature3.symbols +++ b/tests/baselines/reference/parserPropertySignature3.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserPropertySignature3.ts, 0, 0)) C:any; ->C : Symbol(C, Decl(parserPropertySignature3.ts, 0, 13)) +>C : Symbol(I.C, Decl(parserPropertySignature3.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserPropertySignature4.symbols b/tests/baselines/reference/parserPropertySignature4.symbols index cd61b14d34c..071a826b7f9 100644 --- a/tests/baselines/reference/parserPropertySignature4.symbols +++ b/tests/baselines/reference/parserPropertySignature4.symbols @@ -3,5 +3,5 @@ interface I { >I : Symbol(I, Decl(parserPropertySignature4.ts, 0, 0)) D?:any; ->D : Symbol(D, Decl(parserPropertySignature4.ts, 0, 13)) +>D : Symbol(I.D, Decl(parserPropertySignature4.ts, 0, 13)) } diff --git a/tests/baselines/reference/parsingClassRecoversWhenHittingUnexpectedSemicolon.symbols b/tests/baselines/reference/parsingClassRecoversWhenHittingUnexpectedSemicolon.symbols index 36d09277a3e..2f0087416b9 100644 --- a/tests/baselines/reference/parsingClassRecoversWhenHittingUnexpectedSemicolon.symbols +++ b/tests/baselines/reference/parsingClassRecoversWhenHittingUnexpectedSemicolon.symbols @@ -3,9 +3,9 @@ class C { >C : Symbol(C, Decl(parsingClassRecoversWhenHittingUnexpectedSemicolon.ts, 0, 0)) public f() { }; ->f : Symbol(f, Decl(parsingClassRecoversWhenHittingUnexpectedSemicolon.ts, 0, 9)) +>f : Symbol(C.f, Decl(parsingClassRecoversWhenHittingUnexpectedSemicolon.ts, 0, 9)) private m; ->m : Symbol(m, Decl(parsingClassRecoversWhenHittingUnexpectedSemicolon.ts, 1, 19)) +>m : Symbol(C.m, Decl(parsingClassRecoversWhenHittingUnexpectedSemicolon.ts, 1, 19)) } diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.symbols b/tests/baselines/reference/plusOperatorWithBooleanType.symbols index d8c6beda3bc..29ee32c9f54 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/plusOperatorWithBooleanType.symbols @@ -10,7 +10,7 @@ class A { >A : Symbol(A, Decl(plusOperatorWithBooleanType.ts, 3, 40)) public a: boolean; ->a : Symbol(a, Decl(plusOperatorWithBooleanType.ts, 5, 9)) +>a : Symbol(A.a, Decl(plusOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } >foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 22)) diff --git a/tests/baselines/reference/plusOperatorWithNumberType.symbols b/tests/baselines/reference/plusOperatorWithNumberType.symbols index fd62582515e..c8f4b9652d0 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.symbols +++ b/tests/baselines/reference/plusOperatorWithNumberType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(plusOperatorWithNumberType.ts, 4, 36)) public a: number; ->a : Symbol(a, Decl(plusOperatorWithNumberType.ts, 6, 9)) +>a : Symbol(A.a, Decl(plusOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } >foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 21)) diff --git a/tests/baselines/reference/plusOperatorWithStringType.symbols b/tests/baselines/reference/plusOperatorWithStringType.symbols index fd3e10c172f..eb2e2625a1c 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.symbols +++ b/tests/baselines/reference/plusOperatorWithStringType.symbols @@ -13,7 +13,7 @@ class A { >A : Symbol(A, Decl(plusOperatorWithStringType.ts, 4, 40)) public a: string; ->a : Symbol(a, Decl(plusOperatorWithStringType.ts, 6, 9)) +>a : Symbol(A.a, Decl(plusOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } >foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 21)) diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.symbols b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.symbols index d0f8179dfea..14d223f2c01 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.symbols +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.symbols @@ -5,7 +5,7 @@ export var x = 1; // Makes this an external module interface Iterator { x: T } >Iterator : Symbol(Iterator, Decl(privacyCheckAnonymousFunctionParameter2.ts, 0, 17)) >T : Symbol(T, Decl(privacyCheckAnonymousFunctionParameter2.ts, 1, 19)) ->x : Symbol(x, Decl(privacyCheckAnonymousFunctionParameter2.ts, 1, 23)) +>x : Symbol(Iterator.x, Decl(privacyCheckAnonymousFunctionParameter2.ts, 1, 23)) >T : Symbol(T, Decl(privacyCheckAnonymousFunctionParameter2.ts, 1, 19)) module Q { diff --git a/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.symbols b/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.symbols index 61e8d09798b..9234971375c 100644 --- a/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.symbols +++ b/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.symbols @@ -4,7 +4,7 @@ export interface A { >T : Symbol(T, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 0, 19)) f1(callback: (p: T) => any); ->f1 : Symbol(f1, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 0, 23)) +>f1 : Symbol(A.f1, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 0, 23)) >callback : Symbol(callback, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 1, 7)) >p : Symbol(p, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 1, 18)) >T : Symbol(T, Decl(privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts, 0, 19)) diff --git a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols index 75ebd0bff0a..50402be8633 100644 --- a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols +++ b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols @@ -9,7 +9,7 @@ interface Bar { >Bar : Symbol(Bar, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts, 1, 13)) foo: Foo; ->foo : Symbol(foo, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts, 2, 15)) +>foo : Symbol(Bar.foo, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts, 2, 15)) >Foo : Symbol(Foo, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts, 0, 0)) } === tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts === @@ -21,7 +21,7 @@ class Foo { >A : Symbol(A, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts, 1, 10)) constructor(public a: A) { } ->a : Symbol(a, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts, 2, 16)) +>a : Symbol(Foo.a, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts, 2, 16)) >A : Symbol(A, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts, 1, 10)) } diff --git a/tests/baselines/reference/privacyClass.symbols b/tests/baselines/reference/privacyClass.symbols index 791193a54ab..b0d949c0444 100644 --- a/tests/baselines/reference/privacyClass.symbols +++ b/tests/baselines/reference/privacyClass.symbols @@ -14,7 +14,7 @@ export module m1 { >m1_c_public : Symbol(m1_c_public, Decl(privacyClass.ts, 5, 5)) private f1() { ->f1 : Symbol(f1, Decl(privacyClass.ts, 7, 30)) +>f1 : Symbol(m1_c_public.f1, Decl(privacyClass.ts, 7, 30)) } } @@ -98,7 +98,7 @@ module m2 { >m2_c_public : Symbol(m2_c_public, Decl(privacyClass.ts, 49, 5)) private f1() { ->f1 : Symbol(f1, Decl(privacyClass.ts, 51, 30)) +>f1 : Symbol(m2_c_public.f1, Decl(privacyClass.ts, 51, 30)) } } @@ -178,7 +178,7 @@ export class glo_c_public { >glo_c_public : Symbol(glo_c_public, Decl(privacyClass.ts, 91, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyClass.ts, 93, 27)) +>f1 : Symbol(glo_c_public.f1, Decl(privacyClass.ts, 93, 27)) } } diff --git a/tests/baselines/reference/privacyFunc.symbols b/tests/baselines/reference/privacyFunc.symbols index 2d156da870d..0eb77cf8606 100644 --- a/tests/baselines/reference/privacyFunc.symbols +++ b/tests/baselines/reference/privacyFunc.symbols @@ -6,7 +6,7 @@ module m1 { >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyFunc.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyFunc.ts, 1, 28)) } } @@ -30,59 +30,59 @@ module m1 { } private f1_private(m1_c3_f1_arg: C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyFunc.ts, 13, 9)) +>f1_private : Symbol(C3_public.f1_private, Decl(privacyFunc.ts, 13, 9)) >m1_c3_f1_arg : Symbol(m1_c3_f1_arg, Decl(privacyFunc.ts, 15, 27)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } public f2_public(m1_c3_f2_arg: C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyFunc.ts, 16, 9)) +>f2_public : Symbol(C3_public.f2_public, Decl(privacyFunc.ts, 16, 9)) >m1_c3_f2_arg : Symbol(m1_c3_f2_arg, Decl(privacyFunc.ts, 18, 25)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } private f3_private(m1_c3_f3_arg: C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyFunc.ts, 19, 9)) +>f3_private : Symbol(C3_public.f3_private, Decl(privacyFunc.ts, 19, 9)) >m1_c3_f3_arg : Symbol(m1_c3_f3_arg, Decl(privacyFunc.ts, 21, 27)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } public f4_public(m1_c3_f4_arg: C2_private) { // error ->f4_public : Symbol(f4_public, Decl(privacyFunc.ts, 22, 9)) +>f4_public : Symbol(C3_public.f4_public, Decl(privacyFunc.ts, 22, 9)) >m1_c3_f4_arg : Symbol(m1_c3_f4_arg, Decl(privacyFunc.ts, 24, 25)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyFunc.ts, 25, 9)) +>f5_private : Symbol(C3_public.f5_private, Decl(privacyFunc.ts, 25, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyFunc.ts, 29, 9)) +>f6_public : Symbol(C3_public.f6_public, Decl(privacyFunc.ts, 29, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyFunc.ts, 33, 9)) +>f7_private : Symbol(C3_public.f7_private, Decl(privacyFunc.ts, 33, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyFunc.ts, 37, 9)) +>f8_public : Symbol(C3_public.f8_public, Decl(privacyFunc.ts, 37, 9)) return new C2_private(); // error >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } private f9_private(): C1_public { ->f9_private : Symbol(f9_private, Decl(privacyFunc.ts, 41, 9)) +>f9_private : Symbol(C3_public.f9_private, Decl(privacyFunc.ts, 41, 9)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) return new C1_public(); @@ -90,7 +90,7 @@ module m1 { } public f10_public(): C1_public { ->f10_public : Symbol(f10_public, Decl(privacyFunc.ts, 45, 9)) +>f10_public : Symbol(C3_public.f10_public, Decl(privacyFunc.ts, 45, 9)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) return new C1_public(); @@ -98,7 +98,7 @@ module m1 { } private f11_private(): C2_private { ->f11_private : Symbol(f11_private, Decl(privacyFunc.ts, 49, 9)) +>f11_private : Symbol(C3_public.f11_private, Decl(privacyFunc.ts, 49, 9)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) return new C2_private(); @@ -106,7 +106,7 @@ module m1 { } public f12_public(): C2_private { // error ->f12_public : Symbol(f12_public, Decl(privacyFunc.ts, 53, 9)) +>f12_public : Symbol(C3_public.f12_public, Decl(privacyFunc.ts, 53, 9)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) return new C2_private(); //error @@ -129,53 +129,53 @@ module m1 { >m1_c4_c1_2 : Symbol(m1_c4_c1_2, Decl(privacyFunc.ts, 63, 21)) } private f1_private(m1_c4_f1_arg: C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyFunc.ts, 64, 9)) +>f1_private : Symbol(C4_private.f1_private, Decl(privacyFunc.ts, 64, 9)) >m1_c4_f1_arg : Symbol(m1_c4_f1_arg, Decl(privacyFunc.ts, 65, 27)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } public f2_public(m1_c4_f2_arg: C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyFunc.ts, 66, 9)) +>f2_public : Symbol(C4_private.f2_public, Decl(privacyFunc.ts, 66, 9)) >m1_c4_f2_arg : Symbol(m1_c4_f2_arg, Decl(privacyFunc.ts, 68, 25)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } private f3_private(m1_c4_f3_arg: C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyFunc.ts, 69, 9)) +>f3_private : Symbol(C4_private.f3_private, Decl(privacyFunc.ts, 69, 9)) >m1_c4_f3_arg : Symbol(m1_c4_f3_arg, Decl(privacyFunc.ts, 71, 27)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } public f4_public(m1_c4_f4_arg: C2_private) { ->f4_public : Symbol(f4_public, Decl(privacyFunc.ts, 72, 9)) +>f4_public : Symbol(C4_private.f4_public, Decl(privacyFunc.ts, 72, 9)) >m1_c4_f4_arg : Symbol(m1_c4_f4_arg, Decl(privacyFunc.ts, 74, 25)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyFunc.ts, 75, 9)) +>f5_private : Symbol(C4_private.f5_private, Decl(privacyFunc.ts, 75, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyFunc.ts, 80, 9)) +>f6_public : Symbol(C4_private.f6_public, Decl(privacyFunc.ts, 80, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyFunc.ts, 84, 9)) +>f7_private : Symbol(C4_private.f7_private, Decl(privacyFunc.ts, 84, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyFunc.ts, 88, 9)) +>f8_public : Symbol(C4_private.f8_public, Decl(privacyFunc.ts, 88, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) @@ -183,7 +183,7 @@ module m1 { private f9_private(): C1_public { ->f9_private : Symbol(f9_private, Decl(privacyFunc.ts, 92, 9)) +>f9_private : Symbol(C4_private.f9_private, Decl(privacyFunc.ts, 92, 9)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) return new C1_public(); @@ -191,7 +191,7 @@ module m1 { } public f10_public(): C1_public { ->f10_public : Symbol(f10_public, Decl(privacyFunc.ts, 97, 9)) +>f10_public : Symbol(C4_private.f10_public, Decl(privacyFunc.ts, 97, 9)) >C1_public : Symbol(C1_public, Decl(privacyFunc.ts, 0, 11)) return new C1_public(); @@ -199,7 +199,7 @@ module m1 { } private f11_private(): C2_private { ->f11_private : Symbol(f11_private, Decl(privacyFunc.ts, 101, 9)) +>f11_private : Symbol(C4_private.f11_private, Decl(privacyFunc.ts, 101, 9)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) return new C2_private(); @@ -207,7 +207,7 @@ module m1 { } public f12_public(): C2_private { ->f12_public : Symbol(f12_public, Decl(privacyFunc.ts, 105, 9)) +>f12_public : Symbol(C4_private.f12_public, Decl(privacyFunc.ts, 105, 9)) >C2_private : Symbol(C2_private, Decl(privacyFunc.ts, 4, 5)) return new C2_private(); @@ -352,33 +352,33 @@ class C7_public { >c7_c1_2 : Symbol(c7_c1_2, Decl(privacyFunc.ts, 183, 17)) } private f1_private(c7_f1_arg: C6_public) { ->f1_private : Symbol(f1_private, Decl(privacyFunc.ts, 184, 5)) +>f1_private : Symbol(C7_public.f1_private, Decl(privacyFunc.ts, 184, 5)) >c7_f1_arg : Symbol(c7_f1_arg, Decl(privacyFunc.ts, 185, 23)) >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) } public f2_public(c7_f2_arg: C6_public) { ->f2_public : Symbol(f2_public, Decl(privacyFunc.ts, 186, 5)) +>f2_public : Symbol(C7_public.f2_public, Decl(privacyFunc.ts, 186, 5)) >c7_f2_arg : Symbol(c7_f2_arg, Decl(privacyFunc.ts, 188, 21)) >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyFunc.ts, 189, 5)) +>f5_private : Symbol(C7_public.f5_private, Decl(privacyFunc.ts, 189, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyFunc.ts, 193, 5)) +>f6_public : Symbol(C7_public.f6_public, Decl(privacyFunc.ts, 193, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) } private f9_private(): C6_public { ->f9_private : Symbol(f9_private, Decl(privacyFunc.ts, 197, 5)) +>f9_private : Symbol(C7_public.f9_private, Decl(privacyFunc.ts, 197, 5)) >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) return new C6_public(); @@ -386,7 +386,7 @@ class C7_public { } public f10_public(): C6_public { ->f10_public : Symbol(f10_public, Decl(privacyFunc.ts, 201, 5)) +>f10_public : Symbol(C7_public.f10_public, Decl(privacyFunc.ts, 201, 5)) >C6_public : Symbol(C6_public, Decl(privacyFunc.ts, 176, 1)) return new C6_public(); diff --git a/tests/baselines/reference/privacyGetter.symbols b/tests/baselines/reference/privacyGetter.symbols index eff33e0061b..19a78e7ce8a 100644 --- a/tests/baselines/reference/privacyGetter.symbols +++ b/tests/baselines/reference/privacyGetter.symbols @@ -6,7 +6,7 @@ export module m1 { >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) private f1() { ->f1 : Symbol(f1, Decl(privacyGetter.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyGetter.ts, 1, 28)) } } @@ -18,46 +18,46 @@ export module m1 { >C3_public : Symbol(C3_public, Decl(privacyGetter.ts, 7, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) +>p1_private : Symbol(C3_public.p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p1_private(m1_c3_p1_arg: C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) +>p1_private : Symbol(C3_public.p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 14, 31)) >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) +>p2_private : Symbol(C3_public.p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p2_private(m1_c3_p2_arg: C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) +>p2_private : Symbol(C3_public.p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 21, 31)) >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) +>p3_private : Symbol(C3_public.p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) +>p3_private : Symbol(C3_public.p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 28, 31)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public get p4_public(): C2_private { // error ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) +>p4_public : Symbol(C3_public.p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) return new C2_private(); //error @@ -65,7 +65,7 @@ export module m1 { } public set p4_public(m1_c3_p4_arg: C2_private) { // error ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) +>p4_public : Symbol(C3_public.p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 35, 29)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } @@ -75,46 +75,46 @@ export module m1 { >C4_private : Symbol(C4_private, Decl(privacyGetter.ts, 37, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) +>p1_private : Symbol(C4_private.p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p1_private(m1_c3_p1_arg: C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) +>p1_private : Symbol(C4_private.p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 44, 31)) >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) +>p2_private : Symbol(C4_private.p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p2_private(m1_c3_p2_arg: C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) +>p2_private : Symbol(C4_private.p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 51, 31)) >C1_public : Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) +>p3_private : Symbol(C4_private.p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) +>p3_private : Symbol(C4_private.p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 58, 31)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public get p4_public(): C2_private { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) +>p4_public : Symbol(C4_private.p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) return new C2_private(); @@ -122,7 +122,7 @@ export module m1 { } public set p4_public(m1_c3_p4_arg: C2_private) { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) +>p4_public : Symbol(C4_private.p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 65, 29)) >C2_private : Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } @@ -136,7 +136,7 @@ module m2 { >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyGetter.ts, 71, 31)) +>f1 : Symbol(m2_C1_public.f1, Decl(privacyGetter.ts, 71, 31)) } } @@ -148,46 +148,46 @@ module m2 { >m2_C3_public : Symbol(m2_C3_public, Decl(privacyGetter.ts, 77, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) +>p1_private : Symbol(m2_C3_public.p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p1_private(m2_c3_p1_arg: m2_C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) +>p1_private : Symbol(m2_C3_public.p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) >m2_c3_p1_arg : Symbol(m2_c3_p1_arg, Decl(privacyGetter.ts, 84, 31)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) +>p2_private : Symbol(m2_C3_public.p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p2_private(m2_c3_p2_arg: m2_C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) +>p2_private : Symbol(m2_C3_public.p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) >m2_c3_p2_arg : Symbol(m2_c3_p2_arg, Decl(privacyGetter.ts, 91, 31)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) +>p3_private : Symbol(m2_C3_public.p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } private set p3_private(m2_c3_p3_arg: m2_C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) +>p3_private : Symbol(m2_C3_public.p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) >m2_c3_p3_arg : Symbol(m2_c3_p3_arg, Decl(privacyGetter.ts, 98, 31)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public get p4_public(): m2_C2_private { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) +>p4_public : Symbol(m2_C3_public.p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) return new m2_C2_private(); @@ -195,7 +195,7 @@ module m2 { } public set p4_public(m2_c3_p4_arg: m2_C2_private) { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) +>p4_public : Symbol(m2_C3_public.p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) >m2_c3_p4_arg : Symbol(m2_c3_p4_arg, Decl(privacyGetter.ts, 105, 29)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } @@ -205,46 +205,46 @@ module m2 { >m2_C4_private : Symbol(m2_C4_private, Decl(privacyGetter.ts, 107, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) +>p1_private : Symbol(m2_C4_private.p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p1_private(m2_c3_p1_arg: m2_C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) +>p1_private : Symbol(m2_C4_private.p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) >m2_c3_p1_arg : Symbol(m2_c3_p1_arg, Decl(privacyGetter.ts, 114, 31)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) +>p2_private : Symbol(m2_C4_private.p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p2_private(m2_c3_p2_arg: m2_C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) +>p2_private : Symbol(m2_C4_private.p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) >m2_c3_p2_arg : Symbol(m2_c3_p2_arg, Decl(privacyGetter.ts, 121, 31)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) +>p3_private : Symbol(m2_C4_private.p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } private set p3_private(m2_c3_p3_arg: m2_C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) +>p3_private : Symbol(m2_C4_private.p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) >m2_c3_p3_arg : Symbol(m2_c3_p3_arg, Decl(privacyGetter.ts, 128, 31)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public get p4_public(): m2_C2_private { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) +>p4_public : Symbol(m2_C4_private.p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) return new m2_C2_private(); @@ -252,7 +252,7 @@ module m2 { } public set p4_public(m2_c3_p4_arg: m2_C2_private) { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) +>p4_public : Symbol(m2_C4_private.p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) >m2_c3_p4_arg : Symbol(m2_c3_p4_arg, Decl(privacyGetter.ts, 135, 29)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } @@ -263,7 +263,7 @@ class C5_private { >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) private f() { ->f : Symbol(f, Decl(privacyGetter.ts, 140, 18)) +>f : Symbol(C5_private.f, Decl(privacyGetter.ts, 140, 18)) } } @@ -275,46 +275,46 @@ export class C7_public { >C7_public : Symbol(C7_public, Decl(privacyGetter.ts, 146, 1)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) +>p1_private : Symbol(C7_public.p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) +>p1_private : Symbol(C7_public.p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 153, 27)) >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) +>p2_private : Symbol(C7_public.p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) +>p2_private : Symbol(C7_public.p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 160, 27)) >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) +>p3_private : Symbol(C7_public.p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) return new C5_private(); >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } private set p3_private(m1_c3_p3_arg: C5_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) +>p3_private : Symbol(C7_public.p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 167, 27)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public get p4_public(): C5_private { // error ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) +>p4_public : Symbol(C7_public.p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) return new C5_private(); //error @@ -322,7 +322,7 @@ export class C7_public { } public set p4_public(m1_c3_p4_arg: C5_private) { // error ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) +>p4_public : Symbol(C7_public.p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 174, 25)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } @@ -332,46 +332,46 @@ class C8_private { >C8_private : Symbol(C8_private, Decl(privacyGetter.ts, 176, 1)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) +>p1_private : Symbol(C8_private.p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { ->p1_private : Symbol(p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) +>p1_private : Symbol(C8_private.p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 183, 27)) >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) +>p2_private : Symbol(C8_private.p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { ->p2_private : Symbol(p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) +>p2_private : Symbol(C8_private.p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 190, 27)) >C6_public : Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) +>p3_private : Symbol(C8_private.p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) return new C5_private(); >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } private set p3_private(m1_c3_p3_arg: C5_private) { ->p3_private : Symbol(p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) +>p3_private : Symbol(C8_private.p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 197, 27)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public get p4_public(): C5_private { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) +>p4_public : Symbol(C8_private.p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) return new C5_private(); @@ -379,7 +379,7 @@ class C8_private { } public set p4_public(m1_c3_p4_arg: C5_private) { ->p4_public : Symbol(p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) +>p4_public : Symbol(C8_private.p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 204, 25)) >C5_private : Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } diff --git a/tests/baselines/reference/privacyGloClass.symbols b/tests/baselines/reference/privacyGloClass.symbols index 76b160f81e9..af548294fed 100644 --- a/tests/baselines/reference/privacyGloClass.symbols +++ b/tests/baselines/reference/privacyGloClass.symbols @@ -14,7 +14,7 @@ module m1 { >m1_c_public : Symbol(m1_c_public, Decl(privacyGloClass.ts, 5, 5)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloClass.ts, 7, 30)) +>f1 : Symbol(m1_c_public.f1, Decl(privacyGloClass.ts, 7, 30)) } } @@ -90,7 +90,7 @@ class glo_c_public { >glo_c_public : Symbol(glo_c_public, Decl(privacyGloClass.ts, 44, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloClass.ts, 46, 20)) +>f1 : Symbol(glo_c_public.f1, Decl(privacyGloClass.ts, 46, 20)) } } diff --git a/tests/baselines/reference/privacyGloFunc.symbols b/tests/baselines/reference/privacyGloFunc.symbols index dd76e2e627f..f3d753aacba 100644 --- a/tests/baselines/reference/privacyGloFunc.symbols +++ b/tests/baselines/reference/privacyGloFunc.symbols @@ -6,7 +6,7 @@ export module m1 { >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloFunc.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyGloFunc.ts, 1, 28)) } } @@ -30,59 +30,59 @@ export module m1 { } private f1_private(m1_c3_f1_arg: C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 13, 9)) +>f1_private : Symbol(C3_public.f1_private, Decl(privacyGloFunc.ts, 13, 9)) >m1_c3_f1_arg : Symbol(m1_c3_f1_arg, Decl(privacyGloFunc.ts, 15, 27)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } public f2_public(m1_c3_f2_arg: C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 16, 9)) +>f2_public : Symbol(C3_public.f2_public, Decl(privacyGloFunc.ts, 16, 9)) >m1_c3_f2_arg : Symbol(m1_c3_f2_arg, Decl(privacyGloFunc.ts, 18, 25)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } private f3_private(m1_c3_f3_arg: C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 19, 9)) +>f3_private : Symbol(C3_public.f3_private, Decl(privacyGloFunc.ts, 19, 9)) >m1_c3_f3_arg : Symbol(m1_c3_f3_arg, Decl(privacyGloFunc.ts, 21, 27)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } public f4_public(m1_c3_f4_arg: C2_private) { // error ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 22, 9)) +>f4_public : Symbol(C3_public.f4_public, Decl(privacyGloFunc.ts, 22, 9)) >m1_c3_f4_arg : Symbol(m1_c3_f4_arg, Decl(privacyGloFunc.ts, 24, 25)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 25, 9)) +>f5_private : Symbol(C3_public.f5_private, Decl(privacyGloFunc.ts, 25, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 29, 9)) +>f6_public : Symbol(C3_public.f6_public, Decl(privacyGloFunc.ts, 29, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 33, 9)) +>f7_private : Symbol(C3_public.f7_private, Decl(privacyGloFunc.ts, 33, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 37, 9)) +>f8_public : Symbol(C3_public.f8_public, Decl(privacyGloFunc.ts, 37, 9)) return new C2_private(); // error >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } private f9_private(): C1_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 41, 9)) +>f9_private : Symbol(C3_public.f9_private, Decl(privacyGloFunc.ts, 41, 9)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) return new C1_public(); @@ -90,7 +90,7 @@ export module m1 { } public f10_public(): C1_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 45, 9)) +>f10_public : Symbol(C3_public.f10_public, Decl(privacyGloFunc.ts, 45, 9)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) return new C1_public(); @@ -98,7 +98,7 @@ export module m1 { } private f11_private(): C2_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 49, 9)) +>f11_private : Symbol(C3_public.f11_private, Decl(privacyGloFunc.ts, 49, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) return new C2_private(); @@ -106,7 +106,7 @@ export module m1 { } public f12_public(): C2_private { // error ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 53, 9)) +>f12_public : Symbol(C3_public.f12_public, Decl(privacyGloFunc.ts, 53, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) return new C2_private(); //error @@ -129,53 +129,53 @@ export module m1 { >m1_c4_c1_2 : Symbol(m1_c4_c1_2, Decl(privacyGloFunc.ts, 63, 21)) } private f1_private(m1_c4_f1_arg: C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 64, 9)) +>f1_private : Symbol(C4_private.f1_private, Decl(privacyGloFunc.ts, 64, 9)) >m1_c4_f1_arg : Symbol(m1_c4_f1_arg, Decl(privacyGloFunc.ts, 65, 27)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } public f2_public(m1_c4_f2_arg: C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 66, 9)) +>f2_public : Symbol(C4_private.f2_public, Decl(privacyGloFunc.ts, 66, 9)) >m1_c4_f2_arg : Symbol(m1_c4_f2_arg, Decl(privacyGloFunc.ts, 68, 25)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } private f3_private(m1_c4_f3_arg: C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 69, 9)) +>f3_private : Symbol(C4_private.f3_private, Decl(privacyGloFunc.ts, 69, 9)) >m1_c4_f3_arg : Symbol(m1_c4_f3_arg, Decl(privacyGloFunc.ts, 71, 27)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } public f4_public(m1_c4_f4_arg: C2_private) { ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 72, 9)) +>f4_public : Symbol(C4_private.f4_public, Decl(privacyGloFunc.ts, 72, 9)) >m1_c4_f4_arg : Symbol(m1_c4_f4_arg, Decl(privacyGloFunc.ts, 74, 25)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 75, 9)) +>f5_private : Symbol(C4_private.f5_private, Decl(privacyGloFunc.ts, 75, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 80, 9)) +>f6_public : Symbol(C4_private.f6_public, Decl(privacyGloFunc.ts, 80, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 84, 9)) +>f7_private : Symbol(C4_private.f7_private, Decl(privacyGloFunc.ts, 84, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 88, 9)) +>f8_public : Symbol(C4_private.f8_public, Decl(privacyGloFunc.ts, 88, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) @@ -183,7 +183,7 @@ export module m1 { private f9_private(): C1_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 92, 9)) +>f9_private : Symbol(C4_private.f9_private, Decl(privacyGloFunc.ts, 92, 9)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) return new C1_public(); @@ -191,7 +191,7 @@ export module m1 { } public f10_public(): C1_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 97, 9)) +>f10_public : Symbol(C4_private.f10_public, Decl(privacyGloFunc.ts, 97, 9)) >C1_public : Symbol(C1_public, Decl(privacyGloFunc.ts, 0, 18)) return new C1_public(); @@ -199,7 +199,7 @@ export module m1 { } private f11_private(): C2_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 101, 9)) +>f11_private : Symbol(C4_private.f11_private, Decl(privacyGloFunc.ts, 101, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) return new C2_private(); @@ -207,7 +207,7 @@ export module m1 { } public f12_public(): C2_private { ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 105, 9)) +>f12_public : Symbol(C4_private.f12_public, Decl(privacyGloFunc.ts, 105, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloFunc.ts, 4, 5)) return new C2_private(); @@ -344,7 +344,7 @@ module m2 { >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) private f() { ->f : Symbol(f, Decl(privacyGloFunc.ts, 179, 31)) +>f : Symbol(m2_C1_public.f, Decl(privacyGloFunc.ts, 179, 31)) } } @@ -368,59 +368,59 @@ module m2 { } private f1_private(m2_c3_f1_arg: m2_C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 191, 9)) +>f1_private : Symbol(m2_C3_public.f1_private, Decl(privacyGloFunc.ts, 191, 9)) >m2_c3_f1_arg : Symbol(m2_c3_f1_arg, Decl(privacyGloFunc.ts, 193, 27)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } public f2_public(m2_c3_f2_arg: m2_C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 194, 9)) +>f2_public : Symbol(m2_C3_public.f2_public, Decl(privacyGloFunc.ts, 194, 9)) >m2_c3_f2_arg : Symbol(m2_c3_f2_arg, Decl(privacyGloFunc.ts, 196, 25)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } private f3_private(m2_c3_f3_arg: m2_C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 197, 9)) +>f3_private : Symbol(m2_C3_public.f3_private, Decl(privacyGloFunc.ts, 197, 9)) >m2_c3_f3_arg : Symbol(m2_c3_f3_arg, Decl(privacyGloFunc.ts, 199, 27)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } public f4_public(m2_c3_f4_arg: m2_C2_private) { ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 200, 9)) +>f4_public : Symbol(m2_C3_public.f4_public, Decl(privacyGloFunc.ts, 200, 9)) >m2_c3_f4_arg : Symbol(m2_c3_f4_arg, Decl(privacyGloFunc.ts, 202, 25)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 203, 9)) +>f5_private : Symbol(m2_C3_public.f5_private, Decl(privacyGloFunc.ts, 203, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 207, 9)) +>f6_public : Symbol(m2_C3_public.f6_public, Decl(privacyGloFunc.ts, 207, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 211, 9)) +>f7_private : Symbol(m2_C3_public.f7_private, Decl(privacyGloFunc.ts, 211, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 215, 9)) +>f8_public : Symbol(m2_C3_public.f8_public, Decl(privacyGloFunc.ts, 215, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } private f9_private(): m2_C1_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 219, 9)) +>f9_private : Symbol(m2_C3_public.f9_private, Decl(privacyGloFunc.ts, 219, 9)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) return new m2_C1_public(); @@ -428,7 +428,7 @@ module m2 { } public f10_public(): m2_C1_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 223, 9)) +>f10_public : Symbol(m2_C3_public.f10_public, Decl(privacyGloFunc.ts, 223, 9)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) return new m2_C1_public(); @@ -436,7 +436,7 @@ module m2 { } private f11_private(): m2_C2_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 227, 9)) +>f11_private : Symbol(m2_C3_public.f11_private, Decl(privacyGloFunc.ts, 227, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) return new m2_C2_private(); @@ -444,7 +444,7 @@ module m2 { } public f12_public(): m2_C2_private { ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 231, 9)) +>f12_public : Symbol(m2_C3_public.f12_public, Decl(privacyGloFunc.ts, 231, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) return new m2_C2_private(); @@ -468,53 +468,53 @@ module m2 { } private f1_private(m2_c4_f1_arg: m2_C1_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 242, 9)) +>f1_private : Symbol(m2_C4_private.f1_private, Decl(privacyGloFunc.ts, 242, 9)) >m2_c4_f1_arg : Symbol(m2_c4_f1_arg, Decl(privacyGloFunc.ts, 244, 27)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } public f2_public(m2_c4_f2_arg: m2_C1_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 245, 9)) +>f2_public : Symbol(m2_C4_private.f2_public, Decl(privacyGloFunc.ts, 245, 9)) >m2_c4_f2_arg : Symbol(m2_c4_f2_arg, Decl(privacyGloFunc.ts, 247, 25)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } private f3_private(m2_c4_f3_arg: m2_C2_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 248, 9)) +>f3_private : Symbol(m2_C4_private.f3_private, Decl(privacyGloFunc.ts, 248, 9)) >m2_c4_f3_arg : Symbol(m2_c4_f3_arg, Decl(privacyGloFunc.ts, 250, 27)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } public f4_public(m2_c4_f4_arg: m2_C2_private) { ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 251, 9)) +>f4_public : Symbol(m2_C4_private.f4_public, Decl(privacyGloFunc.ts, 251, 9)) >m2_c4_f4_arg : Symbol(m2_c4_f4_arg, Decl(privacyGloFunc.ts, 253, 25)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 254, 9)) +>f5_private : Symbol(m2_C4_private.f5_private, Decl(privacyGloFunc.ts, 254, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 259, 9)) +>f6_public : Symbol(m2_C4_private.f6_public, Decl(privacyGloFunc.ts, 259, 9)) return new m2_C1_public(); >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 263, 9)) +>f7_private : Symbol(m2_C4_private.f7_private, Decl(privacyGloFunc.ts, 263, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 267, 9)) +>f8_public : Symbol(m2_C4_private.f8_public, Decl(privacyGloFunc.ts, 267, 9)) return new m2_C2_private(); >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) @@ -522,7 +522,7 @@ module m2 { private f9_private(): m2_C1_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 271, 9)) +>f9_private : Symbol(m2_C4_private.f9_private, Decl(privacyGloFunc.ts, 271, 9)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) return new m2_C1_public(); @@ -530,7 +530,7 @@ module m2 { } public f10_public(): m2_C1_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 276, 9)) +>f10_public : Symbol(m2_C4_private.f10_public, Decl(privacyGloFunc.ts, 276, 9)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyGloFunc.ts, 178, 11)) return new m2_C1_public(); @@ -538,7 +538,7 @@ module m2 { } private f11_private(): m2_C2_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 280, 9)) +>f11_private : Symbol(m2_C4_private.f11_private, Decl(privacyGloFunc.ts, 280, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) return new m2_C2_private(); @@ -546,7 +546,7 @@ module m2 { } public f12_public(): m2_C2_private { ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 284, 9)) +>f12_public : Symbol(m2_C4_private.f12_public, Decl(privacyGloFunc.ts, 284, 9)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyGloFunc.ts, 182, 5)) return new m2_C2_private(); @@ -680,7 +680,7 @@ class C5_private { >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) private f() { ->f : Symbol(f, Decl(privacyGloFunc.ts, 357, 18)) +>f : Symbol(C5_private.f, Decl(privacyGloFunc.ts, 357, 18)) } } @@ -703,59 +703,59 @@ export class C7_public { >c7_c1_2 : Symbol(c7_c1_2, Decl(privacyGloFunc.ts, 368, 17)) } private f1_private(c7_f1_arg: C6_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 369, 5)) +>f1_private : Symbol(C7_public.f1_private, Decl(privacyGloFunc.ts, 369, 5)) >c7_f1_arg : Symbol(c7_f1_arg, Decl(privacyGloFunc.ts, 370, 23)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } public f2_public(c7_f2_arg: C6_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 371, 5)) +>f2_public : Symbol(C7_public.f2_public, Decl(privacyGloFunc.ts, 371, 5)) >c7_f2_arg : Symbol(c7_f2_arg, Decl(privacyGloFunc.ts, 373, 21)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } private f3_private(c7_f3_arg: C5_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 374, 5)) +>f3_private : Symbol(C7_public.f3_private, Decl(privacyGloFunc.ts, 374, 5)) >c7_f3_arg : Symbol(c7_f3_arg, Decl(privacyGloFunc.ts, 376, 23)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } public f4_public(c7_f4_arg: C5_private) { //error ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 377, 5)) +>f4_public : Symbol(C7_public.f4_public, Decl(privacyGloFunc.ts, 377, 5)) >c7_f4_arg : Symbol(c7_f4_arg, Decl(privacyGloFunc.ts, 379, 21)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 380, 5)) +>f5_private : Symbol(C7_public.f5_private, Decl(privacyGloFunc.ts, 380, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 384, 5)) +>f6_public : Symbol(C7_public.f6_public, Decl(privacyGloFunc.ts, 384, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 388, 5)) +>f7_private : Symbol(C7_public.f7_private, Decl(privacyGloFunc.ts, 388, 5)) return new C5_private(); >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 392, 5)) +>f8_public : Symbol(C7_public.f8_public, Decl(privacyGloFunc.ts, 392, 5)) return new C5_private(); //error >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } private f9_private(): C6_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 396, 5)) +>f9_private : Symbol(C7_public.f9_private, Decl(privacyGloFunc.ts, 396, 5)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) return new C6_public(); @@ -763,7 +763,7 @@ export class C7_public { } public f10_public(): C6_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 400, 5)) +>f10_public : Symbol(C7_public.f10_public, Decl(privacyGloFunc.ts, 400, 5)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) return new C6_public(); @@ -771,7 +771,7 @@ export class C7_public { } private f11_private(): C5_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 404, 5)) +>f11_private : Symbol(C7_public.f11_private, Decl(privacyGloFunc.ts, 404, 5)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) return new C5_private(); @@ -779,7 +779,7 @@ export class C7_public { } public f12_public(): C5_private { //error ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 408, 5)) +>f12_public : Symbol(C7_public.f12_public, Decl(privacyGloFunc.ts, 408, 5)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) return new C5_private(); //error @@ -803,59 +803,59 @@ class C8_private { } private f1_private(c8_f1_arg: C6_public) { ->f1_private : Symbol(f1_private, Decl(privacyGloFunc.ts, 419, 5)) +>f1_private : Symbol(C8_private.f1_private, Decl(privacyGloFunc.ts, 419, 5)) >c8_f1_arg : Symbol(c8_f1_arg, Decl(privacyGloFunc.ts, 421, 23)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } public f2_public(c8_f2_arg: C6_public) { ->f2_public : Symbol(f2_public, Decl(privacyGloFunc.ts, 422, 5)) +>f2_public : Symbol(C8_private.f2_public, Decl(privacyGloFunc.ts, 422, 5)) >c8_f2_arg : Symbol(c8_f2_arg, Decl(privacyGloFunc.ts, 424, 21)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } private f3_private(c8_f3_arg: C5_private) { ->f3_private : Symbol(f3_private, Decl(privacyGloFunc.ts, 425, 5)) +>f3_private : Symbol(C8_private.f3_private, Decl(privacyGloFunc.ts, 425, 5)) >c8_f3_arg : Symbol(c8_f3_arg, Decl(privacyGloFunc.ts, 427, 23)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } public f4_public(c8_f4_arg: C5_private) { ->f4_public : Symbol(f4_public, Decl(privacyGloFunc.ts, 428, 5)) +>f4_public : Symbol(C8_private.f4_public, Decl(privacyGloFunc.ts, 428, 5)) >c8_f4_arg : Symbol(c8_f4_arg, Decl(privacyGloFunc.ts, 430, 21)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } private f5_private() { ->f5_private : Symbol(f5_private, Decl(privacyGloFunc.ts, 431, 5)) +>f5_private : Symbol(C8_private.f5_private, Decl(privacyGloFunc.ts, 431, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } public f6_public() { ->f6_public : Symbol(f6_public, Decl(privacyGloFunc.ts, 435, 5)) +>f6_public : Symbol(C8_private.f6_public, Decl(privacyGloFunc.ts, 435, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) } private f7_private() { ->f7_private : Symbol(f7_private, Decl(privacyGloFunc.ts, 439, 5)) +>f7_private : Symbol(C8_private.f7_private, Decl(privacyGloFunc.ts, 439, 5)) return new C5_private(); >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } public f8_public() { ->f8_public : Symbol(f8_public, Decl(privacyGloFunc.ts, 443, 5)) +>f8_public : Symbol(C8_private.f8_public, Decl(privacyGloFunc.ts, 443, 5)) return new C5_private(); >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) } private f9_private(): C6_public { ->f9_private : Symbol(f9_private, Decl(privacyGloFunc.ts, 447, 5)) +>f9_private : Symbol(C8_private.f9_private, Decl(privacyGloFunc.ts, 447, 5)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) return new C6_public(); @@ -863,7 +863,7 @@ class C8_private { } public f10_public(): C6_public { ->f10_public : Symbol(f10_public, Decl(privacyGloFunc.ts, 451, 5)) +>f10_public : Symbol(C8_private.f10_public, Decl(privacyGloFunc.ts, 451, 5)) >C6_public : Symbol(C6_public, Decl(privacyGloFunc.ts, 360, 1)) return new C6_public(); @@ -871,7 +871,7 @@ class C8_private { } private f11_private(): C5_private { ->f11_private : Symbol(f11_private, Decl(privacyGloFunc.ts, 455, 5)) +>f11_private : Symbol(C8_private.f11_private, Decl(privacyGloFunc.ts, 455, 5)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) return new C5_private(); @@ -879,7 +879,7 @@ class C8_private { } public f12_public(): C5_private { ->f12_public : Symbol(f12_public, Decl(privacyGloFunc.ts, 459, 5)) +>f12_public : Symbol(C8_private.f12_public, Decl(privacyGloFunc.ts, 459, 5)) >C5_private : Symbol(C5_private, Decl(privacyGloFunc.ts, 355, 1)) return new C5_private(); diff --git a/tests/baselines/reference/privacyGloGetter.symbols b/tests/baselines/reference/privacyGloGetter.symbols index ac6a2041f3c..5f67eec29a9 100644 --- a/tests/baselines/reference/privacyGloGetter.symbols +++ b/tests/baselines/reference/privacyGloGetter.symbols @@ -6,7 +6,7 @@ module m1 { >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloGetter.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyGloGetter.ts, 1, 28)) } } @@ -18,46 +18,46 @@ module m1 { >C3_public : Symbol(C3_public, Decl(privacyGloGetter.ts, 7, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) +>p1_private : Symbol(C3_public.p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p1_private(m1_c3_p1_arg: C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) +>p1_private : Symbol(C3_public.p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 14, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) +>p2_private : Symbol(C3_public.p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p2_private(m1_c3_p2_arg: C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) +>p2_private : Symbol(C3_public.p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 21, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) +>p3_private : Symbol(C3_public.p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) +>p3_private : Symbol(C3_public.p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGloGetter.ts, 28, 31)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public get p4_public(): C2_private { // error ->p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) +>p4_public : Symbol(C3_public.p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) return new C2_private(); //error @@ -65,7 +65,7 @@ module m1 { } public set p4_public(m1_c3_p4_arg: C2_private) { // error ->p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) +>p4_public : Symbol(C3_public.p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGloGetter.ts, 35, 29)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } @@ -75,46 +75,46 @@ module m1 { >C4_private : Symbol(C4_private, Decl(privacyGloGetter.ts, 37, 5)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) +>p1_private : Symbol(C4_private.p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p1_private(m1_c3_p1_arg: C1_public) { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) +>p1_private : Symbol(C4_private.p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 44, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) +>p2_private : Symbol(C4_private.p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p2_private(m1_c3_p2_arg: C1_public) { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) +>p2_private : Symbol(C4_private.p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 51, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p3_private() { ->p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) +>p3_private : Symbol(C4_private.p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { ->p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) +>p3_private : Symbol(C4_private.p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGloGetter.ts, 58, 31)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public get p4_public(): C2_private { ->p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) +>p4_public : Symbol(C4_private.p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) return new C2_private(); @@ -122,7 +122,7 @@ module m1 { } public set p4_public(m1_c3_p4_arg: C2_private) { ->p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) +>p4_public : Symbol(C4_private.p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGloGetter.ts, 65, 29)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } @@ -137,27 +137,27 @@ class C7_public { >C7_public : Symbol(C7_public, Decl(privacyGloGetter.ts, 71, 1)) private get p1_private() { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) +>p1_private : Symbol(C7_public.p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { ->p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) +>p1_private : Symbol(C7_public.p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 78, 27)) >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private get p2_private() { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) +>p2_private : Symbol(C7_public.p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { ->p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) +>p2_private : Symbol(C7_public.p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 85, 27)) >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } diff --git a/tests/baselines/reference/privacyGloInterface.symbols b/tests/baselines/reference/privacyGloInterface.symbols index 561025ee6dc..da8db47856a 100644 --- a/tests/baselines/reference/privacyGloInterface.symbols +++ b/tests/baselines/reference/privacyGloInterface.symbols @@ -6,7 +6,7 @@ module m1 { >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyGloInterface.ts, 1, 28)) } } @@ -57,37 +57,37 @@ module m1 { >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyGloInterface.ts, 22, 32)) +>x : Symbol(C3_public.x, Decl(privacyGloInterface.ts, 22, 32)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) y: C2_private; ->y : Symbol(y, Decl(privacyGloInterface.ts, 24, 21)) +>y : Symbol(C3_public.y, Decl(privacyGloInterface.ts, 24, 21)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyGloInterface.ts, 25, 22)) +>a : Symbol(C3_public.a, Decl(privacyGloInterface.ts, 25, 22)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) b?: C2_private; ->b : Symbol(b, Decl(privacyGloInterface.ts, 27, 22)) +>b : Symbol(C3_public.b, Decl(privacyGloInterface.ts, 27, 22)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 28, 23)) +>f1 : Symbol(C3_public.f1, Decl(privacyGloInterface.ts, 28, 23)) >a1 : Symbol(a1, Decl(privacyGloInterface.ts, 30, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyGloInterface.ts, 30, 26)) +>f2 : Symbol(C3_public.f2, Decl(privacyGloInterface.ts, 30, 26)) >a1 : Symbol(a1, Decl(privacyGloInterface.ts, 31, 11)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyGloInterface.ts, 31, 27)) +>f3 : Symbol(C3_public.f3, Decl(privacyGloInterface.ts, 31, 27)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyGloInterface.ts, 32, 24)) +>f4 : Symbol(C3_public.f4, Decl(privacyGloInterface.ts, 32, 24)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) } @@ -134,37 +134,37 @@ module m1 { >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyGloInterface.ts, 49, 32)) +>x : Symbol(C4_private.x, Decl(privacyGloInterface.ts, 49, 32)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) y: C2_private; ->y : Symbol(y, Decl(privacyGloInterface.ts, 51, 21)) +>y : Symbol(C4_private.y, Decl(privacyGloInterface.ts, 51, 21)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyGloInterface.ts, 52, 22)) +>a : Symbol(C4_private.a, Decl(privacyGloInterface.ts, 52, 22)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) b?: C2_private; ->b : Symbol(b, Decl(privacyGloInterface.ts, 54, 22)) +>b : Symbol(C4_private.b, Decl(privacyGloInterface.ts, 54, 22)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 55, 23)) +>f1 : Symbol(C4_private.f1, Decl(privacyGloInterface.ts, 55, 23)) >a1 : Symbol(a1, Decl(privacyGloInterface.ts, 57, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyGloInterface.ts, 57, 26)) +>f2 : Symbol(C4_private.f2, Decl(privacyGloInterface.ts, 57, 26)) >a1 : Symbol(a1, Decl(privacyGloInterface.ts, 58, 11)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyGloInterface.ts, 58, 27)) +>f3 : Symbol(C4_private.f3, Decl(privacyGloInterface.ts, 58, 27)) >C1_public : Symbol(C1_public, Decl(privacyGloInterface.ts, 0, 11)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyGloInterface.ts, 59, 24)) +>f4 : Symbol(C4_private.f4, Decl(privacyGloInterface.ts, 59, 24)) >C2_private : Symbol(C2_private, Decl(privacyGloInterface.ts, 4, 5)) } @@ -174,7 +174,7 @@ class C5_public { >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 65, 17)) +>f1 : Symbol(C5_public.f1, Decl(privacyGloInterface.ts, 65, 17)) } } @@ -201,20 +201,20 @@ interface C7_public { >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) x: C5_public; ->x : Symbol(x, Decl(privacyGloInterface.ts, 78, 27)) +>x : Symbol(C7_public.x, Decl(privacyGloInterface.ts, 78, 27)) >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) a?: C5_public; ->a : Symbol(a, Decl(privacyGloInterface.ts, 80, 17)) +>a : Symbol(C7_public.a, Decl(privacyGloInterface.ts, 80, 17)) >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) f1(a1: C5_public); ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 82, 18)) +>f1 : Symbol(C7_public.f1, Decl(privacyGloInterface.ts, 82, 18)) >a1 : Symbol(a1, Decl(privacyGloInterface.ts, 84, 7)) >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) f3(): C5_public; ->f3 : Symbol(f3, Decl(privacyGloInterface.ts, 84, 22)) +>f3 : Symbol(C7_public.f3, Decl(privacyGloInterface.ts, 84, 22)) >C5_public : Symbol(C5_public, Decl(privacyGloInterface.ts, 63, 1)) } @@ -225,14 +225,14 @@ module m3 { >m3_i_public : Symbol(m3_i_public, Decl(privacyGloInterface.ts, 88, 11)) f1(): number; ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 89, 34)) +>f1 : Symbol(m3_i_public.f1, Decl(privacyGloInterface.ts, 89, 34)) } interface m3_i_private { >m3_i_private : Symbol(m3_i_private, Decl(privacyGloInterface.ts, 91, 5)) f2(): string; ->f2 : Symbol(f2, Decl(privacyGloInterface.ts, 93, 28)) +>f2 : Symbol(m3_i_private.f2, Decl(privacyGloInterface.ts, 93, 28)) } interface m3_C1_private extends m3_i_public { @@ -268,7 +268,7 @@ interface glo_i_public { >glo_i_public : Symbol(glo_i_public, Decl(privacyGloInterface.ts, 110, 1)) f1(): number; ->f1 : Symbol(f1, Decl(privacyGloInterface.ts, 112, 24)) +>f1 : Symbol(glo_i_public.f1, Decl(privacyGloInterface.ts, 112, 24)) } interface glo_C3_public extends glo_i_public { diff --git a/tests/baselines/reference/privacyGloVar.symbols b/tests/baselines/reference/privacyGloVar.symbols index 5f08438817e..9c8a01fc9a4 100644 --- a/tests/baselines/reference/privacyGloVar.symbols +++ b/tests/baselines/reference/privacyGloVar.symbols @@ -6,7 +6,7 @@ module m1 { >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloVar.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyGloVar.ts, 1, 28)) } } @@ -18,54 +18,54 @@ module m1 { >C3_public : Symbol(C3_public, Decl(privacyGloVar.ts, 7, 5)) private C3_v1_private: C1_public; ->C3_v1_private : Symbol(C3_v1_private, Decl(privacyGloVar.ts, 9, 28)) +>C3_v1_private : Symbol(C3_public.C3_v1_private, Decl(privacyGloVar.ts, 9, 28)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C3_v2_public: C1_public; ->C3_v2_public : Symbol(C3_v2_public, Decl(privacyGloVar.ts, 10, 41)) +>C3_v2_public : Symbol(C3_public.C3_v2_public, Decl(privacyGloVar.ts, 10, 41)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C3_v3_private: C2_private; ->C3_v3_private : Symbol(C3_v3_private, Decl(privacyGloVar.ts, 11, 39)) +>C3_v3_private : Symbol(C3_public.C3_v3_private, Decl(privacyGloVar.ts, 11, 39)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C3_v4_public: C2_private; // error ->C3_v4_public : Symbol(C3_v4_public, Decl(privacyGloVar.ts, 12, 42)) +>C3_v4_public : Symbol(C3_public.C3_v4_public, Decl(privacyGloVar.ts, 12, 42)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) private C3_v11_private = new C1_public(); ->C3_v11_private : Symbol(C3_v11_private, Decl(privacyGloVar.ts, 13, 40)) +>C3_v11_private : Symbol(C3_public.C3_v11_private, Decl(privacyGloVar.ts, 13, 40)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C3_v12_public = new C1_public(); ->C3_v12_public : Symbol(C3_v12_public, Decl(privacyGloVar.ts, 15, 49)) +>C3_v12_public : Symbol(C3_public.C3_v12_public, Decl(privacyGloVar.ts, 15, 49)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C3_v13_private = new C2_private(); ->C3_v13_private : Symbol(C3_v13_private, Decl(privacyGloVar.ts, 16, 47)) +>C3_v13_private : Symbol(C3_public.C3_v13_private, Decl(privacyGloVar.ts, 16, 47)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C3_v14_public = new C2_private(); // error ->C3_v14_public : Symbol(C3_v14_public, Decl(privacyGloVar.ts, 17, 50)) +>C3_v14_public : Symbol(C3_public.C3_v14_public, Decl(privacyGloVar.ts, 17, 50)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) private C3_v21_private: C1_public = new C1_public(); ->C3_v21_private : Symbol(C3_v21_private, Decl(privacyGloVar.ts, 18, 48)) +>C3_v21_private : Symbol(C3_public.C3_v21_private, Decl(privacyGloVar.ts, 18, 48)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C3_v22_public: C1_public = new C1_public(); ->C3_v22_public : Symbol(C3_v22_public, Decl(privacyGloVar.ts, 20, 60)) +>C3_v22_public : Symbol(C3_public.C3_v22_public, Decl(privacyGloVar.ts, 20, 60)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C3_v23_private: C2_private = new C2_private(); ->C3_v23_private : Symbol(C3_v23_private, Decl(privacyGloVar.ts, 21, 58)) +>C3_v23_private : Symbol(C3_public.C3_v23_private, Decl(privacyGloVar.ts, 21, 58)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C3_v24_public: C2_private = new C2_private(); // error ->C3_v24_public : Symbol(C3_v24_public, Decl(privacyGloVar.ts, 22, 62)) +>C3_v24_public : Symbol(C3_public.C3_v24_public, Decl(privacyGloVar.ts, 22, 62)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) } @@ -74,54 +74,54 @@ module m1 { >C4_public : Symbol(C4_public, Decl(privacyGloVar.ts, 24, 5)) private C4_v1_private: C1_public; ->C4_v1_private : Symbol(C4_v1_private, Decl(privacyGloVar.ts, 26, 21)) +>C4_v1_private : Symbol(C4_public.C4_v1_private, Decl(privacyGloVar.ts, 26, 21)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C4_v2_public: C1_public; ->C4_v2_public : Symbol(C4_v2_public, Decl(privacyGloVar.ts, 27, 41)) +>C4_v2_public : Symbol(C4_public.C4_v2_public, Decl(privacyGloVar.ts, 27, 41)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C4_v3_private: C2_private; ->C4_v3_private : Symbol(C4_v3_private, Decl(privacyGloVar.ts, 28, 39)) +>C4_v3_private : Symbol(C4_public.C4_v3_private, Decl(privacyGloVar.ts, 28, 39)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C4_v4_public: C2_private; ->C4_v4_public : Symbol(C4_v4_public, Decl(privacyGloVar.ts, 29, 42)) +>C4_v4_public : Symbol(C4_public.C4_v4_public, Decl(privacyGloVar.ts, 29, 42)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) private C4_v11_private = new C1_public(); ->C4_v11_private : Symbol(C4_v11_private, Decl(privacyGloVar.ts, 30, 40)) +>C4_v11_private : Symbol(C4_public.C4_v11_private, Decl(privacyGloVar.ts, 30, 40)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C4_v12_public = new C1_public(); ->C4_v12_public : Symbol(C4_v12_public, Decl(privacyGloVar.ts, 32, 49)) +>C4_v12_public : Symbol(C4_public.C4_v12_public, Decl(privacyGloVar.ts, 32, 49)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C4_v13_private = new C2_private(); ->C4_v13_private : Symbol(C4_v13_private, Decl(privacyGloVar.ts, 33, 47)) +>C4_v13_private : Symbol(C4_public.C4_v13_private, Decl(privacyGloVar.ts, 33, 47)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C4_v14_public = new C2_private(); ->C4_v14_public : Symbol(C4_v14_public, Decl(privacyGloVar.ts, 34, 50)) +>C4_v14_public : Symbol(C4_public.C4_v14_public, Decl(privacyGloVar.ts, 34, 50)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) private C4_v21_private: C1_public = new C1_public(); ->C4_v21_private : Symbol(C4_v21_private, Decl(privacyGloVar.ts, 35, 48)) +>C4_v21_private : Symbol(C4_public.C4_v21_private, Decl(privacyGloVar.ts, 35, 48)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) public C4_v22_public: C1_public = new C1_public(); ->C4_v22_public : Symbol(C4_v22_public, Decl(privacyGloVar.ts, 37, 60)) +>C4_v22_public : Symbol(C4_public.C4_v22_public, Decl(privacyGloVar.ts, 37, 60)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) >C1_public : Symbol(C1_public, Decl(privacyGloVar.ts, 0, 11)) private C4_v23_private: C2_private = new C2_private(); ->C4_v23_private : Symbol(C4_v23_private, Decl(privacyGloVar.ts, 38, 58)) +>C4_v23_private : Symbol(C4_public.C4_v23_private, Decl(privacyGloVar.ts, 38, 58)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) public C4_v24_public: C2_private = new C2_private(); ->C4_v24_public : Symbol(C4_v24_public, Decl(privacyGloVar.ts, 39, 62)) +>C4_v24_public : Symbol(C4_public.C4_v24_public, Decl(privacyGloVar.ts, 39, 62)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyGloVar.ts, 4, 5)) } @@ -183,7 +183,7 @@ class glo_C1_public { >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyGloVar.ts, 59, 21)) +>f1 : Symbol(glo_C1_public.f1, Decl(privacyGloVar.ts, 59, 21)) } } @@ -191,28 +191,28 @@ class glo_C3_public { >glo_C3_public : Symbol(glo_C3_public, Decl(privacyGloVar.ts, 62, 1)) private glo_C3_v1_private: glo_C1_public; ->glo_C3_v1_private : Symbol(glo_C3_v1_private, Decl(privacyGloVar.ts, 64, 21)) +>glo_C3_v1_private : Symbol(glo_C3_public.glo_C3_v1_private, Decl(privacyGloVar.ts, 64, 21)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) public glo_C3_v2_public: glo_C1_public; ->glo_C3_v2_public : Symbol(glo_C3_v2_public, Decl(privacyGloVar.ts, 65, 45)) +>glo_C3_v2_public : Symbol(glo_C3_public.glo_C3_v2_public, Decl(privacyGloVar.ts, 65, 45)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) private glo_C3_v11_private = new glo_C1_public(); ->glo_C3_v11_private : Symbol(glo_C3_v11_private, Decl(privacyGloVar.ts, 66, 43)) +>glo_C3_v11_private : Symbol(glo_C3_public.glo_C3_v11_private, Decl(privacyGloVar.ts, 66, 43)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) public glo_C3_v12_public = new glo_C1_public(); ->glo_C3_v12_public : Symbol(glo_C3_v12_public, Decl(privacyGloVar.ts, 68, 53)) +>glo_C3_v12_public : Symbol(glo_C3_public.glo_C3_v12_public, Decl(privacyGloVar.ts, 68, 53)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) private glo_C3_v21_private: glo_C1_public = new glo_C1_public(); ->glo_C3_v21_private : Symbol(glo_C3_v21_private, Decl(privacyGloVar.ts, 69, 51)) +>glo_C3_v21_private : Symbol(glo_C3_public.glo_C3_v21_private, Decl(privacyGloVar.ts, 69, 51)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) public glo_C3_v22_public: glo_C1_public = new glo_C1_public(); ->glo_C3_v22_public : Symbol(glo_C3_v22_public, Decl(privacyGloVar.ts, 71, 68)) +>glo_C3_v22_public : Symbol(glo_C3_public.glo_C3_v22_public, Decl(privacyGloVar.ts, 71, 68)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyGloVar.ts, 57, 1)) } diff --git a/tests/baselines/reference/privacyInterface.symbols b/tests/baselines/reference/privacyInterface.symbols index f7556aceae2..d5dbe3c1b62 100644 --- a/tests/baselines/reference/privacyInterface.symbols +++ b/tests/baselines/reference/privacyInterface.symbols @@ -6,7 +6,7 @@ export module m1 { >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) private f1() { ->f1 : Symbol(f1, Decl(privacyInterface.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyInterface.ts, 1, 28)) } } @@ -57,37 +57,37 @@ export module m1 { >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyInterface.ts, 22, 32)) +>x : Symbol(C3_public.x, Decl(privacyInterface.ts, 22, 32)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) y: C2_private; ->y : Symbol(y, Decl(privacyInterface.ts, 24, 21)) +>y : Symbol(C3_public.y, Decl(privacyInterface.ts, 24, 21)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyInterface.ts, 25, 22)) +>a : Symbol(C3_public.a, Decl(privacyInterface.ts, 25, 22)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) b?: C2_private; ->b : Symbol(b, Decl(privacyInterface.ts, 27, 22)) +>b : Symbol(C3_public.b, Decl(privacyInterface.ts, 27, 22)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 28, 23)) +>f1 : Symbol(C3_public.f1, Decl(privacyInterface.ts, 28, 23)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 30, 11)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 30, 26)) +>f2 : Symbol(C3_public.f2, Decl(privacyInterface.ts, 30, 26)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 31, 11)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 31, 27)) +>f3 : Symbol(C3_public.f3, Decl(privacyInterface.ts, 31, 27)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 32, 24)) +>f4 : Symbol(C3_public.f4, Decl(privacyInterface.ts, 32, 24)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) } @@ -134,37 +134,37 @@ export module m1 { >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyInterface.ts, 49, 32)) +>x : Symbol(C4_private.x, Decl(privacyInterface.ts, 49, 32)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) y: C2_private; ->y : Symbol(y, Decl(privacyInterface.ts, 51, 21)) +>y : Symbol(C4_private.y, Decl(privacyInterface.ts, 51, 21)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyInterface.ts, 52, 22)) +>a : Symbol(C4_private.a, Decl(privacyInterface.ts, 52, 22)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) b?: C2_private; ->b : Symbol(b, Decl(privacyInterface.ts, 54, 22)) +>b : Symbol(C4_private.b, Decl(privacyInterface.ts, 54, 22)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 55, 23)) +>f1 : Symbol(C4_private.f1, Decl(privacyInterface.ts, 55, 23)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 57, 11)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 57, 26)) +>f2 : Symbol(C4_private.f2, Decl(privacyInterface.ts, 57, 26)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 58, 11)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 58, 27)) +>f3 : Symbol(C4_private.f3, Decl(privacyInterface.ts, 58, 27)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 0, 18)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 59, 24)) +>f4 : Symbol(C4_private.f4, Decl(privacyInterface.ts, 59, 24)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 4, 5)) } @@ -178,7 +178,7 @@ module m2 { >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyInterface.ts, 67, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyInterface.ts, 67, 28)) } } @@ -229,37 +229,37 @@ module m2 { >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyInterface.ts, 88, 32)) +>x : Symbol(C3_public.x, Decl(privacyInterface.ts, 88, 32)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) y: C2_private; ->y : Symbol(y, Decl(privacyInterface.ts, 90, 21)) +>y : Symbol(C3_public.y, Decl(privacyInterface.ts, 90, 21)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyInterface.ts, 91, 22)) +>a : Symbol(C3_public.a, Decl(privacyInterface.ts, 91, 22)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) b?: C2_private; ->b : Symbol(b, Decl(privacyInterface.ts, 93, 22)) +>b : Symbol(C3_public.b, Decl(privacyInterface.ts, 93, 22)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 94, 23)) +>f1 : Symbol(C3_public.f1, Decl(privacyInterface.ts, 94, 23)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 96, 11)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 96, 26)) +>f2 : Symbol(C3_public.f2, Decl(privacyInterface.ts, 96, 26)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 97, 11)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 97, 27)) +>f3 : Symbol(C3_public.f3, Decl(privacyInterface.ts, 97, 27)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 98, 24)) +>f4 : Symbol(C3_public.f4, Decl(privacyInterface.ts, 98, 24)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) } @@ -306,37 +306,37 @@ module m2 { >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) x: C1_public; ->x : Symbol(x, Decl(privacyInterface.ts, 115, 32)) +>x : Symbol(C4_private.x, Decl(privacyInterface.ts, 115, 32)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) y: C2_private; ->y : Symbol(y, Decl(privacyInterface.ts, 117, 21)) +>y : Symbol(C4_private.y, Decl(privacyInterface.ts, 117, 21)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) a?: C1_public; ->a : Symbol(a, Decl(privacyInterface.ts, 118, 22)) +>a : Symbol(C4_private.a, Decl(privacyInterface.ts, 118, 22)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) b?: C2_private; ->b : Symbol(b, Decl(privacyInterface.ts, 120, 22)) +>b : Symbol(C4_private.b, Decl(privacyInterface.ts, 120, 22)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) f1(a1: C1_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 121, 23)) +>f1 : Symbol(C4_private.f1, Decl(privacyInterface.ts, 121, 23)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 123, 11)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) f2(a1: C2_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 123, 26)) +>f2 : Symbol(C4_private.f2, Decl(privacyInterface.ts, 123, 26)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 124, 11)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) f3(): C1_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 124, 27)) +>f3 : Symbol(C4_private.f3, Decl(privacyInterface.ts, 124, 27)) >C1_public : Symbol(C1_public, Decl(privacyInterface.ts, 66, 11)) f4(): C2_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 125, 24)) +>f4 : Symbol(C4_private.f4, Decl(privacyInterface.ts, 125, 24)) >C2_private : Symbol(C2_private, Decl(privacyInterface.ts, 70, 5)) } @@ -346,7 +346,7 @@ export class C5_public { >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyInterface.ts, 131, 24)) +>f1 : Symbol(C5_public.f1, Decl(privacyInterface.ts, 131, 24)) } } @@ -397,37 +397,37 @@ export interface C7_public { >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) x: C5_public; ->x : Symbol(x, Decl(privacyInterface.ts, 152, 28)) +>x : Symbol(C7_public.x, Decl(privacyInterface.ts, 152, 28)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) y: C6_private; ->y : Symbol(y, Decl(privacyInterface.ts, 154, 17)) +>y : Symbol(C7_public.y, Decl(privacyInterface.ts, 154, 17)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) a?: C5_public; ->a : Symbol(a, Decl(privacyInterface.ts, 155, 18)) +>a : Symbol(C7_public.a, Decl(privacyInterface.ts, 155, 18)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) b?: C6_private; ->b : Symbol(b, Decl(privacyInterface.ts, 157, 18)) +>b : Symbol(C7_public.b, Decl(privacyInterface.ts, 157, 18)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) f1(a1: C5_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 158, 19)) +>f1 : Symbol(C7_public.f1, Decl(privacyInterface.ts, 158, 19)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 160, 7)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) f2(a1: C6_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 160, 22)) +>f2 : Symbol(C7_public.f2, Decl(privacyInterface.ts, 160, 22)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 161, 7)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) f3(): C5_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 161, 23)) +>f3 : Symbol(C7_public.f3, Decl(privacyInterface.ts, 161, 23)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) f4(): C6_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 162, 20)) +>f4 : Symbol(C7_public.f4, Decl(privacyInterface.ts, 162, 20)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) } @@ -474,37 +474,37 @@ interface C8_private { >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) x: C5_public; ->x : Symbol(x, Decl(privacyInterface.ts, 179, 28)) +>x : Symbol(C8_private.x, Decl(privacyInterface.ts, 179, 28)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) y: C6_private; ->y : Symbol(y, Decl(privacyInterface.ts, 181, 17)) +>y : Symbol(C8_private.y, Decl(privacyInterface.ts, 181, 17)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) a?: C5_public; ->a : Symbol(a, Decl(privacyInterface.ts, 182, 18)) +>a : Symbol(C8_private.a, Decl(privacyInterface.ts, 182, 18)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) b?: C6_private; ->b : Symbol(b, Decl(privacyInterface.ts, 184, 18)) +>b : Symbol(C8_private.b, Decl(privacyInterface.ts, 184, 18)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) f1(a1: C5_public); ->f1 : Symbol(f1, Decl(privacyInterface.ts, 185, 19)) +>f1 : Symbol(C8_private.f1, Decl(privacyInterface.ts, 185, 19)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 187, 7)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) f2(a1: C6_private); ->f2 : Symbol(f2, Decl(privacyInterface.ts, 187, 22)) +>f2 : Symbol(C8_private.f2, Decl(privacyInterface.ts, 187, 22)) >a1 : Symbol(a1, Decl(privacyInterface.ts, 188, 7)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) f3(): C5_public; ->f3 : Symbol(f3, Decl(privacyInterface.ts, 188, 23)) +>f3 : Symbol(C8_private.f3, Decl(privacyInterface.ts, 188, 23)) >C5_public : Symbol(C5_public, Decl(privacyInterface.ts, 129, 1)) f4(): C6_private; ->f4 : Symbol(f4, Decl(privacyInterface.ts, 189, 20)) +>f4 : Symbol(C8_private.f4, Decl(privacyInterface.ts, 189, 20)) >C6_private : Symbol(C6_private, Decl(privacyInterface.ts, 134, 1)) } @@ -516,14 +516,14 @@ export module m3 { >m3_i_public : Symbol(m3_i_public, Decl(privacyInterface.ts, 194, 18)) f1(): number; ->f1 : Symbol(f1, Decl(privacyInterface.ts, 195, 34)) +>f1 : Symbol(m3_i_public.f1, Decl(privacyInterface.ts, 195, 34)) } interface m3_i_private { >m3_i_private : Symbol(m3_i_private, Decl(privacyInterface.ts, 197, 5)) f2(): string; ->f2 : Symbol(f2, Decl(privacyInterface.ts, 199, 28)) +>f2 : Symbol(m3_i_private.f2, Decl(privacyInterface.ts, 199, 28)) } interface m3_C1_private extends m3_i_public { @@ -563,14 +563,14 @@ module m4 { >m4_i_public : Symbol(m4_i_public, Decl(privacyInterface.ts, 219, 11)) f1(): number; ->f1 : Symbol(f1, Decl(privacyInterface.ts, 220, 34)) +>f1 : Symbol(m4_i_public.f1, Decl(privacyInterface.ts, 220, 34)) } interface m4_i_private { >m4_i_private : Symbol(m4_i_private, Decl(privacyInterface.ts, 222, 5)) f2(): string; ->f2 : Symbol(f2, Decl(privacyInterface.ts, 224, 28)) +>f2 : Symbol(m4_i_private.f2, Decl(privacyInterface.ts, 224, 28)) } interface m4_C1_private extends m4_i_public { @@ -606,14 +606,14 @@ export interface glo_i_public { >glo_i_public : Symbol(glo_i_public, Decl(privacyInterface.ts, 241, 1)) f1(): number; ->f1 : Symbol(f1, Decl(privacyInterface.ts, 243, 31)) +>f1 : Symbol(glo_i_public.f1, Decl(privacyInterface.ts, 243, 31)) } interface glo_i_private { >glo_i_private : Symbol(glo_i_private, Decl(privacyInterface.ts, 245, 1)) f2(): string; ->f2 : Symbol(f2, Decl(privacyInterface.ts, 247, 25)) +>f2 : Symbol(glo_i_private.f2, Decl(privacyInterface.ts, 247, 25)) } interface glo_C1_private extends glo_i_public { diff --git a/tests/baselines/reference/privacyTypeParameterOfFunction.symbols b/tests/baselines/reference/privacyTypeParameterOfFunction.symbols index dbdb0617aab..db50f1e61a4 100644 --- a/tests/baselines/reference/privacyTypeParameterOfFunction.symbols +++ b/tests/baselines/reference/privacyTypeParameterOfFunction.symbols @@ -24,7 +24,7 @@ export interface publicInterfaceWithPrivateTypeParameters { // TypeParameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1 myMethod(): privateClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 11, 45)) +>myMethod : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod, Decl(privacyTypeParameterOfFunction.ts, 11, 45)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 14, 13)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) @@ -44,7 +44,7 @@ export interface publicInterfaceWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) myMethod(): publicClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 19, 43)) +>myMethod : Symbol(publicInterfaceWithPublicTypeParameters.myMethod, Decl(privacyTypeParameterOfFunction.ts, 19, 43)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 20, 13)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) @@ -64,7 +64,7 @@ interface privateInterfaceWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) myMethod(): privateClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 25, 45)) +>myMethod : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod, Decl(privacyTypeParameterOfFunction.ts, 25, 45)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 26, 13)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) @@ -84,7 +84,7 @@ interface privateInterfaceWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) myMethod(): publicClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 31, 43)) +>myMethod : Symbol(privateInterfaceWithPublicTypeParameters.myMethod, Decl(privacyTypeParameterOfFunction.ts, 31, 43)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 32, 13)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) @@ -106,12 +106,12 @@ export class publicClassWithWithPrivateTypeParameters { } // TypeParameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1 myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 40, 5)) +>myPublicMethod : Symbol(publicClassWithWithPrivateTypeParameters.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 40, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 42, 19)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) } private myPrivateMethod() { // No error ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 43, 5)) +>myPrivateMethod : Symbol(publicClassWithWithPrivateTypeParameters.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 43, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 44, 28)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) } @@ -131,12 +131,12 @@ export class publicClassWithWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 52, 5)) +>myPublicMethod : Symbol(publicClassWithWithPublicTypeParameters.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 52, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 53, 19)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } private myPrivateMethod() { ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 54, 5)) +>myPrivateMethod : Symbol(publicClassWithWithPublicTypeParameters.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 54, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 55, 28)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } @@ -156,12 +156,12 @@ class privateClassWithWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) } myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 63, 5)) +>myPublicMethod : Symbol(privateClassWithWithPrivateTypeParameters.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 63, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 64, 19)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) } private myPrivateMethod() { // No error ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 65, 5)) +>myPrivateMethod : Symbol(privateClassWithWithPrivateTypeParameters.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 65, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 66, 28)) >privateClass : Symbol(privateClass, Decl(privacyTypeParameterOfFunction.ts, 0, 0)) } @@ -181,12 +181,12 @@ class privateClassWithWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 74, 5)) +>myPublicMethod : Symbol(privateClassWithWithPublicTypeParameters.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 74, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 75, 19)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } private myPrivateMethod() { ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 76, 5)) +>myPrivateMethod : Symbol(privateClassWithWithPublicTypeParameters.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 76, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 77, 28)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } @@ -229,7 +229,7 @@ export interface publicInterfaceWithPublicTypeParametersWithoutExtends { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) myMethod(): publicClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 96, 23)) +>myMethod : Symbol(publicInterfaceWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParameterOfFunction.ts, 96, 23)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 97, 13)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } @@ -246,7 +246,7 @@ interface privateInterfaceWithPublicTypeParametersWithoutExtends { >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) myMethod(): publicClass; ->myMethod : Symbol(myMethod, Decl(privacyTypeParameterOfFunction.ts, 102, 23)) +>myMethod : Symbol(privateInterfaceWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParameterOfFunction.ts, 102, 23)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 103, 13)) >publicClass : Symbol(publicClass, Decl(privacyTypeParameterOfFunction.ts, 1, 1)) } @@ -263,11 +263,11 @@ export class publicClassWithWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 109, 41)) } myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 110, 5)) +>myPublicMethod : Symbol(publicClassWithWithPublicTypeParametersWithoutExtends.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 110, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 111, 19)) } private myPrivateMethod() { ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 112, 5)) +>myPrivateMethod : Symbol(publicClassWithWithPublicTypeParametersWithoutExtends.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 112, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 113, 28)) } } @@ -283,11 +283,11 @@ class privateClassWithWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 119, 41)) } myPublicMethod() { ->myPublicMethod : Symbol(myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 120, 5)) +>myPublicMethod : Symbol(privateClassWithWithPublicTypeParametersWithoutExtends.myPublicMethod, Decl(privacyTypeParameterOfFunction.ts, 120, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 121, 19)) } private myPrivateMethod() { ->myPrivateMethod : Symbol(myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 122, 5)) +>myPrivateMethod : Symbol(privateClassWithWithPublicTypeParametersWithoutExtends.myPrivateMethod, Decl(privacyTypeParameterOfFunction.ts, 122, 5)) >T : Symbol(T, Decl(privacyTypeParameterOfFunction.ts, 123, 28)) } } diff --git a/tests/baselines/reference/privacyTypeParametersOfClass.symbols b/tests/baselines/reference/privacyTypeParametersOfClass.symbols index cdb0e6044cf..6f52f1bd391 100644 --- a/tests/baselines/reference/privacyTypeParametersOfClass.symbols +++ b/tests/baselines/reference/privacyTypeParametersOfClass.symbols @@ -14,7 +14,7 @@ export class publicClassWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfClass.ts, 0, 0)) myMethod(val: T): T { // Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 7, 75)) +>myMethod : Symbol(publicClassWithPrivateTypeParameters.myMethod, Decl(privacyTypeParametersOfClass.ts, 7, 75)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 8, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 7, 50)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 7, 50)) @@ -30,7 +30,7 @@ export class publicClassWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfClass.ts, 1, 1)) myMethod(val: T): T { // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 13, 73)) +>myMethod : Symbol(publicClassWithPublicTypeParameters.myMethod, Decl(privacyTypeParametersOfClass.ts, 13, 73)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 14, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 13, 49)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 13, 49)) @@ -46,7 +46,7 @@ class privateClassWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfClass.ts, 0, 0)) myMethod(val: T): T { // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 19, 69)) +>myMethod : Symbol(privateClassWithPrivateTypeParameters.myMethod, Decl(privacyTypeParametersOfClass.ts, 19, 69)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 20, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 19, 44)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 19, 44)) @@ -62,7 +62,7 @@ class privateClassWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfClass.ts, 1, 1)) myMethod(val: T): T { // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 25, 67)) +>myMethod : Symbol(privateClassWithPublicTypeParameters.myMethod, Decl(privacyTypeParametersOfClass.ts, 25, 67)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 26, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 25, 43)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 25, 43)) @@ -77,7 +77,7 @@ export class publicClassWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 31, 63)) myMethod(val: T): T { // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 31, 67)) +>myMethod : Symbol(publicClassWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParametersOfClass.ts, 31, 67)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 32, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 31, 63)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 31, 63)) @@ -92,7 +92,7 @@ class privateClassWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 37, 57)) myMethod(val: T): T { // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfClass.ts, 37, 61)) +>myMethod : Symbol(privateClassWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParametersOfClass.ts, 37, 61)) >val : Symbol(val, Decl(privacyTypeParametersOfClass.ts, 38, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 37, 57)) >T : Symbol(T, Decl(privacyTypeParametersOfClass.ts, 37, 57)) diff --git a/tests/baselines/reference/privacyTypeParametersOfInterface.symbols b/tests/baselines/reference/privacyTypeParametersOfInterface.symbols index 8d6e2070444..2ee927a9eec 100644 --- a/tests/baselines/reference/privacyTypeParametersOfInterface.symbols +++ b/tests/baselines/reference/privacyTypeParametersOfInterface.symbols @@ -24,33 +24,33 @@ export interface publicInterfaceWithPrivateTypeParametersprivateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod(val: T): T; // Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 13, 83)) +>myMethod : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod, Decl(privacyTypeParametersOfInterface.ts, 13, 83)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 14, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 13, 58)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 13, 58)) myMethod0(): publicClassT; // error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 14, 24)) +>myMethod0 : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 14, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 13, 58)) myMethod1(): privateClassT; // error ->myMethod1 : Symbol(myMethod1, Decl(privacyTypeParametersOfInterface.ts, 15, 33)) +>myMethod1 : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod1, Decl(privacyTypeParametersOfInterface.ts, 15, 33)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod2(): privateClassT; // error ->myMethod2 : Symbol(myMethod2, Decl(privacyTypeParametersOfInterface.ts, 16, 45)) +>myMethod2 : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod2, Decl(privacyTypeParametersOfInterface.ts, 16, 45)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod3(): publicClassT; //error ->myMethod3 : Symbol(myMethod3, Decl(privacyTypeParametersOfInterface.ts, 17, 44)) +>myMethod3 : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod3, Decl(privacyTypeParametersOfInterface.ts, 17, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod4(): publicClassT; // no error ->myMethod4 : Symbol(myMethod4, Decl(privacyTypeParametersOfInterface.ts, 18, 44)) +>myMethod4 : Symbol(publicInterfaceWithPrivateTypeParameters.myMethod4, Decl(privacyTypeParametersOfInterface.ts, 18, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) } @@ -61,33 +61,33 @@ export interface publicInterfaceWithPublicTypeParameters >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod(val: T): T; // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 22, 81)) +>myMethod : Symbol(publicInterfaceWithPublicTypeParameters.myMethod, Decl(privacyTypeParametersOfInterface.ts, 22, 81)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 23, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 22, 57)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 22, 57)) myMethod0(): publicClassT; // No error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 23, 24)) +>myMethod0 : Symbol(publicInterfaceWithPublicTypeParameters.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 23, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 22, 57)) myMethod1(): privateClassT; // error ->myMethod1 : Symbol(myMethod1, Decl(privacyTypeParametersOfInterface.ts, 24, 33)) +>myMethod1 : Symbol(publicInterfaceWithPublicTypeParameters.myMethod1, Decl(privacyTypeParametersOfInterface.ts, 24, 33)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod2(): privateClassT; // error ->myMethod2 : Symbol(myMethod2, Decl(privacyTypeParametersOfInterface.ts, 25, 45)) +>myMethod2 : Symbol(publicInterfaceWithPublicTypeParameters.myMethod2, Decl(privacyTypeParametersOfInterface.ts, 25, 45)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod3(): publicClassT; //error ->myMethod3 : Symbol(myMethod3, Decl(privacyTypeParametersOfInterface.ts, 26, 44)) +>myMethod3 : Symbol(publicInterfaceWithPublicTypeParameters.myMethod3, Decl(privacyTypeParametersOfInterface.ts, 26, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod4(): publicClassT; // no error ->myMethod4 : Symbol(myMethod4, Decl(privacyTypeParametersOfInterface.ts, 27, 44)) +>myMethod4 : Symbol(publicInterfaceWithPublicTypeParameters.myMethod4, Decl(privacyTypeParametersOfInterface.ts, 27, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) } @@ -98,33 +98,33 @@ interface privateInterfaceWithPrivateTypeParameters { >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod(val: T): T; // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 31, 77)) +>myMethod : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod, Decl(privacyTypeParametersOfInterface.ts, 31, 77)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 32, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 31, 52)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 31, 52)) myMethod0(): publicClassT; // No error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 32, 24)) +>myMethod0 : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 32, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 31, 52)) myMethod1(): privateClassT; // No error ->myMethod1 : Symbol(myMethod1, Decl(privacyTypeParametersOfInterface.ts, 33, 33)) +>myMethod1 : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod1, Decl(privacyTypeParametersOfInterface.ts, 33, 33)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod2(): privateClassT; // No error ->myMethod2 : Symbol(myMethod2, Decl(privacyTypeParametersOfInterface.ts, 34, 45)) +>myMethod2 : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod2, Decl(privacyTypeParametersOfInterface.ts, 34, 45)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod3(): publicClassT; //No error ->myMethod3 : Symbol(myMethod3, Decl(privacyTypeParametersOfInterface.ts, 35, 44)) +>myMethod3 : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod3, Decl(privacyTypeParametersOfInterface.ts, 35, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod4(): publicClassT; // no error ->myMethod4 : Symbol(myMethod4, Decl(privacyTypeParametersOfInterface.ts, 36, 44)) +>myMethod4 : Symbol(privateInterfaceWithPrivateTypeParameters.myMethod4, Decl(privacyTypeParametersOfInterface.ts, 36, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) } @@ -135,33 +135,33 @@ interface privateInterfaceWithPublicTypeParameters { >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod(val: T): T; // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 40, 75)) +>myMethod : Symbol(privateInterfaceWithPublicTypeParameters.myMethod, Decl(privacyTypeParametersOfInterface.ts, 40, 75)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 41, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 40, 51)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 40, 51)) myMethod0(): publicClassT; // No error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 41, 24)) +>myMethod0 : Symbol(privateInterfaceWithPublicTypeParameters.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 41, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 40, 51)) myMethod1(): privateClassT; // No error ->myMethod1 : Symbol(myMethod1, Decl(privacyTypeParametersOfInterface.ts, 42, 33)) +>myMethod1 : Symbol(privateInterfaceWithPublicTypeParameters.myMethod1, Decl(privacyTypeParametersOfInterface.ts, 42, 33)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod2(): privateClassT; // No error ->myMethod2 : Symbol(myMethod2, Decl(privacyTypeParametersOfInterface.ts, 43, 45)) +>myMethod2 : Symbol(privateInterfaceWithPublicTypeParameters.myMethod2, Decl(privacyTypeParametersOfInterface.ts, 43, 45)) >privateClassT : Symbol(privateClassT, Decl(privacyTypeParametersOfInterface.ts, 4, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) myMethod3(): publicClassT; //No error ->myMethod3 : Symbol(myMethod3, Decl(privacyTypeParametersOfInterface.ts, 44, 44)) +>myMethod3 : Symbol(privateInterfaceWithPublicTypeParameters.myMethod3, Decl(privacyTypeParametersOfInterface.ts, 44, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >privateClass : Symbol(privateClass, Decl(privacyTypeParametersOfInterface.ts, 0, 0)) myMethod4(): publicClassT; // no error ->myMethod4 : Symbol(myMethod4, Decl(privacyTypeParametersOfInterface.ts, 45, 44)) +>myMethod4 : Symbol(privateInterfaceWithPublicTypeParameters.myMethod4, Decl(privacyTypeParametersOfInterface.ts, 45, 44)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >publicClass : Symbol(publicClass, Decl(privacyTypeParametersOfInterface.ts, 1, 1)) } @@ -171,13 +171,13 @@ export interface publicInterfaceWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 49, 71)) myMethod(val: T): T; // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 49, 75)) +>myMethod : Symbol(publicInterfaceWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParametersOfInterface.ts, 49, 75)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 50, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 49, 71)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 49, 71)) myMethod0(): publicClassT; // No error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 50, 24)) +>myMethod0 : Symbol(publicInterfaceWithPublicTypeParametersWithoutExtends.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 50, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 49, 71)) } @@ -187,13 +187,13 @@ interface privateInterfaceWithPublicTypeParametersWithoutExtends { >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 54, 65)) myMethod(val: T): T; // No Error ->myMethod : Symbol(myMethod, Decl(privacyTypeParametersOfInterface.ts, 54, 69)) +>myMethod : Symbol(privateInterfaceWithPublicTypeParametersWithoutExtends.myMethod, Decl(privacyTypeParametersOfInterface.ts, 54, 69)) >val : Symbol(val, Decl(privacyTypeParametersOfInterface.ts, 55, 13)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 54, 65)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 54, 65)) myMethod0(): publicClassT; // No error ->myMethod0 : Symbol(myMethod0, Decl(privacyTypeParametersOfInterface.ts, 55, 24)) +>myMethod0 : Symbol(privateInterfaceWithPublicTypeParametersWithoutExtends.myMethod0, Decl(privacyTypeParametersOfInterface.ts, 55, 24)) >publicClassT : Symbol(publicClassT, Decl(privacyTypeParametersOfInterface.ts, 7, 1)) >T : Symbol(T, Decl(privacyTypeParametersOfInterface.ts, 54, 65)) } diff --git a/tests/baselines/reference/privacyVar.symbols b/tests/baselines/reference/privacyVar.symbols index 098a48d6499..a08e2421080 100644 --- a/tests/baselines/reference/privacyVar.symbols +++ b/tests/baselines/reference/privacyVar.symbols @@ -6,7 +6,7 @@ export module m1 { >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private f1() { ->f1 : Symbol(f1, Decl(privacyVar.ts, 1, 28)) +>f1 : Symbol(C1_public.f1, Decl(privacyVar.ts, 1, 28)) } } @@ -18,54 +18,54 @@ export module m1 { >C3_public : Symbol(C3_public, Decl(privacyVar.ts, 7, 5)) private C3_v1_private: C1_public; ->C3_v1_private : Symbol(C3_v1_private, Decl(privacyVar.ts, 9, 28)) +>C3_v1_private : Symbol(C3_public.C3_v1_private, Decl(privacyVar.ts, 9, 28)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C3_v2_public: C1_public; ->C3_v2_public : Symbol(C3_v2_public, Decl(privacyVar.ts, 10, 41)) +>C3_v2_public : Symbol(C3_public.C3_v2_public, Decl(privacyVar.ts, 10, 41)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C3_v3_private: C2_private; ->C3_v3_private : Symbol(C3_v3_private, Decl(privacyVar.ts, 11, 39)) +>C3_v3_private : Symbol(C3_public.C3_v3_private, Decl(privacyVar.ts, 11, 39)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C3_v4_public: C2_private; // error ->C3_v4_public : Symbol(C3_v4_public, Decl(privacyVar.ts, 12, 42)) +>C3_v4_public : Symbol(C3_public.C3_v4_public, Decl(privacyVar.ts, 12, 42)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) private C3_v11_private = new C1_public(); ->C3_v11_private : Symbol(C3_v11_private, Decl(privacyVar.ts, 13, 40)) +>C3_v11_private : Symbol(C3_public.C3_v11_private, Decl(privacyVar.ts, 13, 40)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C3_v12_public = new C1_public(); ->C3_v12_public : Symbol(C3_v12_public, Decl(privacyVar.ts, 15, 49)) +>C3_v12_public : Symbol(C3_public.C3_v12_public, Decl(privacyVar.ts, 15, 49)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C3_v13_private = new C2_private(); ->C3_v13_private : Symbol(C3_v13_private, Decl(privacyVar.ts, 16, 47)) +>C3_v13_private : Symbol(C3_public.C3_v13_private, Decl(privacyVar.ts, 16, 47)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C3_v14_public = new C2_private(); // error ->C3_v14_public : Symbol(C3_v14_public, Decl(privacyVar.ts, 17, 50)) +>C3_v14_public : Symbol(C3_public.C3_v14_public, Decl(privacyVar.ts, 17, 50)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) private C3_v21_private: C1_public = new C1_public(); ->C3_v21_private : Symbol(C3_v21_private, Decl(privacyVar.ts, 18, 48)) +>C3_v21_private : Symbol(C3_public.C3_v21_private, Decl(privacyVar.ts, 18, 48)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C3_v22_public: C1_public = new C1_public(); ->C3_v22_public : Symbol(C3_v22_public, Decl(privacyVar.ts, 20, 60)) +>C3_v22_public : Symbol(C3_public.C3_v22_public, Decl(privacyVar.ts, 20, 60)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C3_v23_private: C2_private = new C2_private(); ->C3_v23_private : Symbol(C3_v23_private, Decl(privacyVar.ts, 21, 58)) +>C3_v23_private : Symbol(C3_public.C3_v23_private, Decl(privacyVar.ts, 21, 58)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C3_v24_public: C2_private = new C2_private(); // error ->C3_v24_public : Symbol(C3_v24_public, Decl(privacyVar.ts, 22, 62)) +>C3_v24_public : Symbol(C3_public.C3_v24_public, Decl(privacyVar.ts, 22, 62)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) } @@ -74,54 +74,54 @@ export module m1 { >C4_public : Symbol(C4_public, Decl(privacyVar.ts, 24, 5)) private C4_v1_private: C1_public; ->C4_v1_private : Symbol(C4_v1_private, Decl(privacyVar.ts, 26, 21)) +>C4_v1_private : Symbol(C4_public.C4_v1_private, Decl(privacyVar.ts, 26, 21)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C4_v2_public: C1_public; ->C4_v2_public : Symbol(C4_v2_public, Decl(privacyVar.ts, 27, 41)) +>C4_v2_public : Symbol(C4_public.C4_v2_public, Decl(privacyVar.ts, 27, 41)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C4_v3_private: C2_private; ->C4_v3_private : Symbol(C4_v3_private, Decl(privacyVar.ts, 28, 39)) +>C4_v3_private : Symbol(C4_public.C4_v3_private, Decl(privacyVar.ts, 28, 39)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C4_v4_public: C2_private; ->C4_v4_public : Symbol(C4_v4_public, Decl(privacyVar.ts, 29, 42)) +>C4_v4_public : Symbol(C4_public.C4_v4_public, Decl(privacyVar.ts, 29, 42)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) private C4_v11_private = new C1_public(); ->C4_v11_private : Symbol(C4_v11_private, Decl(privacyVar.ts, 30, 40)) +>C4_v11_private : Symbol(C4_public.C4_v11_private, Decl(privacyVar.ts, 30, 40)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C4_v12_public = new C1_public(); ->C4_v12_public : Symbol(C4_v12_public, Decl(privacyVar.ts, 32, 49)) +>C4_v12_public : Symbol(C4_public.C4_v12_public, Decl(privacyVar.ts, 32, 49)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C4_v13_private = new C2_private(); ->C4_v13_private : Symbol(C4_v13_private, Decl(privacyVar.ts, 33, 47)) +>C4_v13_private : Symbol(C4_public.C4_v13_private, Decl(privacyVar.ts, 33, 47)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C4_v14_public = new C2_private(); ->C4_v14_public : Symbol(C4_v14_public, Decl(privacyVar.ts, 34, 50)) +>C4_v14_public : Symbol(C4_public.C4_v14_public, Decl(privacyVar.ts, 34, 50)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) private C4_v21_private: C1_public = new C1_public(); ->C4_v21_private : Symbol(C4_v21_private, Decl(privacyVar.ts, 35, 48)) +>C4_v21_private : Symbol(C4_public.C4_v21_private, Decl(privacyVar.ts, 35, 48)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) public C4_v22_public: C1_public = new C1_public(); ->C4_v22_public : Symbol(C4_v22_public, Decl(privacyVar.ts, 37, 60)) +>C4_v22_public : Symbol(C4_public.C4_v22_public, Decl(privacyVar.ts, 37, 60)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) >C1_public : Symbol(C1_public, Decl(privacyVar.ts, 0, 18)) private C4_v23_private: C2_private = new C2_private(); ->C4_v23_private : Symbol(C4_v23_private, Decl(privacyVar.ts, 38, 58)) +>C4_v23_private : Symbol(C4_public.C4_v23_private, Decl(privacyVar.ts, 38, 58)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) public C4_v24_public: C2_private = new C2_private(); ->C4_v24_public : Symbol(C4_v24_public, Decl(privacyVar.ts, 39, 62)) +>C4_v24_public : Symbol(C4_public.C4_v24_public, Decl(privacyVar.ts, 39, 62)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) >C2_private : Symbol(C2_private, Decl(privacyVar.ts, 4, 5)) } @@ -186,7 +186,7 @@ module m2 { >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private f1() { ->f1 : Symbol(f1, Decl(privacyVar.ts, 60, 31)) +>f1 : Symbol(m2_C1_public.f1, Decl(privacyVar.ts, 60, 31)) } } @@ -198,54 +198,54 @@ module m2 { >m2_C3_public : Symbol(m2_C3_public, Decl(privacyVar.ts, 66, 5)) private m2_C3_v1_private: m2_C1_public; ->m2_C3_v1_private : Symbol(m2_C3_v1_private, Decl(privacyVar.ts, 68, 31)) +>m2_C3_v1_private : Symbol(m2_C3_public.m2_C3_v1_private, Decl(privacyVar.ts, 68, 31)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C3_v2_public: m2_C1_public; ->m2_C3_v2_public : Symbol(m2_C3_v2_public, Decl(privacyVar.ts, 69, 47)) +>m2_C3_v2_public : Symbol(m2_C3_public.m2_C3_v2_public, Decl(privacyVar.ts, 69, 47)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C3_v3_private: m2_C2_private; ->m2_C3_v3_private : Symbol(m2_C3_v3_private, Decl(privacyVar.ts, 70, 45)) +>m2_C3_v3_private : Symbol(m2_C3_public.m2_C3_v3_private, Decl(privacyVar.ts, 70, 45)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C3_v4_public: m2_C2_private; ->m2_C3_v4_public : Symbol(m2_C3_v4_public, Decl(privacyVar.ts, 71, 48)) +>m2_C3_v4_public : Symbol(m2_C3_public.m2_C3_v4_public, Decl(privacyVar.ts, 71, 48)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) private m2_C3_v11_private = new m2_C1_public(); ->m2_C3_v11_private : Symbol(m2_C3_v11_private, Decl(privacyVar.ts, 72, 46)) +>m2_C3_v11_private : Symbol(m2_C3_public.m2_C3_v11_private, Decl(privacyVar.ts, 72, 46)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C3_v12_public = new m2_C1_public(); ->m2_C3_v12_public : Symbol(m2_C3_v12_public, Decl(privacyVar.ts, 74, 55)) +>m2_C3_v12_public : Symbol(m2_C3_public.m2_C3_v12_public, Decl(privacyVar.ts, 74, 55)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C3_v13_private = new m2_C2_private(); ->m2_C3_v13_private : Symbol(m2_C3_v13_private, Decl(privacyVar.ts, 75, 53)) +>m2_C3_v13_private : Symbol(m2_C3_public.m2_C3_v13_private, Decl(privacyVar.ts, 75, 53)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C3_v14_public = new m2_C2_private(); ->m2_C3_v14_public : Symbol(m2_C3_v14_public, Decl(privacyVar.ts, 76, 56)) +>m2_C3_v14_public : Symbol(m2_C3_public.m2_C3_v14_public, Decl(privacyVar.ts, 76, 56)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) private m2_C3_v21_private: m2_C1_public = new m2_C1_public(); ->m2_C3_v21_private : Symbol(m2_C3_v21_private, Decl(privacyVar.ts, 77, 54)) +>m2_C3_v21_private : Symbol(m2_C3_public.m2_C3_v21_private, Decl(privacyVar.ts, 77, 54)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C3_v22_public: m2_C1_public = new m2_C1_public(); ->m2_C3_v22_public : Symbol(m2_C3_v22_public, Decl(privacyVar.ts, 79, 69)) +>m2_C3_v22_public : Symbol(m2_C3_public.m2_C3_v22_public, Decl(privacyVar.ts, 79, 69)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C3_v23_private: m2_C2_private = new m2_C2_private(); ->m2_C3_v23_private : Symbol(m2_C3_v23_private, Decl(privacyVar.ts, 80, 67)) +>m2_C3_v23_private : Symbol(m2_C3_public.m2_C3_v23_private, Decl(privacyVar.ts, 80, 67)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C3_v24_public: m2_C2_private = new m2_C2_private(); ->m2_C3_v24_public : Symbol(m2_C3_v24_public, Decl(privacyVar.ts, 81, 71)) +>m2_C3_v24_public : Symbol(m2_C3_public.m2_C3_v24_public, Decl(privacyVar.ts, 81, 71)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) } @@ -254,54 +254,54 @@ module m2 { >m2_C4_public : Symbol(m2_C4_public, Decl(privacyVar.ts, 83, 5)) private m2_C4_v1_private: m2_C1_public; ->m2_C4_v1_private : Symbol(m2_C4_v1_private, Decl(privacyVar.ts, 85, 24)) +>m2_C4_v1_private : Symbol(m2_C4_public.m2_C4_v1_private, Decl(privacyVar.ts, 85, 24)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C4_v2_public: m2_C1_public; ->m2_C4_v2_public : Symbol(m2_C4_v2_public, Decl(privacyVar.ts, 86, 47)) +>m2_C4_v2_public : Symbol(m2_C4_public.m2_C4_v2_public, Decl(privacyVar.ts, 86, 47)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C4_v3_private: m2_C2_private; ->m2_C4_v3_private : Symbol(m2_C4_v3_private, Decl(privacyVar.ts, 87, 45)) +>m2_C4_v3_private : Symbol(m2_C4_public.m2_C4_v3_private, Decl(privacyVar.ts, 87, 45)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C4_v4_public: m2_C2_private; ->m2_C4_v4_public : Symbol(m2_C4_v4_public, Decl(privacyVar.ts, 88, 48)) +>m2_C4_v4_public : Symbol(m2_C4_public.m2_C4_v4_public, Decl(privacyVar.ts, 88, 48)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) private m2_C4_v11_private = new m2_C1_public(); ->m2_C4_v11_private : Symbol(m2_C4_v11_private, Decl(privacyVar.ts, 89, 46)) +>m2_C4_v11_private : Symbol(m2_C4_public.m2_C4_v11_private, Decl(privacyVar.ts, 89, 46)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C4_v12_public = new m2_C1_public(); ->m2_C4_v12_public : Symbol(m2_C4_v12_public, Decl(privacyVar.ts, 91, 55)) +>m2_C4_v12_public : Symbol(m2_C4_public.m2_C4_v12_public, Decl(privacyVar.ts, 91, 55)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C4_v13_private = new m2_C2_private(); ->m2_C4_v13_private : Symbol(m2_C4_v13_private, Decl(privacyVar.ts, 92, 53)) +>m2_C4_v13_private : Symbol(m2_C4_public.m2_C4_v13_private, Decl(privacyVar.ts, 92, 53)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C4_v14_public = new m2_C2_private(); ->m2_C4_v14_public : Symbol(m2_C4_v14_public, Decl(privacyVar.ts, 93, 56)) +>m2_C4_v14_public : Symbol(m2_C4_public.m2_C4_v14_public, Decl(privacyVar.ts, 93, 56)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) private m2_C4_v21_private: m2_C1_public = new m2_C1_public(); ->m2_C4_v21_private : Symbol(m2_C4_v21_private, Decl(privacyVar.ts, 94, 54)) +>m2_C4_v21_private : Symbol(m2_C4_public.m2_C4_v21_private, Decl(privacyVar.ts, 94, 54)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) public m2_C4_v22_public: m2_C1_public = new m2_C1_public(); ->m2_C4_v22_public : Symbol(m2_C4_v22_public, Decl(privacyVar.ts, 96, 69)) +>m2_C4_v22_public : Symbol(m2_C4_public.m2_C4_v22_public, Decl(privacyVar.ts, 96, 69)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) >m2_C1_public : Symbol(m2_C1_public, Decl(privacyVar.ts, 59, 11)) private m2_C4_v23_private: m2_C2_private = new m2_C2_private(); ->m2_C4_v23_private : Symbol(m2_C4_v23_private, Decl(privacyVar.ts, 97, 67)) +>m2_C4_v23_private : Symbol(m2_C4_public.m2_C4_v23_private, Decl(privacyVar.ts, 97, 67)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) public m2_C4_v24_public: m2_C2_private = new m2_C2_private(); ->m2_C4_v24_public : Symbol(m2_C4_v24_public, Decl(privacyVar.ts, 98, 71)) +>m2_C4_v24_public : Symbol(m2_C4_public.m2_C4_v24_public, Decl(privacyVar.ts, 98, 71)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) >m2_C2_private : Symbol(m2_C2_private, Decl(privacyVar.ts, 63, 5)) } @@ -363,7 +363,7 @@ export class glo_C1_public { >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private f1() { ->f1 : Symbol(f1, Decl(privacyVar.ts, 118, 28)) +>f1 : Symbol(glo_C1_public.f1, Decl(privacyVar.ts, 118, 28)) } } @@ -375,54 +375,54 @@ export class glo_C3_public { >glo_C3_public : Symbol(glo_C3_public, Decl(privacyVar.ts, 124, 1)) private glo_C3_v1_private: glo_C1_public; ->glo_C3_v1_private : Symbol(glo_C3_v1_private, Decl(privacyVar.ts, 126, 28)) +>glo_C3_v1_private : Symbol(glo_C3_public.glo_C3_v1_private, Decl(privacyVar.ts, 126, 28)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C3_v2_public: glo_C1_public; ->glo_C3_v2_public : Symbol(glo_C3_v2_public, Decl(privacyVar.ts, 127, 45)) +>glo_C3_v2_public : Symbol(glo_C3_public.glo_C3_v2_public, Decl(privacyVar.ts, 127, 45)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C3_v3_private: glo_C2_private; ->glo_C3_v3_private : Symbol(glo_C3_v3_private, Decl(privacyVar.ts, 128, 43)) +>glo_C3_v3_private : Symbol(glo_C3_public.glo_C3_v3_private, Decl(privacyVar.ts, 128, 43)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C3_v4_public: glo_C2_private; //error ->glo_C3_v4_public : Symbol(glo_C3_v4_public, Decl(privacyVar.ts, 129, 46)) +>glo_C3_v4_public : Symbol(glo_C3_public.glo_C3_v4_public, Decl(privacyVar.ts, 129, 46)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) private glo_C3_v11_private = new glo_C1_public(); ->glo_C3_v11_private : Symbol(glo_C3_v11_private, Decl(privacyVar.ts, 130, 44)) +>glo_C3_v11_private : Symbol(glo_C3_public.glo_C3_v11_private, Decl(privacyVar.ts, 130, 44)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C3_v12_public = new glo_C1_public(); ->glo_C3_v12_public : Symbol(glo_C3_v12_public, Decl(privacyVar.ts, 132, 53)) +>glo_C3_v12_public : Symbol(glo_C3_public.glo_C3_v12_public, Decl(privacyVar.ts, 132, 53)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C3_v13_private = new glo_C2_private(); ->glo_C3_v13_private : Symbol(glo_C3_v13_private, Decl(privacyVar.ts, 133, 51)) +>glo_C3_v13_private : Symbol(glo_C3_public.glo_C3_v13_private, Decl(privacyVar.ts, 133, 51)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C3_v14_public = new glo_C2_private(); // error ->glo_C3_v14_public : Symbol(glo_C3_v14_public, Decl(privacyVar.ts, 134, 54)) +>glo_C3_v14_public : Symbol(glo_C3_public.glo_C3_v14_public, Decl(privacyVar.ts, 134, 54)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) private glo_C3_v21_private: glo_C1_public = new glo_C1_public(); ->glo_C3_v21_private : Symbol(glo_C3_v21_private, Decl(privacyVar.ts, 135, 52)) +>glo_C3_v21_private : Symbol(glo_C3_public.glo_C3_v21_private, Decl(privacyVar.ts, 135, 52)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C3_v22_public: glo_C1_public = new glo_C1_public(); ->glo_C3_v22_public : Symbol(glo_C3_v22_public, Decl(privacyVar.ts, 137, 68)) +>glo_C3_v22_public : Symbol(glo_C3_public.glo_C3_v22_public, Decl(privacyVar.ts, 137, 68)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C3_v23_private: glo_C2_private = new glo_C2_private(); ->glo_C3_v23_private : Symbol(glo_C3_v23_private, Decl(privacyVar.ts, 138, 66)) +>glo_C3_v23_private : Symbol(glo_C3_public.glo_C3_v23_private, Decl(privacyVar.ts, 138, 66)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C3_v24_public: glo_C2_private = new glo_C2_private(); //error ->glo_C3_v24_public : Symbol(glo_C3_v24_public, Decl(privacyVar.ts, 139, 70)) +>glo_C3_v24_public : Symbol(glo_C3_public.glo_C3_v24_public, Decl(privacyVar.ts, 139, 70)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) } @@ -431,54 +431,54 @@ class glo_C4_public { >glo_C4_public : Symbol(glo_C4_public, Decl(privacyVar.ts, 141, 1)) private glo_C4_v1_private: glo_C1_public; ->glo_C4_v1_private : Symbol(glo_C4_v1_private, Decl(privacyVar.ts, 143, 21)) +>glo_C4_v1_private : Symbol(glo_C4_public.glo_C4_v1_private, Decl(privacyVar.ts, 143, 21)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C4_v2_public: glo_C1_public; ->glo_C4_v2_public : Symbol(glo_C4_v2_public, Decl(privacyVar.ts, 144, 45)) +>glo_C4_v2_public : Symbol(glo_C4_public.glo_C4_v2_public, Decl(privacyVar.ts, 144, 45)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C4_v3_private: glo_C2_private; ->glo_C4_v3_private : Symbol(glo_C4_v3_private, Decl(privacyVar.ts, 145, 43)) +>glo_C4_v3_private : Symbol(glo_C4_public.glo_C4_v3_private, Decl(privacyVar.ts, 145, 43)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C4_v4_public: glo_C2_private; ->glo_C4_v4_public : Symbol(glo_C4_v4_public, Decl(privacyVar.ts, 146, 46)) +>glo_C4_v4_public : Symbol(glo_C4_public.glo_C4_v4_public, Decl(privacyVar.ts, 146, 46)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) private glo_C4_v11_private = new glo_C1_public(); ->glo_C4_v11_private : Symbol(glo_C4_v11_private, Decl(privacyVar.ts, 147, 44)) +>glo_C4_v11_private : Symbol(glo_C4_public.glo_C4_v11_private, Decl(privacyVar.ts, 147, 44)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C4_v12_public = new glo_C1_public(); ->glo_C4_v12_public : Symbol(glo_C4_v12_public, Decl(privacyVar.ts, 149, 53)) +>glo_C4_v12_public : Symbol(glo_C4_public.glo_C4_v12_public, Decl(privacyVar.ts, 149, 53)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C4_v13_private = new glo_C2_private(); ->glo_C4_v13_private : Symbol(glo_C4_v13_private, Decl(privacyVar.ts, 150, 51)) +>glo_C4_v13_private : Symbol(glo_C4_public.glo_C4_v13_private, Decl(privacyVar.ts, 150, 51)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C4_v14_public = new glo_C2_private(); ->glo_C4_v14_public : Symbol(glo_C4_v14_public, Decl(privacyVar.ts, 151, 54)) +>glo_C4_v14_public : Symbol(glo_C4_public.glo_C4_v14_public, Decl(privacyVar.ts, 151, 54)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) private glo_C4_v21_private: glo_C1_public = new glo_C1_public(); ->glo_C4_v21_private : Symbol(glo_C4_v21_private, Decl(privacyVar.ts, 152, 52)) +>glo_C4_v21_private : Symbol(glo_C4_public.glo_C4_v21_private, Decl(privacyVar.ts, 152, 52)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) public glo_C4_v22_public: glo_C1_public = new glo_C1_public(); ->glo_C4_v22_public : Symbol(glo_C4_v22_public, Decl(privacyVar.ts, 154, 68)) +>glo_C4_v22_public : Symbol(glo_C4_public.glo_C4_v22_public, Decl(privacyVar.ts, 154, 68)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) >glo_C1_public : Symbol(glo_C1_public, Decl(privacyVar.ts, 116, 1)) private glo_C4_v23_private: glo_C2_private = new glo_C2_private(); ->glo_C4_v23_private : Symbol(glo_C4_v23_private, Decl(privacyVar.ts, 155, 66)) +>glo_C4_v23_private : Symbol(glo_C4_public.glo_C4_v23_private, Decl(privacyVar.ts, 155, 66)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) public glo_C4_v24_public: glo_C2_private = new glo_C2_private(); ->glo_C4_v24_public : Symbol(glo_C4_v24_public, Decl(privacyVar.ts, 156, 70)) +>glo_C4_v24_public : Symbol(glo_C4_public.glo_C4_v24_public, Decl(privacyVar.ts, 156, 70)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) >glo_C2_private : Symbol(glo_C2_private, Decl(privacyVar.ts, 121, 1)) } diff --git a/tests/baselines/reference/privateInstanceVisibility.symbols b/tests/baselines/reference/privateInstanceVisibility.symbols index d537c05c798..3304e4b31f3 100644 --- a/tests/baselines/reference/privateInstanceVisibility.symbols +++ b/tests/baselines/reference/privateInstanceVisibility.symbols @@ -6,12 +6,12 @@ module Test { >Example : Symbol(Example, Decl(privateInstanceVisibility.ts, 0, 13)) private someNumber: number; ->someNumber : Symbol(someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) +>someNumber : Symbol(Example.someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) public doSomething() { ->doSomething : Symbol(doSomething, Decl(privateInstanceVisibility.ts, 4, 35)) +>doSomething : Symbol(Example.doSomething, Decl(privateInstanceVisibility.ts, 4, 35)) var that = this; >that : Symbol(that, Decl(privateInstanceVisibility.ts, 10, 15)) @@ -22,9 +22,9 @@ module Test { var num = that.someNumber; >num : Symbol(num, Decl(privateInstanceVisibility.ts, 14, 19)) ->that.someNumber : Symbol(someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) +>that.someNumber : Symbol(Example.someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) >that : Symbol(that, Decl(privateInstanceVisibility.ts, 10, 15)) ->someNumber : Symbol(someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) +>someNumber : Symbol(Example.someNumber, Decl(privateInstanceVisibility.ts, 2, 26)) } @@ -40,26 +40,26 @@ class C { >C : Symbol(C, Decl(privateInstanceVisibility.ts, 22, 1)) private x: number; ->x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) getX() { return this.x; } ->getX : Symbol(getX, Decl(privateInstanceVisibility.ts, 28, 22)) ->this.x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>getX : Symbol(C.getX, Decl(privateInstanceVisibility.ts, 28, 22)) +>this.x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) >this : Symbol(C, Decl(privateInstanceVisibility.ts, 22, 1)) ->x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) clone(other: C) { ->clone : Symbol(clone, Decl(privateInstanceVisibility.ts, 30, 29)) +>clone : Symbol(C.clone, Decl(privateInstanceVisibility.ts, 30, 29)) >other : Symbol(other, Decl(privateInstanceVisibility.ts, 32, 10)) >C : Symbol(C, Decl(privateInstanceVisibility.ts, 22, 1)) this.x = other.x; ->this.x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>this.x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) >this : Symbol(C, Decl(privateInstanceVisibility.ts, 22, 1)) ->x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) ->other.x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) +>other.x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) >other : Symbol(other, Decl(privateInstanceVisibility.ts, 32, 10)) ->x : Symbol(x, Decl(privateInstanceVisibility.ts, 26, 9)) +>x : Symbol(C.x, Decl(privateInstanceVisibility.ts, 26, 9)) } } diff --git a/tests/baselines/reference/privatePropertyUsingObjectType.symbols b/tests/baselines/reference/privatePropertyUsingObjectType.symbols index 094294b6dc0..ac968385afa 100644 --- a/tests/baselines/reference/privatePropertyUsingObjectType.symbols +++ b/tests/baselines/reference/privatePropertyUsingObjectType.symbols @@ -3,22 +3,22 @@ export class FilterManager { >FilterManager : Symbol(FilterManager, Decl(privatePropertyUsingObjectType.ts, 0, 0)) private _filterProviders: { index: IFilterProvider; }; ->_filterProviders : Symbol(_filterProviders, Decl(privatePropertyUsingObjectType.ts, 0, 28)) +>_filterProviders : Symbol(FilterManager._filterProviders, Decl(privatePropertyUsingObjectType.ts, 0, 28)) >index : Symbol(index, Decl(privatePropertyUsingObjectType.ts, 1, 31)) >IFilterProvider : Symbol(IFilterProvider, Decl(privatePropertyUsingObjectType.ts, 5, 1)) private _filterProviders2: { [index: number]: IFilterProvider; }; ->_filterProviders2 : Symbol(_filterProviders2, Decl(privatePropertyUsingObjectType.ts, 1, 58)) +>_filterProviders2 : Symbol(FilterManager._filterProviders2, Decl(privatePropertyUsingObjectType.ts, 1, 58)) >index : Symbol(index, Decl(privatePropertyUsingObjectType.ts, 2, 34)) >IFilterProvider : Symbol(IFilterProvider, Decl(privatePropertyUsingObjectType.ts, 5, 1)) private _filterProviders3: { (index: number): IFilterProvider; }; ->_filterProviders3 : Symbol(_filterProviders3, Decl(privatePropertyUsingObjectType.ts, 2, 69)) +>_filterProviders3 : Symbol(FilterManager._filterProviders3, Decl(privatePropertyUsingObjectType.ts, 2, 69)) >index : Symbol(index, Decl(privatePropertyUsingObjectType.ts, 3, 34)) >IFilterProvider : Symbol(IFilterProvider, Decl(privatePropertyUsingObjectType.ts, 5, 1)) private _filterProviders4: (index: number) => IFilterProvider; ->_filterProviders4 : Symbol(_filterProviders4, Decl(privatePropertyUsingObjectType.ts, 3, 69)) +>_filterProviders4 : Symbol(FilterManager._filterProviders4, Decl(privatePropertyUsingObjectType.ts, 3, 69)) >index : Symbol(index, Decl(privatePropertyUsingObjectType.ts, 4, 32)) >IFilterProvider : Symbol(IFilterProvider, Decl(privatePropertyUsingObjectType.ts, 5, 1)) } diff --git a/tests/baselines/reference/privateVisibles.symbols b/tests/baselines/reference/privateVisibles.symbols index 5dda2315add..0d5d0105737 100644 --- a/tests/baselines/reference/privateVisibles.symbols +++ b/tests/baselines/reference/privateVisibles.symbols @@ -3,21 +3,21 @@ class Foo { >Foo : Symbol(Foo, Decl(privateVisibles.ts, 0, 0)) private pvar = 0; ->pvar : Symbol(pvar, Decl(privateVisibles.ts, 0, 11)) +>pvar : Symbol(Foo.pvar, Decl(privateVisibles.ts, 0, 11)) constructor() { var n = this.pvar; >n : Symbol(n, Decl(privateVisibles.ts, 3, 8)) ->this.pvar : Symbol(pvar, Decl(privateVisibles.ts, 0, 11)) +>this.pvar : Symbol(Foo.pvar, Decl(privateVisibles.ts, 0, 11)) >this : Symbol(Foo, Decl(privateVisibles.ts, 0, 0)) ->pvar : Symbol(pvar, Decl(privateVisibles.ts, 0, 11)) +>pvar : Symbol(Foo.pvar, Decl(privateVisibles.ts, 0, 11)) } public meth() { var q = this.pvar;} ->meth : Symbol(meth, Decl(privateVisibles.ts, 4, 2)) +>meth : Symbol(Foo.meth, Decl(privateVisibles.ts, 4, 2)) >q : Symbol(q, Decl(privateVisibles.ts, 6, 20)) ->this.pvar : Symbol(pvar, Decl(privateVisibles.ts, 0, 11)) +>this.pvar : Symbol(Foo.pvar, Decl(privateVisibles.ts, 0, 11)) >this : Symbol(Foo, Decl(privateVisibles.ts, 0, 0)) ->pvar : Symbol(pvar, Decl(privateVisibles.ts, 0, 11)) +>pvar : Symbol(Foo.pvar, Decl(privateVisibles.ts, 0, 11)) } diff --git a/tests/baselines/reference/promiseChaining.symbols b/tests/baselines/reference/promiseChaining.symbols index f13323742ce..73f0eafd5b4 100644 --- a/tests/baselines/reference/promiseChaining.symbols +++ b/tests/baselines/reference/promiseChaining.symbols @@ -4,11 +4,11 @@ class Chain { >T : Symbol(T, Decl(promiseChaining.ts, 0, 12)) constructor(public value: T) { } ->value : Symbol(value, Decl(promiseChaining.ts, 1, 16)) +>value : Symbol(Chain.value, Decl(promiseChaining.ts, 1, 16)) >T : Symbol(T, Decl(promiseChaining.ts, 0, 12)) then(cb: (x: T) => S): Chain { ->then : Symbol(then, Decl(promiseChaining.ts, 1, 36)) +>then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) >S : Symbol(S, Decl(promiseChaining.ts, 2, 9)) >cb : Symbol(cb, Decl(promiseChaining.ts, 2, 12)) >x : Symbol(x, Decl(promiseChaining.ts, 2, 17)) @@ -20,18 +20,18 @@ class Chain { var result = cb(this.value); >result : Symbol(result, Decl(promiseChaining.ts, 3, 11)) >cb : Symbol(cb, Decl(promiseChaining.ts, 2, 12)) ->this.value : Symbol(value, Decl(promiseChaining.ts, 1, 16)) +>this.value : Symbol(Chain.value, Decl(promiseChaining.ts, 1, 16)) >this : Symbol(Chain, Decl(promiseChaining.ts, 0, 0)) ->value : Symbol(value, Decl(promiseChaining.ts, 1, 16)) +>value : Symbol(Chain.value, Decl(promiseChaining.ts, 1, 16)) // should get a fresh type parameter which each then call var z = this.then(x => result)/*S*/.then(x => "abc")/*string*/.then(x => x.length)/*number*/; // No error >z : Symbol(z, Decl(promiseChaining.ts, 5, 11)) >this.then(x => result)/*S*/.then(x => "abc")/*string*/.then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) >this.then(x => result)/*S*/.then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) ->this.then : Symbol(then, Decl(promiseChaining.ts, 1, 36)) +>this.then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) >this : Symbol(Chain, Decl(promiseChaining.ts, 0, 0)) ->then : Symbol(then, Decl(promiseChaining.ts, 1, 36)) +>then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) >x : Symbol(x, Decl(promiseChaining.ts, 5, 26)) >result : Symbol(result, Decl(promiseChaining.ts, 3, 11)) >then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) diff --git a/tests/baselines/reference/promiseIdentity.symbols b/tests/baselines/reference/promiseIdentity.symbols index 6987154b07f..f1404eaf7b1 100644 --- a/tests/baselines/reference/promiseIdentity.symbols +++ b/tests/baselines/reference/promiseIdentity.symbols @@ -4,7 +4,7 @@ interface IPromise { >T : Symbol(T, Decl(promiseIdentity.ts, 0, 19)) then(callback: (x: T) => IPromise): IPromise; ->then : Symbol(then, Decl(promiseIdentity.ts, 0, 23)) +>then : Symbol(IPromise.then, Decl(promiseIdentity.ts, 0, 23)) >U : Symbol(U, Decl(promiseIdentity.ts, 1, 9)) >callback : Symbol(callback, Decl(promiseIdentity.ts, 1, 12)) >x : Symbol(x, Decl(promiseIdentity.ts, 1, 23)) @@ -19,7 +19,7 @@ interface Promise { >T : Symbol(T, Decl(promiseIdentity.ts, 3, 18)) then(callback: (x: T) => Promise): Promise; ->then : Symbol(then, Decl(promiseIdentity.ts, 3, 22)) +>then : Symbol(Promise.then, Decl(promiseIdentity.ts, 3, 22)) >U : Symbol(U, Decl(promiseIdentity.ts, 4, 9)) >callback : Symbol(callback, Decl(promiseIdentity.ts, 4, 12)) >x : Symbol(x, Decl(promiseIdentity.ts, 4, 23)) @@ -44,7 +44,7 @@ interface IPromise2 { >V : Symbol(V, Decl(promiseIdentity.ts, 10, 22)) then(callback: (x: T) => IPromise2): IPromise2; ->then : Symbol(then, Decl(promiseIdentity.ts, 10, 27)) +>then : Symbol(IPromise2.then, Decl(promiseIdentity.ts, 10, 27)) >U : Symbol(U, Decl(promiseIdentity.ts, 11, 9)) >W : Symbol(W, Decl(promiseIdentity.ts, 11, 11)) >callback : Symbol(callback, Decl(promiseIdentity.ts, 11, 15)) @@ -63,7 +63,7 @@ interface Promise2 { >V : Symbol(V, Decl(promiseIdentity.ts, 13, 21)) then(callback: (x: V) => Promise2): Promise2; // Uses V instead of T in callback's parameter ->then : Symbol(then, Decl(promiseIdentity.ts, 13, 26)) +>then : Symbol(Promise2.then, Decl(promiseIdentity.ts, 13, 26)) >U : Symbol(U, Decl(promiseIdentity.ts, 14, 9)) >W : Symbol(W, Decl(promiseIdentity.ts, 14, 11)) >callback : Symbol(callback, Decl(promiseIdentity.ts, 14, 15)) diff --git a/tests/baselines/reference/promiseIdentityWithAny.symbols b/tests/baselines/reference/promiseIdentityWithAny.symbols index fedac33e280..8bcf096a0a3 100644 --- a/tests/baselines/reference/promiseIdentityWithAny.symbols +++ b/tests/baselines/reference/promiseIdentityWithAny.symbols @@ -5,7 +5,7 @@ interface IPromise { >V : Symbol(V, Decl(promiseIdentityWithAny.ts, 0, 21)) then(callback: (x: T) => IPromise): IPromise; ->then : Symbol(then, Decl(promiseIdentityWithAny.ts, 0, 26)) +>then : Symbol(IPromise.then, Decl(promiseIdentityWithAny.ts, 0, 26)) >U : Symbol(U, Decl(promiseIdentityWithAny.ts, 1, 9)) >W : Symbol(W, Decl(promiseIdentityWithAny.ts, 1, 11)) >callback : Symbol(callback, Decl(promiseIdentityWithAny.ts, 1, 15)) @@ -24,7 +24,7 @@ interface Promise { >V : Symbol(V, Decl(promiseIdentityWithAny.ts, 3, 20)) then(callback: (x: T) => Promise): Promise; ->then : Symbol(then, Decl(promiseIdentityWithAny.ts, 3, 25)) +>then : Symbol(Promise.then, Decl(promiseIdentityWithAny.ts, 3, 25)) >U : Symbol(U, Decl(promiseIdentityWithAny.ts, 4, 9)) >W : Symbol(W, Decl(promiseIdentityWithAny.ts, 4, 11)) >callback : Symbol(callback, Decl(promiseIdentityWithAny.ts, 4, 15)) diff --git a/tests/baselines/reference/promiseIdentityWithConstraints.symbols b/tests/baselines/reference/promiseIdentityWithConstraints.symbols index b3f481c9e7c..00308362b18 100644 --- a/tests/baselines/reference/promiseIdentityWithConstraints.symbols +++ b/tests/baselines/reference/promiseIdentityWithConstraints.symbols @@ -5,7 +5,7 @@ interface IPromise { >V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 0, 21)) then(callback: (x: T) => IPromise): IPromise; ->then : Symbol(then, Decl(promiseIdentityWithConstraints.ts, 0, 26)) +>then : Symbol(IPromise.then, Decl(promiseIdentityWithConstraints.ts, 0, 26)) >U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 1, 9)) >T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 0, 19)) >W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 1, 21)) @@ -26,7 +26,7 @@ interface Promise { >V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 3, 20)) then(callback: (x: T) => Promise): Promise; ->then : Symbol(then, Decl(promiseIdentityWithConstraints.ts, 3, 25)) +>then : Symbol(Promise.then, Decl(promiseIdentityWithConstraints.ts, 3, 25)) >U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 4, 9)) >T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 3, 18)) >W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 4, 21)) diff --git a/tests/baselines/reference/promiseTest.symbols b/tests/baselines/reference/promiseTest.symbols index 229d3e089d0..6cf4ff98d8f 100644 --- a/tests/baselines/reference/promiseTest.symbols +++ b/tests/baselines/reference/promiseTest.symbols @@ -5,7 +5,7 @@ interface Promise { >T : Symbol(T, Decl(promiseTest.ts, 1, 18)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60)) +>then : Symbol(Promise.then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60)) >A : Symbol(A, Decl(promiseTest.ts, 2, 9)) >success : Symbol(success, Decl(promiseTest.ts, 2, 12)) >value : Symbol(value, Decl(promiseTest.ts, 2, 23)) @@ -16,7 +16,7 @@ interface Promise { >A : Symbol(A, Decl(promiseTest.ts, 2, 9)) then(success?: (value: T) => B): Promise; ->then : Symbol(then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60)) +>then : Symbol(Promise.then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60)) >B : Symbol(B, Decl(promiseTest.ts, 3, 9)) >success : Symbol(success, Decl(promiseTest.ts, 3, 12)) >value : Symbol(value, Decl(promiseTest.ts, 3, 23)) @@ -26,7 +26,7 @@ interface Promise { >B : Symbol(B, Decl(promiseTest.ts, 3, 9)) data: T; ->data : Symbol(data, Decl(promiseTest.ts, 3, 51)) +>data : Symbol(Promise.data, Decl(promiseTest.ts, 3, 51)) >T : Symbol(T, Decl(promiseTest.ts, 1, 18)) } diff --git a/tests/baselines/reference/promiseTypeInference.symbols b/tests/baselines/reference/promiseTypeInference.symbols index 14a77b9cdf2..1dcf037b8b3 100644 --- a/tests/baselines/reference/promiseTypeInference.symbols +++ b/tests/baselines/reference/promiseTypeInference.symbols @@ -4,7 +4,7 @@ declare class Promise { >T : Symbol(T, Decl(promiseTypeInference.ts, 0, 22)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(then, Decl(promiseTypeInference.ts, 0, 26)) +>then : Symbol(Promise.then, Decl(promiseTypeInference.ts, 0, 26)) >U : Symbol(U, Decl(promiseTypeInference.ts, 1, 9)) >success : Symbol(success, Decl(promiseTypeInference.ts, 1, 12)) >value : Symbol(value, Decl(promiseTypeInference.ts, 1, 23)) @@ -19,7 +19,7 @@ interface IPromise { >T : Symbol(T, Decl(promiseTypeInference.ts, 3, 19)) then(success?: (value: T) => IPromise): IPromise; ->then : Symbol(then, Decl(promiseTypeInference.ts, 3, 23)) +>then : Symbol(IPromise.then, Decl(promiseTypeInference.ts, 3, 23)) >U : Symbol(U, Decl(promiseTypeInference.ts, 4, 9)) >success : Symbol(success, Decl(promiseTypeInference.ts, 4, 12)) >value : Symbol(value, Decl(promiseTypeInference.ts, 4, 23)) diff --git a/tests/baselines/reference/promiseVoidErrorCallback.symbols b/tests/baselines/reference/promiseVoidErrorCallback.symbols index 93e86b9ec2e..500f8e14b79 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.symbols +++ b/tests/baselines/reference/promiseVoidErrorCallback.symbols @@ -3,21 +3,21 @@ interface T1 { >T1 : Symbol(T1, Decl(promiseVoidErrorCallback.ts, 0, 0)) __t1: string; ->__t1 : Symbol(__t1, Decl(promiseVoidErrorCallback.ts, 0, 14)) +>__t1 : Symbol(T1.__t1, Decl(promiseVoidErrorCallback.ts, 0, 14)) } interface T2 { >T2 : Symbol(T2, Decl(promiseVoidErrorCallback.ts, 2, 1)) __t2: string; ->__t2 : Symbol(__t2, Decl(promiseVoidErrorCallback.ts, 4, 14)) +>__t2 : Symbol(T2.__t2, Decl(promiseVoidErrorCallback.ts, 4, 14)) } interface T3 { >T3 : Symbol(T3, Decl(promiseVoidErrorCallback.ts, 6, 1)) __t3: string; ->__t3 : Symbol(__t3, Decl(promiseVoidErrorCallback.ts, 8, 14)) +>__t3 : Symbol(T3.__t3, Decl(promiseVoidErrorCallback.ts, 8, 14)) } function f1(): Promise { diff --git a/tests/baselines/reference/promises.symbols b/tests/baselines/reference/promises.symbols index 9c25dc8ad28..623a9cfb20a 100644 --- a/tests/baselines/reference/promises.symbols +++ b/tests/baselines/reference/promises.symbols @@ -4,7 +4,7 @@ interface Promise { >T : Symbol(T, Decl(promises.ts, 0, 18)) then(success?: (value: T) => U): Promise; ->then : Symbol(then, Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) +>then : Symbol(Promise.then, Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) >U : Symbol(U, Decl(promises.ts, 1, 9)) >success : Symbol(success, Decl(promises.ts, 1, 12)) >value : Symbol(value, Decl(promises.ts, 1, 23)) @@ -14,7 +14,7 @@ interface Promise { >U : Symbol(U, Decl(promises.ts, 1, 9)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(then, Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) +>then : Symbol(Promise.then, Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) >U : Symbol(U, Decl(promises.ts, 2, 9)) >success : Symbol(success, Decl(promises.ts, 2, 12)) >value : Symbol(value, Decl(promises.ts, 2, 23)) @@ -25,7 +25,7 @@ interface Promise { >U : Symbol(U, Decl(promises.ts, 2, 9)) value: T; ->value : Symbol(value, Decl(promises.ts, 2, 60)) +>value : Symbol(Promise.value, Decl(promises.ts, 2, 60)) >T : Symbol(T, Decl(promises.ts, 0, 18)) } diff --git a/tests/baselines/reference/promisesWithConstraints.symbols b/tests/baselines/reference/promisesWithConstraints.symbols index 055f67cadc1..a180a26135c 100644 --- a/tests/baselines/reference/promisesWithConstraints.symbols +++ b/tests/baselines/reference/promisesWithConstraints.symbols @@ -4,7 +4,7 @@ interface Promise { >T : Symbol(T, Decl(promisesWithConstraints.ts, 0, 18)) then(cb: (x: T) => Promise): Promise; ->then : Symbol(then, Decl(promisesWithConstraints.ts, 0, 22)) +>then : Symbol(Promise.then, Decl(promisesWithConstraints.ts, 0, 22)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 1, 9)) >cb : Symbol(cb, Decl(promisesWithConstraints.ts, 1, 12)) >x : Symbol(x, Decl(promisesWithConstraints.ts, 1, 17)) @@ -21,7 +21,7 @@ interface CPromise { >x : Symbol(x, Decl(promisesWithConstraints.ts, 4, 30)) then(cb: (x: T) => Promise): Promise; ->then : Symbol(then, Decl(promisesWithConstraints.ts, 4, 43)) +>then : Symbol(CPromise.then, Decl(promisesWithConstraints.ts, 4, 43)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 5, 9)) >x : Symbol(x, Decl(promisesWithConstraints.ts, 5, 20)) >cb : Symbol(cb, Decl(promisesWithConstraints.ts, 5, 32)) @@ -35,12 +35,12 @@ interface CPromise { interface Foo { x; } >Foo : Symbol(Foo, Decl(promisesWithConstraints.ts, 6, 1)) ->x : Symbol(x, Decl(promisesWithConstraints.ts, 8, 15)) +>x : Symbol(Foo.x, Decl(promisesWithConstraints.ts, 8, 15)) interface Bar { x; y; } >Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 20)) ->x : Symbol(x, Decl(promisesWithConstraints.ts, 9, 15)) ->y : Symbol(y, Decl(promisesWithConstraints.ts, 9, 18)) +>x : Symbol(Bar.x, Decl(promisesWithConstraints.ts, 9, 15)) +>y : Symbol(Bar.y, Decl(promisesWithConstraints.ts, 9, 18)) var a: Promise; >a : Symbol(a, Decl(promisesWithConstraints.ts, 11, 3)) diff --git a/tests/baselines/reference/propagationOfPromiseInitialization.symbols b/tests/baselines/reference/propagationOfPromiseInitialization.symbols index 25527f05809..ce60dd5818d 100644 --- a/tests/baselines/reference/propagationOfPromiseInitialization.symbols +++ b/tests/baselines/reference/propagationOfPromiseInitialization.symbols @@ -4,7 +4,7 @@ interface IPromise { >T : Symbol(T, Decl(propagationOfPromiseInitialization.ts, 0, 19)) then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult): IPromise; ->then : Symbol(then, Decl(propagationOfPromiseInitialization.ts, 0, 23)) +>then : Symbol(IPromise.then, Decl(propagationOfPromiseInitialization.ts, 0, 23)) >TResult : Symbol(TResult, Decl(propagationOfPromiseInitialization.ts, 1, 9)) >successCallback : Symbol(successCallback, Decl(propagationOfPromiseInitialization.ts, 1, 18)) >promiseValue : Symbol(promiseValue, Decl(propagationOfPromiseInitialization.ts, 1, 36)) diff --git a/tests/baselines/reference/properties.symbols b/tests/baselines/reference/properties.symbols index 6e344f03934..c322e5ecfb2 100644 --- a/tests/baselines/reference/properties.symbols +++ b/tests/baselines/reference/properties.symbols @@ -4,13 +4,13 @@ class MyClass >MyClass : Symbol(MyClass, Decl(properties.ts, 0, 0)) { public get Count(): number ->Count : Symbol(Count, Decl(properties.ts, 2, 1), Decl(properties.ts, 6, 5)) +>Count : Symbol(MyClass.Count, Decl(properties.ts, 2, 1), Decl(properties.ts, 6, 5)) { return 42; } public set Count(value: number) ->Count : Symbol(Count, Decl(properties.ts, 2, 1), Decl(properties.ts, 6, 5)) +>Count : Symbol(MyClass.Count, Decl(properties.ts, 2, 1), Decl(properties.ts, 6, 5)) >value : Symbol(value, Decl(properties.ts, 8, 21)) { // diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols index bf5cb72a708..b9287f343f7 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols @@ -8,7 +8,7 @@ class C { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) f() { ->f : Symbol(f, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 25)) +>f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 25)) var x: T; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 5, 11)) @@ -40,7 +40,7 @@ interface I { >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) foo: T; ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) +>foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 12)) } var i: I; diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.symbols index 29a3b30d450..e535e3e7e71 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 0, 0)) foo(): string { return ''; } ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 2, 9)) } class B extends A { @@ -13,7 +13,7 @@ class B extends A { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 0, 0)) bar(): string { ->bar : Symbol(bar, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 6, 19)) +>bar : Symbol(B.bar, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 6, 19)) return ''; } @@ -27,7 +27,7 @@ class C { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 0, 0)) f() { ->f : Symbol(f, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 12, 35)) +>f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 12, 35)) var x: U; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 14, 11)) @@ -46,7 +46,7 @@ class C { } g(x: U) { ->g : Symbol(g, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 17, 5)) +>g : Symbol(C.g, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 17, 5)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 19, 6)) >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 12, 8)) @@ -100,7 +100,7 @@ interface I { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 0, 0)) foo: U; ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 40, 39)) +>foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 40, 39)) >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints2.ts, 40, 12)) } //interface I { diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.symbols index 6d1074b14f6..c651871a7e3 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.symbols @@ -5,7 +5,7 @@ class A { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 0, 0)) foo(): string { return ''; } ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 2, 9)) +>foo : Symbol(A.foo, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 2, 9)) } class B extends A { @@ -13,7 +13,7 @@ class B extends A { >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 0, 0)) bar(): string { ->bar : Symbol(bar, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 6, 19)) +>bar : Symbol(B.bar, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 6, 19)) return ''; } @@ -27,7 +27,7 @@ class C { >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 12, 8)) f() { ->f : Symbol(f, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 12, 35)) +>f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 12, 35)) var x: T; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 14, 11)) @@ -47,7 +47,7 @@ class C { } g(x: U) { ->g : Symbol(g, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 18, 5)) +>g : Symbol(C.g, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 18, 5)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 20, 6)) >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 12, 8)) @@ -90,7 +90,7 @@ interface I { >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 30, 12)) foo: T; ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 30, 39)) +>foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 30, 39)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints3.ts, 30, 24)) } var i: I; diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols index 7417346a791..4ae9957f41e 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 0, 8)) f() { ->f : Symbol(f, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 0, 12)) +>f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 0, 12)) var x: T; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 2, 11)) @@ -34,7 +34,7 @@ interface I { >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 12)) foo: T; ->foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) +>foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 12)) } var i: I; diff --git a/tests/baselines/reference/propertyNameWithoutTypeAnnotation.symbols b/tests/baselines/reference/propertyNameWithoutTypeAnnotation.symbols index 45840561fa7..3c430005fca 100644 --- a/tests/baselines/reference/propertyNameWithoutTypeAnnotation.symbols +++ b/tests/baselines/reference/propertyNameWithoutTypeAnnotation.symbols @@ -3,14 +3,14 @@ class C { >C : Symbol(C, Decl(propertyNameWithoutTypeAnnotation.ts, 0, 0)) foo; ->foo : Symbol(foo, Decl(propertyNameWithoutTypeAnnotation.ts, 0, 9)) +>foo : Symbol(C.foo, Decl(propertyNameWithoutTypeAnnotation.ts, 0, 9)) } interface I { >I : Symbol(I, Decl(propertyNameWithoutTypeAnnotation.ts, 2, 1)) foo; ->foo : Symbol(foo, Decl(propertyNameWithoutTypeAnnotation.ts, 4, 13)) +>foo : Symbol(I.foo, Decl(propertyNameWithoutTypeAnnotation.ts, 4, 13)) } var a: { diff --git a/tests/baselines/reference/propertyNamesOfReservedWords.symbols b/tests/baselines/reference/propertyNamesOfReservedWords.symbols index 591fae05bd5..1ee7ee58595 100644 --- a/tests/baselines/reference/propertyNamesOfReservedWords.symbols +++ b/tests/baselines/reference/propertyNamesOfReservedWords.symbols @@ -3,193 +3,193 @@ class C { >C : Symbol(C, Decl(propertyNamesOfReservedWords.ts, 0, 0)) abstract; ->abstract : Symbol(abstract, Decl(propertyNamesOfReservedWords.ts, 0, 9)) +>abstract : Symbol(C.abstract, Decl(propertyNamesOfReservedWords.ts, 0, 9)) as; ->as : Symbol(as, Decl(propertyNamesOfReservedWords.ts, 1, 13)) +>as : Symbol(C.as, Decl(propertyNamesOfReservedWords.ts, 1, 13)) boolean; ->boolean : Symbol(boolean, Decl(propertyNamesOfReservedWords.ts, 2, 7)) +>boolean : Symbol(C.boolean, Decl(propertyNamesOfReservedWords.ts, 2, 7)) break; ->break : Symbol(break, Decl(propertyNamesOfReservedWords.ts, 3, 12)) +>break : Symbol(C.break, Decl(propertyNamesOfReservedWords.ts, 3, 12)) byte; ->byte : Symbol(byte, Decl(propertyNamesOfReservedWords.ts, 4, 10)) +>byte : Symbol(C.byte, Decl(propertyNamesOfReservedWords.ts, 4, 10)) case; ->case : Symbol(case, Decl(propertyNamesOfReservedWords.ts, 5, 9)) +>case : Symbol(C.case, Decl(propertyNamesOfReservedWords.ts, 5, 9)) catch; ->catch : Symbol(catch, Decl(propertyNamesOfReservedWords.ts, 6, 9)) +>catch : Symbol(C.catch, Decl(propertyNamesOfReservedWords.ts, 6, 9)) char; ->char : Symbol(char, Decl(propertyNamesOfReservedWords.ts, 7, 10)) +>char : Symbol(C.char, Decl(propertyNamesOfReservedWords.ts, 7, 10)) class; ->class : Symbol(class, Decl(propertyNamesOfReservedWords.ts, 8, 9)) +>class : Symbol(C.class, Decl(propertyNamesOfReservedWords.ts, 8, 9)) continue; ->continue : Symbol(continue, Decl(propertyNamesOfReservedWords.ts, 9, 10)) +>continue : Symbol(C.continue, Decl(propertyNamesOfReservedWords.ts, 9, 10)) const; ->const : Symbol(const, Decl(propertyNamesOfReservedWords.ts, 10, 13)) +>const : Symbol(C.const, Decl(propertyNamesOfReservedWords.ts, 10, 13)) debugger; ->debugger : Symbol(debugger, Decl(propertyNamesOfReservedWords.ts, 11, 10)) +>debugger : Symbol(C.debugger, Decl(propertyNamesOfReservedWords.ts, 11, 10)) default; ->default : Symbol(default, Decl(propertyNamesOfReservedWords.ts, 12, 13)) +>default : Symbol(C.default, Decl(propertyNamesOfReservedWords.ts, 12, 13)) delete; ->delete : Symbol(delete, Decl(propertyNamesOfReservedWords.ts, 13, 12)) +>delete : Symbol(C.delete, Decl(propertyNamesOfReservedWords.ts, 13, 12)) do; ->do : Symbol(do, Decl(propertyNamesOfReservedWords.ts, 14, 11)) +>do : Symbol(C.do, Decl(propertyNamesOfReservedWords.ts, 14, 11)) double; ->double : Symbol(double, Decl(propertyNamesOfReservedWords.ts, 15, 7)) +>double : Symbol(C.double, Decl(propertyNamesOfReservedWords.ts, 15, 7)) else; ->else : Symbol(else, Decl(propertyNamesOfReservedWords.ts, 16, 11)) +>else : Symbol(C.else, Decl(propertyNamesOfReservedWords.ts, 16, 11)) enum; ->enum : Symbol(enum, Decl(propertyNamesOfReservedWords.ts, 17, 9)) +>enum : Symbol(C.enum, Decl(propertyNamesOfReservedWords.ts, 17, 9)) export; ->export : Symbol(export, Decl(propertyNamesOfReservedWords.ts, 18, 9)) +>export : Symbol(C.export, Decl(propertyNamesOfReservedWords.ts, 18, 9)) extends; ->extends : Symbol(extends, Decl(propertyNamesOfReservedWords.ts, 19, 11)) +>extends : Symbol(C.extends, Decl(propertyNamesOfReservedWords.ts, 19, 11)) false; ->false : Symbol(false, Decl(propertyNamesOfReservedWords.ts, 20, 12)) +>false : Symbol(C.false, Decl(propertyNamesOfReservedWords.ts, 20, 12)) final; ->final : Symbol(final, Decl(propertyNamesOfReservedWords.ts, 21, 10)) +>final : Symbol(C.final, Decl(propertyNamesOfReservedWords.ts, 21, 10)) finally; ->finally : Symbol(finally, Decl(propertyNamesOfReservedWords.ts, 22, 10)) +>finally : Symbol(C.finally, Decl(propertyNamesOfReservedWords.ts, 22, 10)) float; ->float : Symbol(float, Decl(propertyNamesOfReservedWords.ts, 23, 12)) +>float : Symbol(C.float, Decl(propertyNamesOfReservedWords.ts, 23, 12)) for; ->for : Symbol(for, Decl(propertyNamesOfReservedWords.ts, 24, 10)) +>for : Symbol(C.for, Decl(propertyNamesOfReservedWords.ts, 24, 10)) function; ->function : Symbol(function, Decl(propertyNamesOfReservedWords.ts, 25, 8)) +>function : Symbol(C.function, Decl(propertyNamesOfReservedWords.ts, 25, 8)) goto; ->goto : Symbol(goto, Decl(propertyNamesOfReservedWords.ts, 26, 13)) +>goto : Symbol(C.goto, Decl(propertyNamesOfReservedWords.ts, 26, 13)) if; ->if : Symbol(if, Decl(propertyNamesOfReservedWords.ts, 27, 9)) +>if : Symbol(C.if, Decl(propertyNamesOfReservedWords.ts, 27, 9)) implements; ->implements : Symbol(implements, Decl(propertyNamesOfReservedWords.ts, 28, 7)) +>implements : Symbol(C.implements, Decl(propertyNamesOfReservedWords.ts, 28, 7)) import; ->import : Symbol(import, Decl(propertyNamesOfReservedWords.ts, 29, 15)) +>import : Symbol(C.import, Decl(propertyNamesOfReservedWords.ts, 29, 15)) in; ->in : Symbol(in, Decl(propertyNamesOfReservedWords.ts, 30, 11)) +>in : Symbol(C.in, Decl(propertyNamesOfReservedWords.ts, 30, 11)) instanceof; ->instanceof : Symbol(instanceof, Decl(propertyNamesOfReservedWords.ts, 31, 7)) +>instanceof : Symbol(C.instanceof, Decl(propertyNamesOfReservedWords.ts, 31, 7)) int; ->int : Symbol(int, Decl(propertyNamesOfReservedWords.ts, 32, 15)) +>int : Symbol(C.int, Decl(propertyNamesOfReservedWords.ts, 32, 15)) interface; ->interface : Symbol(interface, Decl(propertyNamesOfReservedWords.ts, 33, 8)) +>interface : Symbol(C.interface, Decl(propertyNamesOfReservedWords.ts, 33, 8)) is; ->is : Symbol(is, Decl(propertyNamesOfReservedWords.ts, 34, 14)) +>is : Symbol(C.is, Decl(propertyNamesOfReservedWords.ts, 34, 14)) long; ->long : Symbol(long, Decl(propertyNamesOfReservedWords.ts, 35, 7)) +>long : Symbol(C.long, Decl(propertyNamesOfReservedWords.ts, 35, 7)) namespace; ->namespace : Symbol(namespace, Decl(propertyNamesOfReservedWords.ts, 36, 9)) +>namespace : Symbol(C.namespace, Decl(propertyNamesOfReservedWords.ts, 36, 9)) native; ->native : Symbol(native, Decl(propertyNamesOfReservedWords.ts, 37, 14)) +>native : Symbol(C.native, Decl(propertyNamesOfReservedWords.ts, 37, 14)) new; ->new : Symbol(new, Decl(propertyNamesOfReservedWords.ts, 38, 11)) +>new : Symbol(C.new, Decl(propertyNamesOfReservedWords.ts, 38, 11)) null; ->null : Symbol(null, Decl(propertyNamesOfReservedWords.ts, 39, 8)) +>null : Symbol(C.null, Decl(propertyNamesOfReservedWords.ts, 39, 8)) package; ->package : Symbol(package, Decl(propertyNamesOfReservedWords.ts, 40, 9)) +>package : Symbol(C.package, Decl(propertyNamesOfReservedWords.ts, 40, 9)) private; ->private : Symbol(private, Decl(propertyNamesOfReservedWords.ts, 41, 12)) +>private : Symbol(C.private, Decl(propertyNamesOfReservedWords.ts, 41, 12)) protected; ->protected : Symbol(protected, Decl(propertyNamesOfReservedWords.ts, 42, 12)) +>protected : Symbol(C.protected, Decl(propertyNamesOfReservedWords.ts, 42, 12)) public; ->public : Symbol(public, Decl(propertyNamesOfReservedWords.ts, 43, 14)) +>public : Symbol(C.public, Decl(propertyNamesOfReservedWords.ts, 43, 14)) return; ->return : Symbol(return, Decl(propertyNamesOfReservedWords.ts, 44, 11)) +>return : Symbol(C.return, Decl(propertyNamesOfReservedWords.ts, 44, 11)) short; ->short : Symbol(short, Decl(propertyNamesOfReservedWords.ts, 45, 11)) +>short : Symbol(C.short, Decl(propertyNamesOfReservedWords.ts, 45, 11)) static; ->static : Symbol(static, Decl(propertyNamesOfReservedWords.ts, 46, 10)) +>static : Symbol(C.static, Decl(propertyNamesOfReservedWords.ts, 46, 10)) super; ->super : Symbol(super, Decl(propertyNamesOfReservedWords.ts, 47, 11)) +>super : Symbol(C.super, Decl(propertyNamesOfReservedWords.ts, 47, 11)) switch; ->switch : Symbol(switch, Decl(propertyNamesOfReservedWords.ts, 48, 10)) +>switch : Symbol(C.switch, Decl(propertyNamesOfReservedWords.ts, 48, 10)) synchronized; ->synchronized : Symbol(synchronized, Decl(propertyNamesOfReservedWords.ts, 49, 11)) +>synchronized : Symbol(C.synchronized, Decl(propertyNamesOfReservedWords.ts, 49, 11)) this; ->this : Symbol(this, Decl(propertyNamesOfReservedWords.ts, 50, 17)) +>this : Symbol(C.this, Decl(propertyNamesOfReservedWords.ts, 50, 17)) throw; ->throw : Symbol(throw, Decl(propertyNamesOfReservedWords.ts, 51, 9)) +>throw : Symbol(C.throw, Decl(propertyNamesOfReservedWords.ts, 51, 9)) throws; ->throws : Symbol(throws, Decl(propertyNamesOfReservedWords.ts, 52, 10)) +>throws : Symbol(C.throws, Decl(propertyNamesOfReservedWords.ts, 52, 10)) transient; ->transient : Symbol(transient, Decl(propertyNamesOfReservedWords.ts, 53, 11)) +>transient : Symbol(C.transient, Decl(propertyNamesOfReservedWords.ts, 53, 11)) true; ->true : Symbol(true, Decl(propertyNamesOfReservedWords.ts, 54, 14)) +>true : Symbol(C.true, Decl(propertyNamesOfReservedWords.ts, 54, 14)) try; ->try : Symbol(try, Decl(propertyNamesOfReservedWords.ts, 55, 9)) +>try : Symbol(C.try, Decl(propertyNamesOfReservedWords.ts, 55, 9)) typeof; ->typeof : Symbol(typeof, Decl(propertyNamesOfReservedWords.ts, 56, 8)) +>typeof : Symbol(C.typeof, Decl(propertyNamesOfReservedWords.ts, 56, 8)) use; ->use : Symbol(use, Decl(propertyNamesOfReservedWords.ts, 57, 11)) +>use : Symbol(C.use, Decl(propertyNamesOfReservedWords.ts, 57, 11)) var; ->var : Symbol(var, Decl(propertyNamesOfReservedWords.ts, 58, 8)) +>var : Symbol(C.var, Decl(propertyNamesOfReservedWords.ts, 58, 8)) void; ->void : Symbol(void, Decl(propertyNamesOfReservedWords.ts, 59, 8)) +>void : Symbol(C.void, Decl(propertyNamesOfReservedWords.ts, 59, 8)) volatile; ->volatile : Symbol(volatile, Decl(propertyNamesOfReservedWords.ts, 60, 9)) +>volatile : Symbol(C.volatile, Decl(propertyNamesOfReservedWords.ts, 60, 9)) while; ->while : Symbol(while, Decl(propertyNamesOfReservedWords.ts, 61, 13)) +>while : Symbol(C.while, Decl(propertyNamesOfReservedWords.ts, 61, 13)) with; ->with : Symbol(with, Decl(propertyNamesOfReservedWords.ts, 62, 10)) +>with : Symbol(C.with, Decl(propertyNamesOfReservedWords.ts, 62, 10)) } var c: C; >c : Symbol(c, Decl(propertyNamesOfReservedWords.ts, 65, 3)) @@ -211,193 +211,193 @@ interface I { >I : Symbol(I, Decl(propertyNamesOfReservedWords.ts, 67, 14)) abstract; ->abstract : Symbol(abstract, Decl(propertyNamesOfReservedWords.ts, 69, 13)) +>abstract : Symbol(I.abstract, Decl(propertyNamesOfReservedWords.ts, 69, 13)) as; ->as : Symbol(as, Decl(propertyNamesOfReservedWords.ts, 70, 13)) +>as : Symbol(I.as, Decl(propertyNamesOfReservedWords.ts, 70, 13)) boolean; ->boolean : Symbol(boolean, Decl(propertyNamesOfReservedWords.ts, 71, 7)) +>boolean : Symbol(I.boolean, Decl(propertyNamesOfReservedWords.ts, 71, 7)) break; ->break : Symbol(break, Decl(propertyNamesOfReservedWords.ts, 72, 12)) +>break : Symbol(I.break, Decl(propertyNamesOfReservedWords.ts, 72, 12)) byte; ->byte : Symbol(byte, Decl(propertyNamesOfReservedWords.ts, 73, 10)) +>byte : Symbol(I.byte, Decl(propertyNamesOfReservedWords.ts, 73, 10)) case; ->case : Symbol(case, Decl(propertyNamesOfReservedWords.ts, 74, 9)) +>case : Symbol(I.case, Decl(propertyNamesOfReservedWords.ts, 74, 9)) catch; ->catch : Symbol(catch, Decl(propertyNamesOfReservedWords.ts, 75, 9)) +>catch : Symbol(I.catch, Decl(propertyNamesOfReservedWords.ts, 75, 9)) char; ->char : Symbol(char, Decl(propertyNamesOfReservedWords.ts, 76, 10)) +>char : Symbol(I.char, Decl(propertyNamesOfReservedWords.ts, 76, 10)) class; ->class : Symbol(class, Decl(propertyNamesOfReservedWords.ts, 77, 9)) +>class : Symbol(I.class, Decl(propertyNamesOfReservedWords.ts, 77, 9)) continue; ->continue : Symbol(continue, Decl(propertyNamesOfReservedWords.ts, 78, 10)) +>continue : Symbol(I.continue, Decl(propertyNamesOfReservedWords.ts, 78, 10)) const; ->const : Symbol(const, Decl(propertyNamesOfReservedWords.ts, 79, 13)) +>const : Symbol(I.const, Decl(propertyNamesOfReservedWords.ts, 79, 13)) debugger; ->debugger : Symbol(debugger, Decl(propertyNamesOfReservedWords.ts, 80, 10)) +>debugger : Symbol(I.debugger, Decl(propertyNamesOfReservedWords.ts, 80, 10)) default; ->default : Symbol(default, Decl(propertyNamesOfReservedWords.ts, 81, 13)) +>default : Symbol(I.default, Decl(propertyNamesOfReservedWords.ts, 81, 13)) delete; ->delete : Symbol(delete, Decl(propertyNamesOfReservedWords.ts, 82, 12)) +>delete : Symbol(I.delete, Decl(propertyNamesOfReservedWords.ts, 82, 12)) do; ->do : Symbol(do, Decl(propertyNamesOfReservedWords.ts, 83, 11)) +>do : Symbol(I.do, Decl(propertyNamesOfReservedWords.ts, 83, 11)) double; ->double : Symbol(double, Decl(propertyNamesOfReservedWords.ts, 84, 7)) +>double : Symbol(I.double, Decl(propertyNamesOfReservedWords.ts, 84, 7)) else; ->else : Symbol(else, Decl(propertyNamesOfReservedWords.ts, 85, 11)) +>else : Symbol(I.else, Decl(propertyNamesOfReservedWords.ts, 85, 11)) enum; ->enum : Symbol(enum, Decl(propertyNamesOfReservedWords.ts, 86, 9)) +>enum : Symbol(I.enum, Decl(propertyNamesOfReservedWords.ts, 86, 9)) export; ->export : Symbol(export, Decl(propertyNamesOfReservedWords.ts, 87, 9)) +>export : Symbol(I.export, Decl(propertyNamesOfReservedWords.ts, 87, 9)) extends; ->extends : Symbol(extends, Decl(propertyNamesOfReservedWords.ts, 88, 11)) +>extends : Symbol(I.extends, Decl(propertyNamesOfReservedWords.ts, 88, 11)) false; ->false : Symbol(false, Decl(propertyNamesOfReservedWords.ts, 89, 12)) +>false : Symbol(I.false, Decl(propertyNamesOfReservedWords.ts, 89, 12)) final; ->final : Symbol(final, Decl(propertyNamesOfReservedWords.ts, 90, 10)) +>final : Symbol(I.final, Decl(propertyNamesOfReservedWords.ts, 90, 10)) finally; ->finally : Symbol(finally, Decl(propertyNamesOfReservedWords.ts, 91, 10)) +>finally : Symbol(I.finally, Decl(propertyNamesOfReservedWords.ts, 91, 10)) float; ->float : Symbol(float, Decl(propertyNamesOfReservedWords.ts, 92, 12)) +>float : Symbol(I.float, Decl(propertyNamesOfReservedWords.ts, 92, 12)) for; ->for : Symbol(for, Decl(propertyNamesOfReservedWords.ts, 93, 10)) +>for : Symbol(I.for, Decl(propertyNamesOfReservedWords.ts, 93, 10)) function; ->function : Symbol(function, Decl(propertyNamesOfReservedWords.ts, 94, 8)) +>function : Symbol(I.function, Decl(propertyNamesOfReservedWords.ts, 94, 8)) goto; ->goto : Symbol(goto, Decl(propertyNamesOfReservedWords.ts, 95, 13)) +>goto : Symbol(I.goto, Decl(propertyNamesOfReservedWords.ts, 95, 13)) if; ->if : Symbol(if, Decl(propertyNamesOfReservedWords.ts, 96, 9)) +>if : Symbol(I.if, Decl(propertyNamesOfReservedWords.ts, 96, 9)) implements; ->implements : Symbol(implements, Decl(propertyNamesOfReservedWords.ts, 97, 7)) +>implements : Symbol(I.implements, Decl(propertyNamesOfReservedWords.ts, 97, 7)) import; ->import : Symbol(import, Decl(propertyNamesOfReservedWords.ts, 98, 15)) +>import : Symbol(I.import, Decl(propertyNamesOfReservedWords.ts, 98, 15)) in; ->in : Symbol(in, Decl(propertyNamesOfReservedWords.ts, 99, 11)) +>in : Symbol(I.in, Decl(propertyNamesOfReservedWords.ts, 99, 11)) instanceof; ->instanceof : Symbol(instanceof, Decl(propertyNamesOfReservedWords.ts, 100, 7)) +>instanceof : Symbol(I.instanceof, Decl(propertyNamesOfReservedWords.ts, 100, 7)) int; ->int : Symbol(int, Decl(propertyNamesOfReservedWords.ts, 101, 15)) +>int : Symbol(I.int, Decl(propertyNamesOfReservedWords.ts, 101, 15)) interface; ->interface : Symbol(interface, Decl(propertyNamesOfReservedWords.ts, 102, 8)) +>interface : Symbol(I.interface, Decl(propertyNamesOfReservedWords.ts, 102, 8)) is; ->is : Symbol(is, Decl(propertyNamesOfReservedWords.ts, 103, 14)) +>is : Symbol(I.is, Decl(propertyNamesOfReservedWords.ts, 103, 14)) long; ->long : Symbol(long, Decl(propertyNamesOfReservedWords.ts, 104, 7)) +>long : Symbol(I.long, Decl(propertyNamesOfReservedWords.ts, 104, 7)) namespace; ->namespace : Symbol(namespace, Decl(propertyNamesOfReservedWords.ts, 105, 9)) +>namespace : Symbol(I.namespace, Decl(propertyNamesOfReservedWords.ts, 105, 9)) native; ->native : Symbol(native, Decl(propertyNamesOfReservedWords.ts, 106, 14)) +>native : Symbol(I.native, Decl(propertyNamesOfReservedWords.ts, 106, 14)) new; ->new : Symbol(new, Decl(propertyNamesOfReservedWords.ts, 107, 11)) +>new : Symbol(I.new, Decl(propertyNamesOfReservedWords.ts, 107, 11)) null; ->null : Symbol(null, Decl(propertyNamesOfReservedWords.ts, 108, 8)) +>null : Symbol(I.null, Decl(propertyNamesOfReservedWords.ts, 108, 8)) package; ->package : Symbol(package, Decl(propertyNamesOfReservedWords.ts, 109, 9)) +>package : Symbol(I.package, Decl(propertyNamesOfReservedWords.ts, 109, 9)) private; ->private : Symbol(private, Decl(propertyNamesOfReservedWords.ts, 110, 12)) +>private : Symbol(I.private, Decl(propertyNamesOfReservedWords.ts, 110, 12)) protected; ->protected : Symbol(protected, Decl(propertyNamesOfReservedWords.ts, 111, 12)) +>protected : Symbol(I.protected, Decl(propertyNamesOfReservedWords.ts, 111, 12)) public; ->public : Symbol(public, Decl(propertyNamesOfReservedWords.ts, 112, 14)) +>public : Symbol(I.public, Decl(propertyNamesOfReservedWords.ts, 112, 14)) return; ->return : Symbol(return, Decl(propertyNamesOfReservedWords.ts, 113, 11)) +>return : Symbol(I.return, Decl(propertyNamesOfReservedWords.ts, 113, 11)) short; ->short : Symbol(short, Decl(propertyNamesOfReservedWords.ts, 114, 11)) +>short : Symbol(I.short, Decl(propertyNamesOfReservedWords.ts, 114, 11)) static; ->static : Symbol(static, Decl(propertyNamesOfReservedWords.ts, 115, 10)) +>static : Symbol(I.static, Decl(propertyNamesOfReservedWords.ts, 115, 10)) super; ->super : Symbol(super, Decl(propertyNamesOfReservedWords.ts, 116, 11)) +>super : Symbol(I.super, Decl(propertyNamesOfReservedWords.ts, 116, 11)) switch; ->switch : Symbol(switch, Decl(propertyNamesOfReservedWords.ts, 117, 10)) +>switch : Symbol(I.switch, Decl(propertyNamesOfReservedWords.ts, 117, 10)) synchronized; ->synchronized : Symbol(synchronized, Decl(propertyNamesOfReservedWords.ts, 118, 11)) +>synchronized : Symbol(I.synchronized, Decl(propertyNamesOfReservedWords.ts, 118, 11)) this; ->this : Symbol(this, Decl(propertyNamesOfReservedWords.ts, 119, 17)) +>this : Symbol(I.this, Decl(propertyNamesOfReservedWords.ts, 119, 17)) throw; ->throw : Symbol(throw, Decl(propertyNamesOfReservedWords.ts, 120, 9)) +>throw : Symbol(I.throw, Decl(propertyNamesOfReservedWords.ts, 120, 9)) throws; ->throws : Symbol(throws, Decl(propertyNamesOfReservedWords.ts, 121, 10)) +>throws : Symbol(I.throws, Decl(propertyNamesOfReservedWords.ts, 121, 10)) transient; ->transient : Symbol(transient, Decl(propertyNamesOfReservedWords.ts, 122, 11)) +>transient : Symbol(I.transient, Decl(propertyNamesOfReservedWords.ts, 122, 11)) true; ->true : Symbol(true, Decl(propertyNamesOfReservedWords.ts, 123, 14)) +>true : Symbol(I.true, Decl(propertyNamesOfReservedWords.ts, 123, 14)) try; ->try : Symbol(try, Decl(propertyNamesOfReservedWords.ts, 124, 9)) +>try : Symbol(I.try, Decl(propertyNamesOfReservedWords.ts, 124, 9)) typeof; ->typeof : Symbol(typeof, Decl(propertyNamesOfReservedWords.ts, 125, 8)) +>typeof : Symbol(I.typeof, Decl(propertyNamesOfReservedWords.ts, 125, 8)) use; ->use : Symbol(use, Decl(propertyNamesOfReservedWords.ts, 126, 11)) +>use : Symbol(I.use, Decl(propertyNamesOfReservedWords.ts, 126, 11)) var; ->var : Symbol(var, Decl(propertyNamesOfReservedWords.ts, 127, 8)) +>var : Symbol(I.var, Decl(propertyNamesOfReservedWords.ts, 127, 8)) void; ->void : Symbol(void, Decl(propertyNamesOfReservedWords.ts, 128, 8)) +>void : Symbol(I.void, Decl(propertyNamesOfReservedWords.ts, 128, 8)) volatile; ->volatile : Symbol(volatile, Decl(propertyNamesOfReservedWords.ts, 129, 9)) +>volatile : Symbol(I.volatile, Decl(propertyNamesOfReservedWords.ts, 129, 9)) while; ->while : Symbol(while, Decl(propertyNamesOfReservedWords.ts, 130, 13)) +>while : Symbol(I.while, Decl(propertyNamesOfReservedWords.ts, 130, 13)) with; ->with : Symbol(with, Decl(propertyNamesOfReservedWords.ts, 131, 10)) +>with : Symbol(I.with, Decl(propertyNamesOfReservedWords.ts, 131, 10)) } var i: I; diff --git a/tests/baselines/reference/propertyNamesWithStringLiteral.symbols b/tests/baselines/reference/propertyNamesWithStringLiteral.symbols index d81f39b5325..3844c0891e8 100644 --- a/tests/baselines/reference/propertyNamesWithStringLiteral.symbols +++ b/tests/baselines/reference/propertyNamesWithStringLiteral.symbols @@ -3,17 +3,17 @@ class _Color { >_Color : Symbol(_Color, Decl(propertyNamesWithStringLiteral.ts, 0, 0)) a: number; r: number; g: number; b: number; ->a : Symbol(a, Decl(propertyNamesWithStringLiteral.ts, 0, 14)) ->r : Symbol(r, Decl(propertyNamesWithStringLiteral.ts, 1, 14)) ->g : Symbol(g, Decl(propertyNamesWithStringLiteral.ts, 1, 25)) ->b : Symbol(b, Decl(propertyNamesWithStringLiteral.ts, 1, 36)) +>a : Symbol(_Color.a, Decl(propertyNamesWithStringLiteral.ts, 0, 14)) +>r : Symbol(_Color.r, Decl(propertyNamesWithStringLiteral.ts, 1, 14)) +>g : Symbol(_Color.g, Decl(propertyNamesWithStringLiteral.ts, 1, 25)) +>b : Symbol(_Color.b, Decl(propertyNamesWithStringLiteral.ts, 1, 36)) } interface NamedColors { >NamedColors : Symbol(NamedColors, Decl(propertyNamesWithStringLiteral.ts, 2, 1)) azure: _Color; ->azure : Symbol(azure, Decl(propertyNamesWithStringLiteral.ts, 4, 23)) +>azure : Symbol(NamedColors.azure, Decl(propertyNamesWithStringLiteral.ts, 4, 23)) >_Color : Symbol(_Color, Decl(propertyNamesWithStringLiteral.ts, 0, 0)) "blue": _Color; diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.symbols b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.symbols index ccca7ab7501..ec9464ef1ee 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.symbols +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinClass.symbols @@ -5,29 +5,29 @@ class C { >C : Symbol(C, Decl(protectedClassPropertyAccessibleWithinClass.ts, 0, 0)) protected x: string; ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) protected get y() { return this.x; } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) ->this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) +>this.x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinClass.ts, 0, 0)) ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) protected set y(x) { this.y = this.x; } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) >x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 20)) ->this.y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) +>this.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinClass.ts, 0, 0)) ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) ->this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 3, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 4, 40)) +>this.x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinClass.ts, 0, 0)) ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) +>x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 2, 9)) protected foo() { return this.foo; } ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) ->this.foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) +>this.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinClass.ts, 0, 0)) ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 5, 43)) protected static x: string; >x : Symbol(C.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 6, 40)) @@ -66,29 +66,29 @@ class C2 { >C2 : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinClass.ts, 13, 1)) protected x: string; ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) +>x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) protected get y() { () => this.x; return null; } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) ->this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) +>y : Symbol(C2.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) +>this.x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) >this : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinClass.ts, 13, 1)) ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) +>x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) protected set y(x) { () => { this.y = this.x; } } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) +>y : Symbol(C2.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) >x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 20)) ->this.y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) +>this.y : Symbol(C2.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) >this : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinClass.ts, 13, 1)) ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) ->this.x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) +>y : Symbol(C2.y, Decl(protectedClassPropertyAccessibleWithinClass.ts, 17, 24), Decl(protectedClassPropertyAccessibleWithinClass.ts, 18, 52)) +>this.x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) >this : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinClass.ts, 13, 1)) ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) +>x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 16, 10)) protected foo() { () => this.foo; } ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) ->this.foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) +>foo : Symbol(C2.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) +>this.foo : Symbol(C2.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) >this : Symbol(C2, Decl(protectedClassPropertyAccessibleWithinClass.ts, 13, 1)) ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) +>foo : Symbol(C2.foo, Decl(protectedClassPropertyAccessibleWithinClass.ts, 19, 53)) protected static x: string; >x : Symbol(C2.x, Decl(protectedClassPropertyAccessibleWithinClass.ts, 20, 39)) diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.symbols b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.symbols index 5bd7dfad392..17a91458085 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.symbols +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass.symbols @@ -5,7 +5,7 @@ class B { >B : Symbol(B, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 0, 0)) protected x: string; ->x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) +>x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) protected static x: string; >x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 3, 24)) @@ -16,32 +16,32 @@ class C extends B { >B : Symbol(B, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 0, 0)) protected get y() { return this.x; } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) >this.x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 5, 1)) >x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) protected set y(x) { this.y = this.x; } ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) >x : Symbol(x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 20)) ->this.y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) +>this.y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 5, 1)) ->y : Symbol(y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) +>y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 7, 19), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 8, 40)) >this.x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 5, 1)) >x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) protected foo() { return this.x; } ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) >this.x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 5, 1)) >x : Symbol(B.x, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 2, 9)) protected bar() { return this.foo(); } ->bar : Symbol(bar, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 10, 38)) ->this.foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) +>bar : Symbol(C.bar, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 10, 38)) +>this.foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) >this : Symbol(C, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 5, 1)) ->foo : Symbol(foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) +>foo : Symbol(C.foo, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 9, 43)) protected static get y() { return this.x; } >y : Symbol(C.y, Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 11, 42), Decl(protectedClassPropertyAccessibleWithinSubclass.ts, 13, 47)) diff --git a/tests/baselines/reference/prototypeInstantiatedWithBaseConstraint.symbols b/tests/baselines/reference/prototypeInstantiatedWithBaseConstraint.symbols index bbb95de0910..2dc9a0b6704 100644 --- a/tests/baselines/reference/prototypeInstantiatedWithBaseConstraint.symbols +++ b/tests/baselines/reference/prototypeInstantiatedWithBaseConstraint.symbols @@ -4,7 +4,7 @@ class C { >T : Symbol(T, Decl(prototypeInstantiatedWithBaseConstraint.ts, 0, 8)) x: T; ->x : Symbol(x, Decl(prototypeInstantiatedWithBaseConstraint.ts, 0, 12)) +>x : Symbol(C.x, Decl(prototypeInstantiatedWithBaseConstraint.ts, 0, 12)) >T : Symbol(T, Decl(prototypeInstantiatedWithBaseConstraint.ts, 0, 8)) } diff --git a/tests/baselines/reference/prototypeOnConstructorFunctions.symbols b/tests/baselines/reference/prototypeOnConstructorFunctions.symbols index d3644ad89b2..56764468350 100644 --- a/tests/baselines/reference/prototypeOnConstructorFunctions.symbols +++ b/tests/baselines/reference/prototypeOnConstructorFunctions.symbols @@ -3,7 +3,7 @@ interface I1 { >I1 : Symbol(I1, Decl(prototypeOnConstructorFunctions.ts, 0, 0)) const: new (options?, element?) => any; ->const : Symbol(const, Decl(prototypeOnConstructorFunctions.ts, 0, 14)) +>const : Symbol(I1.const, Decl(prototypeOnConstructorFunctions.ts, 0, 14)) >options : Symbol(options, Decl(prototypeOnConstructorFunctions.ts, 1, 16)) >element : Symbol(element, Decl(prototypeOnConstructorFunctions.ts, 1, 25)) } diff --git a/tests/baselines/reference/quotedPropertyName3.symbols b/tests/baselines/reference/quotedPropertyName3.symbols index 1a843022425..2b09da7f6cc 100644 --- a/tests/baselines/reference/quotedPropertyName3.symbols +++ b/tests/baselines/reference/quotedPropertyName3.symbols @@ -4,12 +4,12 @@ class Test { "prop1": number; foo() { ->foo : Symbol(foo, Decl(quotedPropertyName3.ts, 1, 20)) +>foo : Symbol(Test.foo, Decl(quotedPropertyName3.ts, 1, 20)) var x = () => this["prop1"]; >x : Symbol(x, Decl(quotedPropertyName3.ts, 3, 11)) >this : Symbol(Test, Decl(quotedPropertyName3.ts, 0, 0)) ->"prop1" : Symbol("prop1", Decl(quotedPropertyName3.ts, 0, 12)) +>"prop1" : Symbol(Test."prop1", Decl(quotedPropertyName3.ts, 0, 12)) var y: number = x(); >y : Symbol(y, Decl(quotedPropertyName3.ts, 4, 11)) diff --git a/tests/baselines/reference/readonlyInDeclarationFile.symbols b/tests/baselines/reference/readonlyInDeclarationFile.symbols index af979e4dacd..c5f3b066a5d 100644 --- a/tests/baselines/reference/readonlyInDeclarationFile.symbols +++ b/tests/baselines/reference/readonlyInDeclarationFile.symbols @@ -4,7 +4,7 @@ interface Foo { >Foo : Symbol(Foo, Decl(readonlyInDeclarationFile.ts, 0, 0)) readonly x: number; ->x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 1, 15)) +>x : Symbol(Foo.x, Decl(readonlyInDeclarationFile.ts, 1, 15)) readonly [x: string]: Object; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 3, 14)) @@ -19,42 +19,42 @@ class C { >Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) private readonly a1: number; ->a1 : Symbol(a1, Decl(readonlyInDeclarationFile.ts, 7, 33)) +>a1 : Symbol(C.a1, Decl(readonlyInDeclarationFile.ts, 7, 33)) protected readonly a2: number; ->a2 : Symbol(a2, Decl(readonlyInDeclarationFile.ts, 8, 32)) +>a2 : Symbol(C.a2, Decl(readonlyInDeclarationFile.ts, 8, 32)) public readonly a3: number; ->a3 : Symbol(a3, Decl(readonlyInDeclarationFile.ts, 9, 34)) +>a3 : Symbol(C.a3, Decl(readonlyInDeclarationFile.ts, 9, 34)) private get b1() { return 1 } ->b1 : Symbol(b1, Decl(readonlyInDeclarationFile.ts, 10, 31)) +>b1 : Symbol(C.b1, Decl(readonlyInDeclarationFile.ts, 10, 31)) protected get b2() { return 1 } ->b2 : Symbol(b2, Decl(readonlyInDeclarationFile.ts, 11, 33)) +>b2 : Symbol(C.b2, Decl(readonlyInDeclarationFile.ts, 11, 33)) public get b3() { return 1 } ->b3 : Symbol(b3, Decl(readonlyInDeclarationFile.ts, 12, 35)) +>b3 : Symbol(C.b3, Decl(readonlyInDeclarationFile.ts, 12, 35)) private get c1() { return 1 } ->c1 : Symbol(c1, Decl(readonlyInDeclarationFile.ts, 13, 32), Decl(readonlyInDeclarationFile.ts, 14, 33)) +>c1 : Symbol(C.c1, Decl(readonlyInDeclarationFile.ts, 13, 32), Decl(readonlyInDeclarationFile.ts, 14, 33)) private set c1(value) { } ->c1 : Symbol(c1, Decl(readonlyInDeclarationFile.ts, 13, 32), Decl(readonlyInDeclarationFile.ts, 14, 33)) +>c1 : Symbol(C.c1, Decl(readonlyInDeclarationFile.ts, 13, 32), Decl(readonlyInDeclarationFile.ts, 14, 33)) >value : Symbol(value, Decl(readonlyInDeclarationFile.ts, 15, 19)) protected get c2() { return 1 } ->c2 : Symbol(c2, Decl(readonlyInDeclarationFile.ts, 15, 29), Decl(readonlyInDeclarationFile.ts, 16, 35)) +>c2 : Symbol(C.c2, Decl(readonlyInDeclarationFile.ts, 15, 29), Decl(readonlyInDeclarationFile.ts, 16, 35)) protected set c2(value) { } ->c2 : Symbol(c2, Decl(readonlyInDeclarationFile.ts, 15, 29), Decl(readonlyInDeclarationFile.ts, 16, 35)) +>c2 : Symbol(C.c2, Decl(readonlyInDeclarationFile.ts, 15, 29), Decl(readonlyInDeclarationFile.ts, 16, 35)) >value : Symbol(value, Decl(readonlyInDeclarationFile.ts, 17, 21)) public get c3() { return 1 } ->c3 : Symbol(c3, Decl(readonlyInDeclarationFile.ts, 17, 31), Decl(readonlyInDeclarationFile.ts, 18, 32)) +>c3 : Symbol(C.c3, Decl(readonlyInDeclarationFile.ts, 17, 31), Decl(readonlyInDeclarationFile.ts, 18, 32)) public set c3(value) { } ->c3 : Symbol(c3, Decl(readonlyInDeclarationFile.ts, 17, 31), Decl(readonlyInDeclarationFile.ts, 18, 32)) +>c3 : Symbol(C.c3, Decl(readonlyInDeclarationFile.ts, 17, 31), Decl(readonlyInDeclarationFile.ts, 18, 32)) >value : Symbol(value, Decl(readonlyInDeclarationFile.ts, 19, 18)) private static readonly s1: number; diff --git a/tests/baselines/reference/reboundBaseClassSymbol.symbols b/tests/baselines/reference/reboundBaseClassSymbol.symbols index 788d7d95c9e..79cc00a6459 100644 --- a/tests/baselines/reference/reboundBaseClassSymbol.symbols +++ b/tests/baselines/reference/reboundBaseClassSymbol.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/reboundBaseClassSymbol.ts === interface A { a: number; } >A : Symbol(A, Decl(reboundBaseClassSymbol.ts, 0, 0)) ->a : Symbol(a, Decl(reboundBaseClassSymbol.ts, 0, 13)) +>a : Symbol(A.a, Decl(reboundBaseClassSymbol.ts, 0, 13)) module Foo { >Foo : Symbol(Foo, Decl(reboundBaseClassSymbol.ts, 0, 26)) @@ -12,5 +12,5 @@ module Foo { interface B extends A { b: string; } >B : Symbol(B, Decl(reboundBaseClassSymbol.ts, 2, 14)) >A : Symbol(A, Decl(reboundBaseClassSymbol.ts, 0, 0)) ->b : Symbol(b, Decl(reboundBaseClassSymbol.ts, 3, 27)) +>b : Symbol(B.b, Decl(reboundBaseClassSymbol.ts, 3, 27)) } diff --git a/tests/baselines/reference/recursiveBaseConstructorCreation1.symbols b/tests/baselines/reference/recursiveBaseConstructorCreation1.symbols index 5cef41185e8..9185ecbfec0 100644 --- a/tests/baselines/reference/recursiveBaseConstructorCreation1.symbols +++ b/tests/baselines/reference/recursiveBaseConstructorCreation1.symbols @@ -3,7 +3,7 @@ class C1 { >C1 : Symbol(C1, Decl(recursiveBaseConstructorCreation1.ts, 0, 0)) public func(param: C2): any { } ->func : Symbol(func, Decl(recursiveBaseConstructorCreation1.ts, 0, 10)) +>func : Symbol(C1.func, Decl(recursiveBaseConstructorCreation1.ts, 0, 10)) >param : Symbol(param, Decl(recursiveBaseConstructorCreation1.ts, 1, 12)) >C2 : Symbol(C2, Decl(recursiveBaseConstructorCreation1.ts, 2, 1)) } diff --git a/tests/baselines/reference/recursiveBaseConstructorCreation2.symbols b/tests/baselines/reference/recursiveBaseConstructorCreation2.symbols index 794c8a38dc4..e2e0642f5aa 100644 --- a/tests/baselines/reference/recursiveBaseConstructorCreation2.symbols +++ b/tests/baselines/reference/recursiveBaseConstructorCreation2.symbols @@ -8,7 +8,7 @@ declare class abc extends base >base : Symbol(base, Decl(recursiveBaseConstructorCreation2.ts, 0, 0)) { foo: xyz; ->foo : Symbol(foo, Decl(recursiveBaseConstructorCreation2.ts, 4, 1)) +>foo : Symbol(abc.foo, Decl(recursiveBaseConstructorCreation2.ts, 4, 1)) >xyz : Symbol(xyz, Decl(recursiveBaseConstructorCreation2.ts, 6, 1)) } declare class xyz extends abc diff --git a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.symbols b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.symbols index 35fa0bf5ab0..c722d8ef8f7 100644 --- a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.symbols +++ b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.symbols @@ -12,7 +12,7 @@ export class MemberName { >MemberName : Symbol(MemberName, Decl(recursiveClassInstantiationsWithDefaultConstructors.ts, 1, 20)) public prefix: string = ""; ->prefix : Symbol(prefix, Decl(recursiveClassInstantiationsWithDefaultConstructors.ts, 2, 25)) +>prefix : Symbol(MemberName.prefix, Decl(recursiveClassInstantiationsWithDefaultConstructors.ts, 2, 25)) } export class MemberNameArray extends MemberName { >MemberNameArray : Symbol(MemberNameArray, Decl(recursiveClassInstantiationsWithDefaultConstructors.ts, 4, 1)) diff --git a/tests/baselines/reference/recursiveComplicatedClasses.symbols b/tests/baselines/reference/recursiveComplicatedClasses.symbols index 93d0378793d..4fb614ae798 100644 --- a/tests/baselines/reference/recursiveComplicatedClasses.symbols +++ b/tests/baselines/reference/recursiveComplicatedClasses.symbols @@ -3,7 +3,7 @@ class Signature { >Signature : Symbol(Signature, Decl(recursiveComplicatedClasses.ts, 0, 0)) public parameters: ParameterSymbol[] = null; ->parameters : Symbol(parameters, Decl(recursiveComplicatedClasses.ts, 0, 17)) +>parameters : Symbol(Signature.parameters, Decl(recursiveComplicatedClasses.ts, 0, 17)) >ParameterSymbol : Symbol(ParameterSymbol, Decl(recursiveComplicatedClasses.ts, 17, 1)) } @@ -19,10 +19,10 @@ class Symbol { >Symbol : Symbol(Symbol, Decl(recursiveComplicatedClasses.ts, 6, 1)) public bound: boolean; ->bound : Symbol(bound, Decl(recursiveComplicatedClasses.ts, 8, 14)) +>bound : Symbol(Symbol.bound, Decl(recursiveComplicatedClasses.ts, 8, 14)) public visible() { ->visible : Symbol(visible, Decl(recursiveComplicatedClasses.ts, 9, 26)) +>visible : Symbol(Symbol.visible, Decl(recursiveComplicatedClasses.ts, 9, 26)) var b: TypeSymbol; >b : Symbol(b, Decl(recursiveComplicatedClasses.ts, 11, 11)) diff --git a/tests/baselines/reference/recursiveIdenticalAssignment.symbols b/tests/baselines/reference/recursiveIdenticalAssignment.symbols index b82fe1d9d17..54a871c5141 100644 --- a/tests/baselines/reference/recursiveIdenticalAssignment.symbols +++ b/tests/baselines/reference/recursiveIdenticalAssignment.symbols @@ -4,7 +4,7 @@ interface A { >T : Symbol(T, Decl(recursiveIdenticalAssignment.ts, 0, 12)) x: A ->x : Symbol(x, Decl(recursiveIdenticalAssignment.ts, 0, 16)) +>x : Symbol(A.x, Decl(recursiveIdenticalAssignment.ts, 0, 16)) >A : Symbol(A, Decl(recursiveIdenticalAssignment.ts, 0, 0)) >T : Symbol(T, Decl(recursiveIdenticalAssignment.ts, 0, 12)) } @@ -17,7 +17,7 @@ interface B>> { // error, constraint referencing itself >T : Symbol(T, Decl(recursiveIdenticalAssignment.ts, 4, 12)) x: B ->x : Symbol(x, Decl(recursiveIdenticalAssignment.ts, 4, 32)) +>x : Symbol(B.x, Decl(recursiveIdenticalAssignment.ts, 4, 32)) >B : Symbol(B, Decl(recursiveIdenticalAssignment.ts, 2, 1)) >T : Symbol(T, Decl(recursiveIdenticalAssignment.ts, 4, 12)) } diff --git a/tests/baselines/reference/recursiveProperties.symbols b/tests/baselines/reference/recursiveProperties.symbols index 11ecc0a4f90..73df9163d2e 100644 --- a/tests/baselines/reference/recursiveProperties.symbols +++ b/tests/baselines/reference/recursiveProperties.symbols @@ -3,20 +3,20 @@ class A { >A : Symbol(A, Decl(recursiveProperties.ts, 0, 0)) get testProp() { return this.testProp; } ->testProp : Symbol(testProp, Decl(recursiveProperties.ts, 0, 9)) ->this.testProp : Symbol(testProp, Decl(recursiveProperties.ts, 0, 9)) +>testProp : Symbol(A.testProp, Decl(recursiveProperties.ts, 0, 9)) +>this.testProp : Symbol(A.testProp, Decl(recursiveProperties.ts, 0, 9)) >this : Symbol(A, Decl(recursiveProperties.ts, 0, 0)) ->testProp : Symbol(testProp, Decl(recursiveProperties.ts, 0, 9)) +>testProp : Symbol(A.testProp, Decl(recursiveProperties.ts, 0, 9)) } class B { >B : Symbol(B, Decl(recursiveProperties.ts, 2, 1)) set testProp(value:string) { this.testProp = value; } ->testProp : Symbol(testProp, Decl(recursiveProperties.ts, 4, 9)) +>testProp : Symbol(B.testProp, Decl(recursiveProperties.ts, 4, 9)) >value : Symbol(value, Decl(recursiveProperties.ts, 5, 17)) ->this.testProp : Symbol(testProp, Decl(recursiveProperties.ts, 4, 9)) +>this.testProp : Symbol(B.testProp, Decl(recursiveProperties.ts, 4, 9)) >this : Symbol(B, Decl(recursiveProperties.ts, 2, 1)) ->testProp : Symbol(testProp, Decl(recursiveProperties.ts, 4, 9)) +>testProp : Symbol(B.testProp, Decl(recursiveProperties.ts, 4, 9)) >value : Symbol(value, Decl(recursiveProperties.ts, 5, 17)) } diff --git a/tests/baselines/reference/recursiveSpecializationOfExtendedTypeWithError.symbols b/tests/baselines/reference/recursiveSpecializationOfExtendedTypeWithError.symbols index d7bb467ac94..88b0cad70f1 100644 --- a/tests/baselines/reference/recursiveSpecializationOfExtendedTypeWithError.symbols +++ b/tests/baselines/reference/recursiveSpecializationOfExtendedTypeWithError.symbols @@ -3,7 +3,7 @@ interface HTMLSelectElement { >HTMLSelectElement : Symbol(HTMLSelectElement, Decl(recursiveSpecializationOfExtendedTypeWithError.ts, 0, 0)) options: HTMLSelectElement; ->options : Symbol(options, Decl(recursiveSpecializationOfExtendedTypeWithError.ts, 0, 29)) +>options : Symbol(HTMLSelectElement.options, Decl(recursiveSpecializationOfExtendedTypeWithError.ts, 0, 29)) >HTMLSelectElement : Symbol(HTMLSelectElement, Decl(recursiveSpecializationOfExtendedTypeWithError.ts, 0, 0)) (name: A): any; diff --git a/tests/baselines/reference/recursiveTupleTypes1.symbols b/tests/baselines/reference/recursiveTupleTypes1.symbols index 8bd0797f3f6..94802dd5135 100644 --- a/tests/baselines/reference/recursiveTupleTypes1.symbols +++ b/tests/baselines/reference/recursiveTupleTypes1.symbols @@ -3,7 +3,7 @@ interface Tree1 { >Tree1 : Symbol(Tree1, Decl(recursiveTupleTypes1.ts, 0, 0)) children: [Tree1, Tree2]; ->children : Symbol(children, Decl(recursiveTupleTypes1.ts, 0, 17)) +>children : Symbol(Tree1.children, Decl(recursiveTupleTypes1.ts, 0, 17)) >Tree1 : Symbol(Tree1, Decl(recursiveTupleTypes1.ts, 0, 0)) >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes1.ts, 2, 1)) } @@ -12,7 +12,7 @@ interface Tree2 { >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes1.ts, 2, 1)) children: [Tree2, Tree1]; ->children : Symbol(children, Decl(recursiveTupleTypes1.ts, 4, 17)) +>children : Symbol(Tree2.children, Decl(recursiveTupleTypes1.ts, 4, 17)) >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes1.ts, 2, 1)) >Tree1 : Symbol(Tree1, Decl(recursiveTupleTypes1.ts, 0, 0)) } diff --git a/tests/baselines/reference/recursiveTupleTypes2.symbols b/tests/baselines/reference/recursiveTupleTypes2.symbols index 2895f1b5669..8212239f89e 100644 --- a/tests/baselines/reference/recursiveTupleTypes2.symbols +++ b/tests/baselines/reference/recursiveTupleTypes2.symbols @@ -3,7 +3,7 @@ interface Tree1 { >Tree1 : Symbol(Tree1, Decl(recursiveTupleTypes2.ts, 0, 0)) children: [Tree1, Tree2]; ->children : Symbol(children, Decl(recursiveTupleTypes2.ts, 0, 17)) +>children : Symbol(Tree1.children, Decl(recursiveTupleTypes2.ts, 0, 17)) >Tree1 : Symbol(Tree1, Decl(recursiveTupleTypes2.ts, 0, 0)) >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes2.ts, 2, 1)) } @@ -12,7 +12,7 @@ interface Tree2 { >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes2.ts, 2, 1)) children: [Tree2, Tree2]; ->children : Symbol(children, Decl(recursiveTupleTypes2.ts, 4, 17)) +>children : Symbol(Tree2.children, Decl(recursiveTupleTypes2.ts, 4, 17)) >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes2.ts, 2, 1)) >Tree2 : Symbol(Tree2, Decl(recursiveTupleTypes2.ts, 2, 1)) } diff --git a/tests/baselines/reference/recursiveTypeComparison.symbols b/tests/baselines/reference/recursiveTypeComparison.symbols index 7aa566971e8..baca46bce71 100644 --- a/tests/baselines/reference/recursiveTypeComparison.symbols +++ b/tests/baselines/reference/recursiveTypeComparison.symbols @@ -7,23 +7,23 @@ interface Observable { // This member can't be of type T, Property, or Observable needThisOne: Observable; ->needThisOne : Symbol(needThisOne, Decl(recursiveTypeComparison.ts, 2, 25)) +>needThisOne : Symbol(Observable.needThisOne, Decl(recursiveTypeComparison.ts, 2, 25)) >Observable : Symbol(Observable, Decl(recursiveTypeComparison.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeComparison.ts, 2, 21)) // Add more to make it slower expo1: Property; // 0.31 seconds in check ->expo1 : Symbol(expo1, Decl(recursiveTypeComparison.ts, 4, 31)) +>expo1 : Symbol(Observable.expo1, Decl(recursiveTypeComparison.ts, 4, 31)) >Property : Symbol(Property, Decl(recursiveTypeComparison.ts, 9, 1)) >T : Symbol(T, Decl(recursiveTypeComparison.ts, 2, 21)) expo2: Property; // 3.11 seconds ->expo2 : Symbol(expo2, Decl(recursiveTypeComparison.ts, 6, 25)) +>expo2 : Symbol(Observable.expo2, Decl(recursiveTypeComparison.ts, 6, 25)) >Property : Symbol(Property, Decl(recursiveTypeComparison.ts, 9, 1)) >T : Symbol(T, Decl(recursiveTypeComparison.ts, 2, 21)) expo3: Property; // 82.28 seconds ->expo3 : Symbol(expo3, Decl(recursiveTypeComparison.ts, 7, 25)) +>expo3 : Symbol(Observable.expo3, Decl(recursiveTypeComparison.ts, 7, 25)) >Property : Symbol(Property, Decl(recursiveTypeComparison.ts, 9, 1)) >T : Symbol(T, Decl(recursiveTypeComparison.ts, 2, 21)) } diff --git a/tests/baselines/reference/recursiveTypeInGenericConstraint.symbols b/tests/baselines/reference/recursiveTypeInGenericConstraint.symbols index d23245e2187..aaace0cd0c4 100644 --- a/tests/baselines/reference/recursiveTypeInGenericConstraint.symbols +++ b/tests/baselines/reference/recursiveTypeInGenericConstraint.symbols @@ -4,7 +4,7 @@ class G { >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 0, 8)) x: G>; // infinitely expanding type reference ->x : Symbol(x, Decl(recursiveTypeInGenericConstraint.ts, 0, 12)) +>x : Symbol(G.x, Decl(recursiveTypeInGenericConstraint.ts, 0, 12)) >G : Symbol(G, Decl(recursiveTypeInGenericConstraint.ts, 0, 0)) >G : Symbol(G, Decl(recursiveTypeInGenericConstraint.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 0, 8)) @@ -17,7 +17,7 @@ class Foo> { // error, constraint referencing itself >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 4, 10)) bar: T; ->bar : Symbol(bar, Decl(recursiveTypeInGenericConstraint.ts, 4, 27)) +>bar : Symbol(Foo.bar, Decl(recursiveTypeInGenericConstraint.ts, 4, 27)) >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 4, 10)) } @@ -26,7 +26,7 @@ class D { >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 8, 8)) x: G>; ->x : Symbol(x, Decl(recursiveTypeInGenericConstraint.ts, 8, 12)) +>x : Symbol(D.x, Decl(recursiveTypeInGenericConstraint.ts, 8, 12)) >G : Symbol(G, Decl(recursiveTypeInGenericConstraint.ts, 0, 0)) >G : Symbol(G, Decl(recursiveTypeInGenericConstraint.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeInGenericConstraint.ts, 8, 8)) diff --git a/tests/baselines/reference/recursiveTypeParameterReferenceError1.symbols b/tests/baselines/reference/recursiveTypeParameterReferenceError1.symbols index e9bb848c0e3..c1695bd2130 100644 --- a/tests/baselines/reference/recursiveTypeParameterReferenceError1.symbols +++ b/tests/baselines/reference/recursiveTypeParameterReferenceError1.symbols @@ -8,7 +8,7 @@ interface Foo { >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 1, 14)) z: Foo>; // error ->z : Symbol(z, Decl(recursiveTypeParameterReferenceError1.ts, 1, 18)) +>z : Symbol(Foo.z, Decl(recursiveTypeParameterReferenceError1.ts, 1, 18)) >Foo : Symbol(Foo, Decl(recursiveTypeParameterReferenceError1.ts, 0, 14)) >X : Symbol(X, Decl(recursiveTypeParameterReferenceError1.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 1, 14)) @@ -29,7 +29,7 @@ class C2 { >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 8, 9)) x: T; ->x : Symbol(x, Decl(recursiveTypeParameterReferenceError1.ts, 8, 13)) +>x : Symbol(C2.x, Decl(recursiveTypeParameterReferenceError1.ts, 8, 13)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 8, 9)) } interface Foo2 { @@ -37,7 +37,7 @@ interface Foo2 { >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 11, 15)) ofC4: C2<{ x: T }> // ok ->ofC4 : Symbol(ofC4, Decl(recursiveTypeParameterReferenceError1.ts, 11, 19)) +>ofC4 : Symbol(Foo2.ofC4, Decl(recursiveTypeParameterReferenceError1.ts, 11, 19)) >C2 : Symbol(C2, Decl(recursiveTypeParameterReferenceError1.ts, 5, 12)) >x : Symbol(x, Decl(recursiveTypeParameterReferenceError1.ts, 12, 14)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 11, 15)) diff --git a/tests/baselines/reference/recursiveTypeParameterReferenceError2.symbols b/tests/baselines/reference/recursiveTypeParameterReferenceError2.symbols index 423c2ba71d8..61234f7de2e 100644 --- a/tests/baselines/reference/recursiveTypeParameterReferenceError2.symbols +++ b/tests/baselines/reference/recursiveTypeParameterReferenceError2.symbols @@ -4,16 +4,16 @@ interface List { >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 0, 15)) data: T; ->data : Symbol(data, Decl(recursiveTypeParameterReferenceError2.ts, 0, 19)) +>data : Symbol(List.data, Decl(recursiveTypeParameterReferenceError2.ts, 0, 19)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 0, 15)) next: List; ->next : Symbol(next, Decl(recursiveTypeParameterReferenceError2.ts, 1, 12)) +>next : Symbol(List.next, Decl(recursiveTypeParameterReferenceError2.ts, 1, 12)) >List : Symbol(List, Decl(recursiveTypeParameterReferenceError2.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 0, 15)) owner: List>; // Error, recursive reference with wrapped T ->owner : Symbol(owner, Decl(recursiveTypeParameterReferenceError2.ts, 2, 18)) +>owner : Symbol(List.owner, Decl(recursiveTypeParameterReferenceError2.ts, 2, 18)) >List : Symbol(List, Decl(recursiveTypeParameterReferenceError2.ts, 0, 0)) >List : Symbol(List, Decl(recursiveTypeParameterReferenceError2.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 0, 15)) @@ -24,16 +24,16 @@ interface List2 { >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 6, 16)) data: T; ->data : Symbol(data, Decl(recursiveTypeParameterReferenceError2.ts, 6, 20)) +>data : Symbol(List2.data, Decl(recursiveTypeParameterReferenceError2.ts, 6, 20)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 6, 16)) next: List2; ->next : Symbol(next, Decl(recursiveTypeParameterReferenceError2.ts, 7, 12)) +>next : Symbol(List2.next, Decl(recursiveTypeParameterReferenceError2.ts, 7, 12)) >List2 : Symbol(List2, Decl(recursiveTypeParameterReferenceError2.ts, 4, 1)) >T : Symbol(T, Decl(recursiveTypeParameterReferenceError2.ts, 6, 16)) owner: List2>; // Ok ->owner : Symbol(owner, Decl(recursiveTypeParameterReferenceError2.ts, 8, 19)) +>owner : Symbol(List2.owner, Decl(recursiveTypeParameterReferenceError2.ts, 8, 19)) >List2 : Symbol(List2, Decl(recursiveTypeParameterReferenceError2.ts, 4, 1)) >List2 : Symbol(List2, Decl(recursiveTypeParameterReferenceError2.ts, 4, 1)) } diff --git a/tests/baselines/reference/recursiveTypes1.symbols b/tests/baselines/reference/recursiveTypes1.symbols index 8ced51db0dc..7efaa78e109 100644 --- a/tests/baselines/reference/recursiveTypes1.symbols +++ b/tests/baselines/reference/recursiveTypes1.symbols @@ -6,11 +6,11 @@ interface Entity> { >T : Symbol(T, Decl(recursiveTypes1.ts, 0, 17)) X: T; ->X : Symbol(X, Decl(recursiveTypes1.ts, 0, 39)) +>X : Symbol(Entity.X, Decl(recursiveTypes1.ts, 0, 39)) >T : Symbol(T, Decl(recursiveTypes1.ts, 0, 17)) Y: T; ->Y : Symbol(Y, Decl(recursiveTypes1.ts, 1, 8)) +>Y : Symbol(Entity.Y, Decl(recursiveTypes1.ts, 1, 8)) >T : Symbol(T, Decl(recursiveTypes1.ts, 0, 17)) } @@ -23,7 +23,7 @@ interface Person> extends Entity { >U : Symbol(U, Decl(recursiveTypes1.ts, 5, 17)) n: number; ->n : Symbol(n, Decl(recursiveTypes1.ts, 5, 57)) +>n : Symbol(Person.n, Decl(recursiveTypes1.ts, 5, 57)) } interface Customer extends Person { @@ -32,6 +32,6 @@ interface Customer extends Person { >Customer : Symbol(Customer, Decl(recursiveTypes1.ts, 7, 1)) s: string; ->s : Symbol(s, Decl(recursiveTypes1.ts, 9, 45)) +>s : Symbol(Customer.s, Decl(recursiveTypes1.ts, 9, 45)) } diff --git a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.symbols b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.symbols index 9894c6acd45..af1119fe495 100644 --- a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.symbols +++ b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.symbols @@ -4,11 +4,11 @@ class List { >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 11)) data: T; ->data : Symbol(data, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 15)) +>data : Symbol(List.data, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 15)) >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 11)) next: List>; ->next : Symbol(next, Decl(recursiveTypesUsedAsFunctionParameters.ts, 1, 12)) +>next : Symbol(List.next, Decl(recursiveTypesUsedAsFunctionParameters.ts, 1, 12)) >List : Symbol(List, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 0)) >List : Symbol(List, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 0)) >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 0, 11)) @@ -19,11 +19,11 @@ class MyList { >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 5, 13)) data: T; ->data : Symbol(data, Decl(recursiveTypesUsedAsFunctionParameters.ts, 5, 17)) +>data : Symbol(MyList.data, Decl(recursiveTypesUsedAsFunctionParameters.ts, 5, 17)) >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 5, 13)) next: MyList>; ->next : Symbol(next, Decl(recursiveTypesUsedAsFunctionParameters.ts, 6, 12)) +>next : Symbol(MyList.next, Decl(recursiveTypesUsedAsFunctionParameters.ts, 6, 12)) >MyList : Symbol(MyList, Decl(recursiveTypesUsedAsFunctionParameters.ts, 3, 1)) >MyList : Symbol(MyList, Decl(recursiveTypesUsedAsFunctionParameters.ts, 3, 1)) >T : Symbol(T, Decl(recursiveTypesUsedAsFunctionParameters.ts, 5, 13)) diff --git a/tests/baselines/reference/recursiveUnionTypeInference.symbols b/tests/baselines/reference/recursiveUnionTypeInference.symbols index 88233573941..7025e6af455 100644 --- a/tests/baselines/reference/recursiveUnionTypeInference.symbols +++ b/tests/baselines/reference/recursiveUnionTypeInference.symbols @@ -4,7 +4,7 @@ interface Foo { >T : Symbol(T, Decl(recursiveUnionTypeInference.ts, 0, 14)) x: T; ->x : Symbol(x, Decl(recursiveUnionTypeInference.ts, 0, 18)) +>x : Symbol(Foo.x, Decl(recursiveUnionTypeInference.ts, 0, 18)) >T : Symbol(T, Decl(recursiveUnionTypeInference.ts, 0, 14)) } diff --git a/tests/baselines/reference/recursivelySpecializedConstructorDeclaration.symbols b/tests/baselines/reference/recursivelySpecializedConstructorDeclaration.symbols index aa2a1bfc713..a14fc677b17 100644 --- a/tests/baselines/reference/recursivelySpecializedConstructorDeclaration.symbols +++ b/tests/baselines/reference/recursivelySpecializedConstructorDeclaration.symbols @@ -11,7 +11,7 @@ module MsPortal.Controls.Base.ItemList { // Removing this line fixes the constructor of ItemValue options: ViewModel; ->options : Symbol(options, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 40)) +>options : Symbol(Interface.options, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 40)) >ViewModel : Symbol(ViewModel, Decl(recursivelySpecializedConstructorDeclaration.ts, 10, 5)) >TValue : Symbol(TValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 31)) } diff --git a/tests/baselines/reference/reorderProperties.symbols b/tests/baselines/reference/reorderProperties.symbols index 6308131398c..7874e90456c 100644 --- a/tests/baselines/reference/reorderProperties.symbols +++ b/tests/baselines/reference/reorderProperties.symbols @@ -4,7 +4,7 @@ interface A { >T : Symbol(T, Decl(reorderProperties.ts, 0, 12)) x: T ->x : Symbol(x, Decl(reorderProperties.ts, 0, 16)) +>x : Symbol(A.x, Decl(reorderProperties.ts, 0, 16)) >T : Symbol(T, Decl(reorderProperties.ts, 0, 12)) } @@ -13,7 +13,7 @@ interface B { >T : Symbol(T, Decl(reorderProperties.ts, 4, 12)) x: T ->x : Symbol(x, Decl(reorderProperties.ts, 4, 16)) +>x : Symbol(B.x, Decl(reorderProperties.ts, 4, 16)) >T : Symbol(T, Decl(reorderProperties.ts, 4, 12)) } @@ -25,7 +25,7 @@ interface C extends A> { >S : Symbol(S, Decl(reorderProperties.ts, 8, 12)) y: S ->y : Symbol(y, Decl(reorderProperties.ts, 8, 32)) +>y : Symbol(C.y, Decl(reorderProperties.ts, 8, 32)) >S : Symbol(S, Decl(reorderProperties.ts, 8, 12)) } @@ -37,7 +37,7 @@ interface D extends B> { >S : Symbol(S, Decl(reorderProperties.ts, 12, 12)) y: S ->y : Symbol(y, Decl(reorderProperties.ts, 12, 32)) +>y : Symbol(D.y, Decl(reorderProperties.ts, 12, 32)) >S : Symbol(S, Decl(reorderProperties.ts, 12, 12)) } diff --git a/tests/baselines/reference/requireEmitSemicolon.symbols b/tests/baselines/reference/requireEmitSemicolon.symbols index 938dcdef8ca..a1a9ce51e4e 100644 --- a/tests/baselines/reference/requireEmitSemicolon.symbols +++ b/tests/baselines/reference/requireEmitSemicolon.symbols @@ -10,7 +10,7 @@ export module Database { >DB : Symbol(DB, Decl(requireEmitSemicolon_1.ts, 3, 24)) public findPerson(id: number): P.Models.Person { ->findPerson : Symbol(findPerson, Decl(requireEmitSemicolon_1.ts, 4, 18)) +>findPerson : Symbol(DB.findPerson, Decl(requireEmitSemicolon_1.ts, 4, 18)) >id : Symbol(id, Decl(requireEmitSemicolon_1.ts, 5, 23)) >P : Symbol(P, Decl(requireEmitSemicolon_1.ts, 0, 0)) >Models : Symbol(P.Models, Decl(requireEmitSemicolon_0.ts, 0, 0)) diff --git a/tests/baselines/reference/requiredInitializedParameter3.symbols b/tests/baselines/reference/requiredInitializedParameter3.symbols index e9f35b21bcf..8f7649b449d 100644 --- a/tests/baselines/reference/requiredInitializedParameter3.symbols +++ b/tests/baselines/reference/requiredInitializedParameter3.symbols @@ -3,7 +3,7 @@ interface I1 { >I1 : Symbol(I1, Decl(requiredInitializedParameter3.ts, 0, 0)) method(); ->method : Symbol(method, Decl(requiredInitializedParameter3.ts, 0, 14)) +>method : Symbol(I1.method, Decl(requiredInitializedParameter3.ts, 0, 14)) } class C1 implements I1 { @@ -11,7 +11,7 @@ class C1 implements I1 { >I1 : Symbol(I1, Decl(requiredInitializedParameter3.ts, 0, 0)) method(a = 0, b?) { } ->method : Symbol(method, Decl(requiredInitializedParameter3.ts, 4, 24)) +>method : Symbol(C1.method, Decl(requiredInitializedParameter3.ts, 4, 24)) >a : Symbol(a, Decl(requiredInitializedParameter3.ts, 5, 11)) >b : Symbol(b, Decl(requiredInitializedParameter3.ts, 5, 17)) } diff --git a/tests/baselines/reference/requiredInitializedParameter4.symbols b/tests/baselines/reference/requiredInitializedParameter4.symbols index 2790b33698c..5136bfc1bc0 100644 --- a/tests/baselines/reference/requiredInitializedParameter4.symbols +++ b/tests/baselines/reference/requiredInitializedParameter4.symbols @@ -3,7 +3,7 @@ class C1 { >C1 : Symbol(C1, Decl(requiredInitializedParameter4.ts, 0, 0)) method(a = 0, b) { } ->method : Symbol(method, Decl(requiredInitializedParameter4.ts, 0, 10)) +>method : Symbol(C1.method, Decl(requiredInitializedParameter4.ts, 0, 10)) >a : Symbol(a, Decl(requiredInitializedParameter4.ts, 1, 11)) >b : Symbol(b, Decl(requiredInitializedParameter4.ts, 1, 17)) } diff --git a/tests/baselines/reference/resolveModuleNameWithSameLetDeclarationName2.symbols b/tests/baselines/reference/resolveModuleNameWithSameLetDeclarationName2.symbols index e98437abb9a..7ddb3d5b9e1 100644 --- a/tests/baselines/reference/resolveModuleNameWithSameLetDeclarationName2.symbols +++ b/tests/baselines/reference/resolveModuleNameWithSameLetDeclarationName2.symbols @@ -4,11 +4,11 @@ declare module "punycode" { >ucs2 : Symbol(ucs2, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 0, 27), Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 6, 14)) decode(string: string): string; ->decode : Symbol(decode, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 1, 20)) +>decode : Symbol(ucs2.decode, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 1, 20)) >string : Symbol(string, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 2, 15)) encode(codePoints: number[]): string; ->encode : Symbol(encode, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 2, 39)) +>encode : Symbol(ucs2.encode, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 2, 39)) >codePoints : Symbol(codePoints, Decl(resolveModuleNameWithSameLetDeclarationName2.ts, 3, 15)) } diff --git a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols index 39ca7f38840..a4761973db1 100644 --- a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols +++ b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols @@ -13,7 +13,7 @@ module rionegrensis { >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } ->salomonseni : Symbol(salomonseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1, 96)) +>salomonseni : Symbol(caniventer.salomonseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1, 96)) >caniventer : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 36)) >caniventer : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) @@ -22,7 +22,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 36)) uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->uchidai : Symbol(uchidai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 89)) +>uchidai : Symbol(caniventer.uchidai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 89)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 42)) @@ -33,7 +33,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 42)) raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->raffrayana : Symbol(raffrayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 105)) +>raffrayana : Symbol(caniventer.raffrayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 105)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 37)) @@ -44,7 +44,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 37)) Uranium() : minutus.inez, trivirgatus.falconeri> { var x : minutus.inez, trivirgatus.falconeri>; () => { var y = this; }; return x; } ->Uranium : Symbol(Uranium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 92)) +>Uranium : Symbol(caniventer.Uranium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 92)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -71,7 +71,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 112)) nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->nayaur : Symbol(nayaur, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 245)) +>nayaur : Symbol(caniventer.nayaur, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 245)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 6, 38)) @@ -94,7 +94,7 @@ module rionegrensis { >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) naso() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->naso : Symbol(naso, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 8, 101)) +>naso : Symbol(veraecrucis.naso, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 8, 101)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -121,7 +121,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 115)) vancouverensis() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->vancouverensis : Symbol(vancouverensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 254)) +>vancouverensis : Symbol(veraecrucis.vancouverensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 254)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -140,7 +140,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 86)) africana() : argurus.gilbertii, sagitta.cinereus> { var x : argurus.gilbertii, sagitta.cinereus>; () => { var y = this; }; return x; } ->africana : Symbol(africana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 186)) +>africana : Symbol(veraecrucis.africana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 186)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -175,7 +175,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 147)) palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->palliolata : Symbol(palliolata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 314)) +>palliolata : Symbol(veraecrucis.palliolata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 314)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 44)) @@ -186,7 +186,7 @@ module rionegrensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 44)) nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->nivicola : Symbol(nivicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 106)) +>nivicola : Symbol(veraecrucis.nivicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 106)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 13, 42)) @@ -207,7 +207,7 @@ module julianae { >nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; } ->brandtii : Symbol(brandtii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 19, 27)) +>brandtii : Symbol(nudicaudus.brandtii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 19, 27)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 39)) @@ -218,7 +218,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 39)) maxwellii() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maxwellii : Symbol(maxwellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 98)) +>maxwellii : Symbol(nudicaudus.maxwellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 98)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -237,7 +237,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 88)) endoi() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->endoi : Symbol(endoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 195)) +>endoi : Symbol(nudicaudus.endoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 195)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -256,7 +256,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 70)) venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->venezuelae : Symbol(venezuelae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 163)) +>venezuelae : Symbol(nudicaudus.venezuelae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 163)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 38)) @@ -267,7 +267,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 38)) zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->zamicrus : Symbol(zamicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 94)) +>zamicrus : Symbol(nudicaudus.zamicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 94)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 24, 46)) @@ -281,7 +281,7 @@ module julianae { >galapagoensis : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) isabellae() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->isabellae : Symbol(isabellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 26, 30)) +>isabellae : Symbol(galapagoensis.isabellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 26, 30)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -300,7 +300,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 84)) rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->rueppellii : Symbol(rueppellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 187)) +>rueppellii : Symbol(galapagoensis.rueppellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 187)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 45)) @@ -311,7 +311,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 45)) peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->peregusna : Symbol(peregusna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 108)) +>peregusna : Symbol(galapagoensis.peregusna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 108)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 42)) @@ -322,7 +322,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 42)) gliroides() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->gliroides : Symbol(gliroides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 103)) +>gliroides : Symbol(galapagoensis.gliroides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 103)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -341,7 +341,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 66)) banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->banakrisi : Symbol(banakrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 151)) +>banakrisi : Symbol(galapagoensis.banakrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 151)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 47)) @@ -352,7 +352,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 47)) rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->rozendaali : Symbol(rozendaali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 113)) +>rozendaali : Symbol(galapagoensis.rozendaali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 113)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 40)) @@ -363,7 +363,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 40)) stuhlmanni() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->stuhlmanni : Symbol(stuhlmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 98)) +>stuhlmanni : Symbol(galapagoensis.stuhlmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 98)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -387,7 +387,7 @@ module julianae { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 27)) mattheyi() : samarensis.fuscus> { var x : samarensis.fuscus>; () => { var y = this; }; return x; } ->mattheyi : Symbol(mattheyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 33)) +>mattheyi : Symbol(albidens.mattheyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 33)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -414,7 +414,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 126)) Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; } ->Astatine : Symbol(Astatine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 272)) +>Astatine : Symbol(albidens.Astatine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 272)) >steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 30)) >steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) @@ -423,7 +423,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 30)) vincenti() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->vincenti : Symbol(vincenti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 80)) +>vincenti : Symbol(albidens.vincenti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 80)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -442,7 +442,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 81)) hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->hirta : Symbol(hirta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 182)) +>hirta : Symbol(albidens.hirta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 182)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 39)) @@ -453,7 +453,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 39)) virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; } ->virginianus : Symbol(virginianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 101)) +>virginianus : Symbol(albidens.virginianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 101)) >durangae : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 34)) >durangae : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) @@ -462,7 +462,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 34)) macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->macrophyllum : Symbol(macrophyllum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 85)) +>macrophyllum : Symbol(albidens.macrophyllum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 85)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 40)) @@ -473,7 +473,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 40)) porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->porcellus : Symbol(porcellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 96)) +>porcellus : Symbol(albidens.porcellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 96)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 42, 44)) @@ -492,7 +492,7 @@ module julianae { >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->cepapi : Symbol(cepapi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 44, 57)) +>cepapi : Symbol(oralis.cepapi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 44, 57)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 38)) @@ -503,7 +503,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 38)) porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->porteri : Symbol(porteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 98)) +>porteri : Symbol(oralis.porteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 98)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 37)) @@ -514,7 +514,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 37)) bindi() : caurinus.mahaganus> { var x : caurinus.mahaganus>; () => { var y = this; }; return x; } ->bindi : Symbol(bindi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 95)) +>bindi : Symbol(oralis.bindi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 95)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -541,7 +541,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 119)) puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->puda : Symbol(puda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 261)) +>puda : Symbol(oralis.puda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 261)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 37)) @@ -552,7 +552,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 37)) mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->mindorensis : Symbol(mindorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 98)) +>mindorensis : Symbol(oralis.mindorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 98)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 47)) @@ -563,7 +563,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 47)) ignitus() : petrophilus.rosalia, lavali.wilsoni> { var x : petrophilus.rosalia, lavali.wilsoni>; () => { var y = this; }; return x; } ->ignitus : Symbol(ignitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 111)) +>ignitus : Symbol(oralis.ignitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 111)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -588,7 +588,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 110)) rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; } ->rufus : Symbol(rufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 241)) +>rufus : Symbol(oralis.rufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 241)) >nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 30)) >nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) @@ -597,7 +597,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 30)) monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->monax : Symbol(monax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 83)) +>monax : Symbol(oralis.monax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 83)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 42)) @@ -608,7 +608,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 42)) unalascensis() : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; } ->unalascensis : Symbol(unalascensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 107)) +>unalascensis : Symbol(oralis.unalascensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 107)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -643,7 +643,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 160)) wuchihensis() : howi.angulatus, petrophilus.minutilla> { var x : howi.angulatus, petrophilus.minutilla>; () => { var y = this; }; return x; } ->wuchihensis : Symbol(wuchihensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 336)) +>wuchihensis : Symbol(oralis.wuchihensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 336)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -670,7 +670,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 123)) leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->leucippe : Symbol(leucippe, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 263)) +>leucippe : Symbol(oralis.leucippe, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 263)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 35)) @@ -681,7 +681,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 35)) ordii() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->ordii : Symbol(ordii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 90)) +>ordii : Symbol(oralis.ordii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 90)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -700,7 +700,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 78)) eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->eisentrauti : Symbol(eisentrauti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 179)) +>eisentrauti : Symbol(oralis.eisentrauti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 179)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 57, 44)) @@ -717,7 +717,7 @@ module julianae { >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) wolffsohni() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->wolffsohni : Symbol(wolffsohni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 59, 54)) +>wolffsohni : Symbol(sumatrana.wolffsohni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 59, 54)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -736,7 +736,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 87)) geata() : ruatanica.hector { var x : ruatanica.hector; () => { var y = this; }; return x; } ->geata : Symbol(geata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 192)) +>geata : Symbol(sumatrana.geata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 192)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >sumatrana : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) @@ -753,7 +753,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 69)) awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->awashensis : Symbol(awashensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 161)) +>awashensis : Symbol(sumatrana.awashensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 161)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 46)) @@ -764,7 +764,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 46)) sturdeei() : lutreolus.cor { var x : lutreolus.cor; () => { var y = this; }; return x; } ->sturdeei : Symbol(sturdeei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 110)) +>sturdeei : Symbol(sumatrana.sturdeei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 110)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -781,7 +781,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 72)) pachyurus() : howi.angulatus> { var x : howi.angulatus>; () => { var y = this; }; return x; } ->pachyurus : Symbol(pachyurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 164)) +>pachyurus : Symbol(sumatrana.pachyurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 164)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -806,7 +806,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 109)) lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->lyelli : Symbol(lyelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 237)) +>lyelli : Symbol(sumatrana.lyelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 237)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 41)) @@ -817,7 +817,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 41)) neohibernicus() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->neohibernicus : Symbol(neohibernicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 104)) +>neohibernicus : Symbol(sumatrana.neohibernicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 104)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -841,7 +841,7 @@ module julianae { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 28)) pundti() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->pundti : Symbol(pundti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 34)) +>pundti : Symbol(gerbillus.pundti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 34)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -860,7 +860,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 78)) tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->tristrami : Symbol(tristrami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 178)) +>tristrami : Symbol(gerbillus.tristrami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 178)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 45)) @@ -871,7 +871,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 45)) swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->swarthi : Symbol(swarthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 109)) +>swarthi : Symbol(gerbillus.swarthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 109)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 37)) @@ -882,7 +882,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 37)) horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->horsfieldii : Symbol(horsfieldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 95)) +>horsfieldii : Symbol(gerbillus.horsfieldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 95)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 47)) @@ -893,7 +893,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 47)) diazi() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->diazi : Symbol(diazi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 111)) +>diazi : Symbol(gerbillus.diazi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 111)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -912,7 +912,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 77)) rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->rennelli : Symbol(rennelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 177)) +>rennelli : Symbol(gerbillus.rennelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 177)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 39)) @@ -923,7 +923,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 39)) maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->maulinus : Symbol(maulinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 98)) +>maulinus : Symbol(gerbillus.maulinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 98)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 38)) @@ -934,7 +934,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 38)) muscina() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->muscina : Symbol(muscina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 96)) +>muscina : Symbol(gerbillus.muscina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 96)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -953,7 +953,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 85)) pelengensis() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->pelengensis : Symbol(pelengensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 191)) +>pelengensis : Symbol(gerbillus.pelengensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 191)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -972,7 +972,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 85)) abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->abramus : Symbol(abramus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 187)) +>abramus : Symbol(gerbillus.abramus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 187)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 37)) @@ -983,7 +983,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 37)) reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->reevesi : Symbol(reevesi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 95)) +>reevesi : Symbol(gerbillus.reevesi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 95)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 79, 42)) @@ -997,7 +997,7 @@ module julianae { >acariensis : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->levicula : Symbol(levicula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 81, 27)) +>levicula : Symbol(acariensis.levicula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 81, 27)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 38)) @@ -1008,7 +1008,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 38)) minous() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->minous : Symbol(minous, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 96)) +>minous : Symbol(acariensis.minous, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 96)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -1027,7 +1027,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 75)) cinereiventer() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->cinereiventer : Symbol(cinereiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 172)) +>cinereiventer : Symbol(acariensis.cinereiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 172)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -1046,7 +1046,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 79)) longicaudatus() : macrorhinos.marmosurus> { var x : macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->longicaudatus : Symbol(longicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 173)) +>longicaudatus : Symbol(acariensis.longicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 173)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -1071,7 +1071,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 117)) baeodon() : argurus.netscheri, argurus.luctuosa> { var x : argurus.netscheri, argurus.luctuosa>; () => { var y = this; }; return x; } ->baeodon : Symbol(baeodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 249)) +>baeodon : Symbol(acariensis.baeodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 249)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -1098,7 +1098,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 114)) soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->soricoides : Symbol(soricoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 249)) +>soricoides : Symbol(acariensis.soricoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 249)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 41)) @@ -1109,7 +1109,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 41)) datae() : daubentonii.arboreus> { var x : daubentonii.arboreus>; () => { var y = this; }; return x; } ->datae : Symbol(datae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 100)) +>datae : Symbol(acariensis.datae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 100)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) @@ -1136,7 +1136,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 124)) spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->spixii : Symbol(spixii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 271)) +>spixii : Symbol(acariensis.spixii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 271)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 43)) @@ -1147,7 +1147,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 43)) anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->anakuma : Symbol(anakuma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 108)) +>anakuma : Symbol(acariensis.anakuma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 108)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 36)) @@ -1158,7 +1158,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 36)) kihaulei() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->kihaulei : Symbol(kihaulei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 93)) +>kihaulei : Symbol(acariensis.kihaulei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 93)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -1177,7 +1177,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 89)) gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->gymnura : Symbol(gymnura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 198)) +>gymnura : Symbol(acariensis.gymnura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 198)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 44)) @@ -1188,7 +1188,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 44)) olchonensis() : rendalli.crenulata { var x : rendalli.crenulata; () => { var y = this; }; return x; } ->olchonensis : Symbol(olchonensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 109)) +>olchonensis : Symbol(acariensis.olchonensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 109)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -1213,7 +1213,7 @@ module julianae { >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) Californium() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->Californium : Symbol(Californium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 95, 51)) +>Californium : Symbol(durangae.Californium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 95, 51)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -1232,7 +1232,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 86)) Flerovium() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->Flerovium : Symbol(Flerovium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 189)) +>Flerovium : Symbol(durangae.Flerovium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 189)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -1251,7 +1251,7 @@ module julianae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 83)) phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->phrudus : Symbol(phrudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 185)) +>phrudus : Symbol(durangae.phrudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 185)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 98, 40)) @@ -1271,7 +1271,7 @@ module ruatanica { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 25)) humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->humulis : Symbol(humulis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 31)) +>humulis : Symbol(hector.humulis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 31)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 38)) @@ -1282,7 +1282,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 38)) eurycerus() : panamensis.linulus, lavali.wilsoni> { var x : panamensis.linulus, lavali.wilsoni>; () => { var y = this; }; return x; } ->eurycerus : Symbol(eurycerus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 97)) +>eurycerus : Symbol(hector.eurycerus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 97)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -1318,7 +1318,7 @@ module Lanthanum { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 26)) spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->spilosoma : Symbol(spilosoma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 32)) +>spilosoma : Symbol(suillus.spilosoma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 32)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 46)) @@ -1329,7 +1329,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 46)) tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; } ->tumbalensis : Symbol(tumbalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 111)) +>tumbalensis : Symbol(suillus.tumbalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 111)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 46)) @@ -1340,7 +1340,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 46)) anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->anatolicus : Symbol(anatolicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 109)) +>anatolicus : Symbol(suillus.anatolicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 109)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 111, 41)) @@ -1363,7 +1363,7 @@ module Lanthanum { >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->granatensis : Symbol(granatensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 113, 94)) +>granatensis : Symbol(nitidus.granatensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 113, 94)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 46)) @@ -1374,7 +1374,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 46)) negligens() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->negligens : Symbol(negligens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 109)) +>negligens : Symbol(nitidus.negligens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 109)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -1393,7 +1393,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 68)) lewisi() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->lewisi : Symbol(lewisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 155)) +>lewisi : Symbol(nitidus.lewisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 155)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -1412,7 +1412,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 73)) arge() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->arge : Symbol(arge, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 168)) +>arge : Symbol(nitidus.arge, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 168)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -1431,7 +1431,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 86)) dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->dominicensis : Symbol(dominicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 196)) +>dominicensis : Symbol(nitidus.dominicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 196)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 46)) @@ -1442,7 +1442,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 46)) taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->taurus : Symbol(taurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 108)) +>taurus : Symbol(nitidus.taurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 108)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 44)) @@ -1453,7 +1453,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 44)) tonganus() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->tonganus : Symbol(tonganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 110)) +>tonganus : Symbol(nitidus.tonganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 110)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -1472,7 +1472,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 78)) silvatica() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->silvatica : Symbol(silvatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 176)) +>silvatica : Symbol(nitidus.silvatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 176)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -1491,7 +1491,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 73)) midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->midas : Symbol(midas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 165)) +>midas : Symbol(nitidus.midas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 165)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 40)) @@ -1502,7 +1502,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 40)) bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->bicornis : Symbol(bicornis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 103)) +>bicornis : Symbol(nitidus.bicornis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 103)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 123, 41)) @@ -1523,7 +1523,7 @@ module Lanthanum { >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->phillipsii : Symbol(phillipsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 125, 94)) +>phillipsii : Symbol(megalonyx.phillipsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 125, 94)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 48)) @@ -1534,7 +1534,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 48)) melanogaster() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->melanogaster : Symbol(melanogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 114)) +>melanogaster : Symbol(megalonyx.melanogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 114)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -1553,7 +1553,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 98)) elaphus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->elaphus : Symbol(elaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 212)) +>elaphus : Symbol(megalonyx.elaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 212)) >nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) @@ -1570,7 +1570,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 72)) elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->elater : Symbol(elater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 165)) +>elater : Symbol(megalonyx.elater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 165)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 36)) @@ -1581,7 +1581,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 36)) ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->ourebi : Symbol(ourebi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 94)) +>ourebi : Symbol(megalonyx.ourebi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 94)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 41)) @@ -1592,7 +1592,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 41)) caraccioli() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->caraccioli : Symbol(caraccioli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 104)) +>caraccioli : Symbol(megalonyx.caraccioli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 104)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -1619,7 +1619,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 130)) parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->parva : Symbol(parva, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 278)) +>parva : Symbol(megalonyx.parva, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 278)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 40)) @@ -1630,7 +1630,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 40)) albipes() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->albipes : Symbol(albipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 103)) +>albipes : Symbol(megalonyx.albipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 103)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -1650,7 +1650,7 @@ module Lanthanum { >jugularis : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) torrei() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->torrei : Symbol(torrei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 135, 26)) +>torrei : Symbol(jugularis.torrei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 135, 26)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -1669,7 +1669,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 78)) revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->revoili : Symbol(revoili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 178)) +>revoili : Symbol(jugularis.revoili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 178)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 36)) @@ -1680,7 +1680,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 36)) macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->macrobullatus : Symbol(macrobullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 93)) +>macrobullatus : Symbol(jugularis.macrobullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 93)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 51)) @@ -1691,7 +1691,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 51)) compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->compactus : Symbol(compactus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 117)) +>compactus : Symbol(jugularis.compactus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 117)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 42)) @@ -1702,7 +1702,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 42)) talpinus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->talpinus : Symbol(talpinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 103)) +>talpinus : Symbol(jugularis.talpinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 103)) >nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) @@ -1719,7 +1719,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 72)) stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->stramineus : Symbol(stramineus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 164)) +>stramineus : Symbol(jugularis.stramineus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 164)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 42)) @@ -1730,7 +1730,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 42)) dartmouthi() : trivirgatus.mixtus { var x : trivirgatus.mixtus; () => { var y = this; }; return x; } ->dartmouthi : Symbol(dartmouthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 102)) +>dartmouthi : Symbol(jugularis.dartmouthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 102)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -1749,7 +1749,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 86)) ogilbyi() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->ogilbyi : Symbol(ogilbyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 190)) +>ogilbyi : Symbol(jugularis.ogilbyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 190)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -1768,7 +1768,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 77)) incomtus() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->incomtus : Symbol(incomtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 175)) +>incomtus : Symbol(jugularis.incomtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 175)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -1787,7 +1787,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 87)) surdaster() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->surdaster : Symbol(surdaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 194)) +>surdaster : Symbol(jugularis.surdaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 194)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -1806,7 +1806,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 86)) melanorhinus() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->melanorhinus : Symbol(melanorhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 191)) +>melanorhinus : Symbol(jugularis.melanorhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 191)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -1825,7 +1825,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 86)) picticaudata() : minutus.inez, dogramacii.kaiseri> { var x : minutus.inez, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->picticaudata : Symbol(picticaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 188)) +>picticaudata : Symbol(jugularis.picticaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 188)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -1852,7 +1852,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 118)) pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->pomona : Symbol(pomona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 252)) +>pomona : Symbol(jugularis.pomona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 252)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 37)) @@ -1863,7 +1863,7 @@ module Lanthanum { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 37)) ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->ileile : Symbol(ileile, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 96)) +>ileile : Symbol(jugularis.ileile, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 96)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 149, 43)) @@ -1884,7 +1884,7 @@ module rendalli { >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) telfairi() : argurus.wetmorei { var x : argurus.wetmorei; () => { var y = this; }; return x; } ->telfairi : Symbol(telfairi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 153, 51)) +>telfairi : Symbol(zuluensis.telfairi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 153, 51)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -1903,7 +1903,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 82)) keyensis() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->keyensis : Symbol(keyensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 184)) +>keyensis : Symbol(zuluensis.keyensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 184)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -1922,7 +1922,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 80)) occasius() : argurus.gilbertii { var x : argurus.gilbertii; () => { var y = this; }; return x; } ->occasius : Symbol(occasius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 180)) +>occasius : Symbol(zuluensis.occasius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 180)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -1941,7 +1941,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 81)) damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->damarensis : Symbol(damarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 182)) +>damarensis : Symbol(zuluensis.damarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 182)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 47)) @@ -1952,7 +1952,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 47)) Neptunium() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->Neptunium : Symbol(Neptunium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 112)) +>Neptunium : Symbol(zuluensis.Neptunium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 112)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -1971,7 +1971,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 78)) griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->griseoflavus : Symbol(griseoflavus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 175)) +>griseoflavus : Symbol(zuluensis.griseoflavus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 175)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 47)) @@ -1982,7 +1982,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 47)) thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->thar : Symbol(thar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 110)) +>thar : Symbol(zuluensis.thar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 110)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 32)) @@ -1993,7 +1993,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 32)) alborufus() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->alborufus : Symbol(alborufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 88)) +>alborufus : Symbol(zuluensis.alborufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 88)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -2012,7 +2012,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 74)) fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->fusicaudus : Symbol(fusicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 167)) +>fusicaudus : Symbol(zuluensis.fusicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 167)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 43)) @@ -2023,7 +2023,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 43)) gordonorum() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->gordonorum : Symbol(gordonorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 104)) +>gordonorum : Symbol(zuluensis.gordonorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 104)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -2042,7 +2042,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 79)) ruber() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->ruber : Symbol(ruber, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 176)) +>ruber : Symbol(zuluensis.ruber, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 176)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -2061,7 +2061,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 77)) desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->desmarestianus : Symbol(desmarestianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 177)) +>desmarestianus : Symbol(zuluensis.desmarestianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 177)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 45)) @@ -2072,7 +2072,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 45)) lutillus() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->lutillus : Symbol(lutillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 104)) +>lutillus : Symbol(zuluensis.lutillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 104)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -2091,7 +2091,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 70)) salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->salocco : Symbol(salocco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 160)) +>salocco : Symbol(zuluensis.salocco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 160)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 167, 40)) @@ -2107,7 +2107,7 @@ module rendalli { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 26)) floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->floweri : Symbol(floweri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 32)) +>floweri : Symbol(moojeni.floweri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 32)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 34)) @@ -2118,7 +2118,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 34)) montosa() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->montosa : Symbol(montosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 89)) +>montosa : Symbol(moojeni.montosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 89)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -2137,7 +2137,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 88)) miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->miletus : Symbol(miletus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 197)) +>miletus : Symbol(moojeni.miletus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 197)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 40)) @@ -2148,7 +2148,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 40)) heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; } ->heaneyi : Symbol(heaneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 101)) +>heaneyi : Symbol(moojeni.heaneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 101)) >zuluensis : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 31)) >zuluensis : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) @@ -2157,7 +2157,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 31)) marchei() : panglima.amphibius> { var x : panglima.amphibius>; () => { var y = this; }; return x; } ->marchei : Symbol(marchei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 83)) +>marchei : Symbol(moojeni.marchei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 83)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) @@ -2184,7 +2184,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 117)) budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->budini : Symbol(budini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 255)) +>budini : Symbol(moojeni.budini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 255)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 38)) @@ -2195,7 +2195,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 38)) maggietaylorae() : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->maggietaylorae : Symbol(maggietaylorae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 98)) +>maggietaylorae : Symbol(moojeni.maggietaylorae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 98)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -2230,7 +2230,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 173)) poliocephalus() : julianae.gerbillus { var x : julianae.gerbillus; () => { var y = this; }; return x; } ->poliocephalus : Symbol(poliocephalus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 360)) +>poliocephalus : Symbol(moojeni.poliocephalus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 360)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -2249,7 +2249,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 86)) zibethicus() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->zibethicus : Symbol(zibethicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 187)) +>zibethicus : Symbol(moojeni.zibethicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 187)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -2268,7 +2268,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 78)) biacensis() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->biacensis : Symbol(biacensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 174)) +>biacensis : Symbol(moojeni.biacensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 174)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -2295,7 +2295,7 @@ module rendalli { >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) salvanius() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->salvanius : Symbol(salvanius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 181, 64)) +>salvanius : Symbol(crenulata.salvanius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 181, 64)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -2314,7 +2314,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 75)) maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->maritimus : Symbol(maritimus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 169)) +>maritimus : Symbol(crenulata.maritimus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 169)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 44)) @@ -2325,7 +2325,7 @@ module rendalli { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 44)) edax() : lutreolus.cor>, rionegrensis.caniventer> { var x : lutreolus.cor>, rionegrensis.caniventer>; () => { var y = this; }; return x; } ->edax : Symbol(edax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 107)) +>edax : Symbol(crenulata.edax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 107)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -2369,7 +2369,7 @@ module trivirgatus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 30)) nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->nivalis : Symbol(nivalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 36)) +>nivalis : Symbol(tumidifrons.nivalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 36)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 40)) @@ -2380,7 +2380,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 40)) vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->vestitus : Symbol(vestitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 101)) +>vestitus : Symbol(tumidifrons.vestitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 101)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 43)) @@ -2391,7 +2391,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 43)) aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->aequatorius : Symbol(aequatorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 106)) +>aequatorius : Symbol(tumidifrons.aequatorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 106)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 49)) @@ -2402,7 +2402,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 49)) scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; } ->scherman : Symbol(scherman, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 115)) +>scherman : Symbol(tumidifrons.scherman, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 115)) >oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 32)) >oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) @@ -2411,7 +2411,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 32)) improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->improvisum : Symbol(improvisum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 84)) +>improvisum : Symbol(tumidifrons.improvisum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 84)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 43)) @@ -2422,7 +2422,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 43)) cervinipes() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->cervinipes : Symbol(cervinipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 104)) +>cervinipes : Symbol(tumidifrons.cervinipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 104)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -2441,7 +2441,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 75)) audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->audax : Symbol(audax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 168)) +>audax : Symbol(tumidifrons.audax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 168)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 41)) @@ -2452,7 +2452,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 41)) vallinus() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->vallinus : Symbol(vallinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 105)) +>vallinus : Symbol(tumidifrons.vallinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 105)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -2487,7 +2487,7 @@ module trivirgatus { >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; } ->ochrogaster : Symbol(ochrogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 198, 138)) +>ochrogaster : Symbol(mixtus.ochrogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 198, 138)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 43)) @@ -2498,7 +2498,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 43)) bryophilus() : macrorhinos.marmosurus>> { var x : macrorhinos.marmosurus>>; () => { var y = this; }; return x; } ->bryophilus : Symbol(bryophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 103)) +>bryophilus : Symbol(mixtus.bryophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 103)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -2533,7 +2533,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 173)) liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->liechtensteini : Symbol(liechtensteini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 364)) +>liechtensteini : Symbol(mixtus.liechtensteini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 364)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 47)) @@ -2544,7 +2544,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 47)) crawfordi() : howi.coludo> { var x : howi.coludo>; () => { var y = this; }; return x; } ->crawfordi : Symbol(crawfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 108)) +>crawfordi : Symbol(mixtus.crawfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 108)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -2571,7 +2571,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 114)) hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->hypsibia : Symbol(hypsibia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 247)) +>hypsibia : Symbol(mixtus.hypsibia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 247)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 38)) @@ -2582,7 +2582,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 38)) matacus() : panglima.fundatus, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; } ->matacus : Symbol(matacus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 96)) +>matacus : Symbol(mixtus.matacus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 96)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -2615,7 +2615,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 135)) demidoff() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->demidoff : Symbol(demidoff, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 291)) +>demidoff : Symbol(mixtus.demidoff, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 291)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -2639,7 +2639,7 @@ module trivirgatus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 24)) balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->balensis : Symbol(balensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 30)) +>balensis : Symbol(lotor.balensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 30)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 42)) @@ -2650,7 +2650,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 42)) pullata() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->pullata : Symbol(pullata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 104)) +>pullata : Symbol(lotor.pullata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 104)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -2672,7 +2672,7 @@ module trivirgatus { >falconeri : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) cabrali() : rendalli.moojeni>, daubentonii.arboreus> { var x : rendalli.moojeni>, daubentonii.arboreus>; () => { var y = this; }; return x; } ->cabrali : Symbol(cabrali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 211, 26)) +>cabrali : Symbol(falconeri.cabrali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 211, 26)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -2715,7 +2715,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 203)) gouldi() : nigra.dolichurus>, patas.uralensis> { var x : nigra.dolichurus>, patas.uralensis>; () => { var y = this; }; return x; } ->gouldi : Symbol(gouldi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 427)) +>gouldi : Symbol(falconeri.gouldi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 427)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -2750,7 +2750,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 139)) fuscicollis() : samarensis.pelurus> { var x : samarensis.pelurus>; () => { var y = this; }; return x; } ->fuscicollis : Symbol(fuscicollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 300)) +>fuscicollis : Symbol(falconeri.fuscicollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 300)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -2777,7 +2777,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 126)) martiensseni() : sagitta.cinereus>, dogramacii.koepckeae> { var x : sagitta.cinereus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->martiensseni : Symbol(martiensseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 269)) +>martiensseni : Symbol(falconeri.martiensseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 269)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -2812,7 +2812,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 166)) gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->gaoligongensis : Symbol(gaoligongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 348)) +>gaoligongensis : Symbol(falconeri.gaoligongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 348)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 49)) @@ -2823,7 +2823,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 49)) shawi() : minutus.inez> { var x : minutus.inez>; () => { var y = this; }; return x; } ->shawi : Symbol(shawi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 112)) +>shawi : Symbol(falconeri.shawi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 112)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -2850,7 +2850,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 122)) gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->gmelini : Symbol(gmelini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 267)) +>gmelini : Symbol(falconeri.gmelini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 267)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 218, 45)) @@ -2864,7 +2864,7 @@ module trivirgatus { >oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) youngsoni() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->youngsoni : Symbol(youngsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 220, 26)) +>youngsoni : Symbol(oconnelli.youngsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 220, 26)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) @@ -2883,7 +2883,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 77)) terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->terrestris : Symbol(terrestris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 173)) +>terrestris : Symbol(oconnelli.terrestris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 173)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 48)) @@ -2894,7 +2894,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 48)) chrysopus() : sagitta.sicarius> { var x : sagitta.sicarius>; () => { var y = this; }; return x; } ->chrysopus : Symbol(chrysopus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 114)) +>chrysopus : Symbol(oconnelli.chrysopus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 114)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -2921,7 +2921,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 121)) fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->fuscomurina : Symbol(fuscomurina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 261)) +>fuscomurina : Symbol(oconnelli.fuscomurina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 261)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 44)) @@ -2932,7 +2932,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 44)) hellwaldii() : nigra.gracilis, petrophilus.sodyi> { var x : nigra.gracilis, petrophilus.sodyi>; () => { var y = this; }; return x; } ->hellwaldii : Symbol(hellwaldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 105)) +>hellwaldii : Symbol(oconnelli.hellwaldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 105)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -2967,7 +2967,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 160)) aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->aenea : Symbol(aenea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 338)) +>aenea : Symbol(oconnelli.aenea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 338)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 36)) @@ -2978,7 +2978,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 36)) perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->perrini : Symbol(perrini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 95)) +>perrini : Symbol(oconnelli.perrini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 95)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 42)) @@ -2989,7 +2989,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 42)) entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->entellus : Symbol(entellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 105)) +>entellus : Symbol(oconnelli.entellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 105)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 42)) @@ -3000,7 +3000,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 42)) krebsii() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->krebsii : Symbol(krebsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 104)) +>krebsii : Symbol(oconnelli.krebsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 104)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -3019,7 +3019,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 90)) cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->cephalotes : Symbol(cephalotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 201)) +>cephalotes : Symbol(oconnelli.cephalotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 201)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 44)) @@ -3030,7 +3030,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 44)) molossinus() : daubentonii.nigricans> { var x : daubentonii.nigricans>; () => { var y = this; }; return x; } ->molossinus : Symbol(molossinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 106)) +>molossinus : Symbol(oconnelli.molossinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 106)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -3057,7 +3057,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 136)) luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->luisi : Symbol(luisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 290)) +>luisi : Symbol(oconnelli.luisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 290)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 41)) @@ -3068,7 +3068,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 41)) ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->ceylonicus : Symbol(ceylonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 105)) +>ceylonicus : Symbol(oconnelli.ceylonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 105)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 48)) @@ -3079,7 +3079,7 @@ module trivirgatus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 48)) ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->ralli : Symbol(ralli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 114)) +>ralli : Symbol(oconnelli.ralli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 114)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 234, 40)) @@ -3097,7 +3097,7 @@ module quasiater { >bobrinskoi : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) crassicaudatus() : samarensis.cahirinus { var x : samarensis.cahirinus; () => { var y = this; }; return x; } ->crassicaudatus : Symbol(crassicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 238, 27)) +>crassicaudatus : Symbol(bobrinskoi.crassicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 238, 27)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -3116,7 +3116,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 92)) mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->mulatta : Symbol(mulatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 198)) +>mulatta : Symbol(bobrinskoi.mulatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 198)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 35)) @@ -3127,7 +3127,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 35)) ansorgei() : rendalli.moojeni, gabriellae.echinatus> { var x : rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->ansorgei : Symbol(ansorgei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 91)) +>ansorgei : Symbol(bobrinskoi.ansorgei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 91)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -3154,7 +3154,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 123)) Copper() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->Copper : Symbol(Copper, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 266)) +>Copper : Symbol(bobrinskoi.Copper, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 266)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -3187,7 +3187,7 @@ module ruatanica { >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->nasoloi : Symbol(nasoloi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 246, 93)) +>nasoloi : Symbol(americanus.nasoloi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 246, 93)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 45)) @@ -3198,7 +3198,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 45)) mystacalis() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->mystacalis : Symbol(mystacalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 111)) +>mystacalis : Symbol(americanus.mystacalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 111)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -3217,7 +3217,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 83)) fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fardoulisi : Symbol(fardoulisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 184)) +>fardoulisi : Symbol(americanus.fardoulisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 184)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 46)) @@ -3228,7 +3228,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 46)) tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->tumidus : Symbol(tumidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 110)) +>tumidus : Symbol(americanus.tumidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 110)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 250, 39)) @@ -3253,7 +3253,7 @@ module lavali { >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) setiger() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->setiger : Symbol(setiger, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 254, 96)) +>setiger : Symbol(wilsoni.setiger, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 254, 96)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) @@ -3270,7 +3270,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 60)) lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->lorentzii : Symbol(lorentzii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 141)) +>lorentzii : Symbol(wilsoni.lorentzii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 141)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 46)) @@ -3281,7 +3281,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 46)) antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->antisensis : Symbol(antisensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 111)) +>antisensis : Symbol(wilsoni.antisensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 111)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 40)) @@ -3292,7 +3292,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 40)) blossevillii() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->blossevillii : Symbol(blossevillii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 98)) +>blossevillii : Symbol(wilsoni.blossevillii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 98)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -3311,7 +3311,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 85)) bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->bontanus : Symbol(bontanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 186)) +>bontanus : Symbol(wilsoni.bontanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 186)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 46)) @@ -3322,7 +3322,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 46)) caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->caligata : Symbol(caligata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 112)) +>caligata : Symbol(wilsoni.caligata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 112)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 36)) @@ -3333,7 +3333,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 36)) franqueti() : panglima.amphibius, imperfecta.subspinosus> { var x : panglima.amphibius, imperfecta.subspinosus>; () => { var y = this; }; return x; } ->franqueti : Symbol(franqueti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 92)) +>franqueti : Symbol(wilsoni.franqueti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 92)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -3360,7 +3360,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 128)) roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->roberti : Symbol(roberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 275)) +>roberti : Symbol(wilsoni.roberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 275)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 41)) @@ -3371,7 +3371,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 41)) degelidus() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->degelidus : Symbol(degelidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 103)) +>degelidus : Symbol(wilsoni.degelidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 103)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -3390,7 +3390,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 92)) amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->amoenus : Symbol(amoenus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 203)) +>amoenus : Symbol(wilsoni.amoenus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 203)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 44)) @@ -3401,7 +3401,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 44)) kob() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->kob : Symbol(kob, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 109)) +>kob : Symbol(wilsoni.kob, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 109)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -3418,7 +3418,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 57)) csorbai() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->csorbai : Symbol(csorbai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 139)) +>csorbai : Symbol(wilsoni.csorbai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 139)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -3437,7 +3437,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 81)) dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->dorsata : Symbol(dorsata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 183)) +>dorsata : Symbol(wilsoni.dorsata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 183)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 267, 42)) @@ -3461,7 +3461,7 @@ module lavali { >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->bonaerensis : Symbol(bonaerensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 271, 72)) +>bonaerensis : Symbol(otion.bonaerensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 271, 72)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 46)) @@ -3472,7 +3472,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 46)) dussumieri() : nigra.gracilis { var x : nigra.gracilis; () => { var y = this; }; return x; } ->dussumieri : Symbol(dussumieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 109)) +>dussumieri : Symbol(otion.dussumieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 109)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -3491,7 +3491,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 77)) osvaldoreigi() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->osvaldoreigi : Symbol(osvaldoreigi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 172)) +>osvaldoreigi : Symbol(otion.osvaldoreigi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 172)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -3510,7 +3510,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 86)) grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->grevyi : Symbol(grevyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 188)) +>grevyi : Symbol(otion.grevyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 188)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 40)) @@ -3521,7 +3521,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 40)) hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; } ->hirtula : Symbol(hirtula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 102)) +>hirtula : Symbol(otion.hirtula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 102)) >lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 30)) >lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) @@ -3530,7 +3530,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 30)) cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->cristatus : Symbol(cristatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 81)) +>cristatus : Symbol(otion.cristatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 81)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 40)) @@ -3541,7 +3541,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 40)) darlingtoni() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->darlingtoni : Symbol(darlingtoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 99)) +>darlingtoni : Symbol(otion.darlingtoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 99)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) >wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) @@ -3558,7 +3558,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 76)) fontanierii() : panamensis.setulosus>, lutreolus.foina> { var x : panamensis.setulosus>, lutreolus.foina>; () => { var y = this; }; return x; } ->fontanierii : Symbol(fontanierii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 169)) +>fontanierii : Symbol(otion.fontanierii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 169)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -3591,7 +3591,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 161)) umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->umbrosus : Symbol(umbrosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 339)) +>umbrosus : Symbol(otion.umbrosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 339)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 36)) @@ -3602,7 +3602,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 36)) chiriquinus() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->chiriquinus : Symbol(chiriquinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 92)) +>chiriquinus : Symbol(otion.chiriquinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 92)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -3621,7 +3621,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 83)) orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->orarius : Symbol(orarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 183)) +>orarius : Symbol(otion.orarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 183)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 41)) @@ -3632,7 +3632,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 41)) ilaeus() : caurinus.mahaganus { var x : caurinus.mahaganus; () => { var y = this; }; return x; } ->ilaeus : Symbol(ilaeus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 103)) +>ilaeus : Symbol(otion.ilaeus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 103)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -3651,7 +3651,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 80)) musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->musschenbroekii : Symbol(musschenbroekii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 182)) +>musschenbroekii : Symbol(otion.musschenbroekii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 182)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 284, 51)) @@ -3665,7 +3665,7 @@ module lavali { >xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) nanulus() : daubentonii.nigricans { var x : daubentonii.nigricans; () => { var y = this; }; return x; } ->nanulus : Symbol(nanulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 286, 30)) +>nanulus : Symbol(xanthognathus.nanulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 286, 30)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -3684,7 +3684,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 88)) albigena() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->albigena : Symbol(albigena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 197)) +>albigena : Symbol(xanthognathus.albigena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 197)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -3703,7 +3703,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 87)) onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->onca : Symbol(onca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 194)) +>onca : Symbol(xanthognathus.onca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 194)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 37)) @@ -3714,7 +3714,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 37)) gunnii() : minutus.himalayana, nigra.thalia> { var x : minutus.himalayana, nigra.thalia>; () => { var y = this; }; return x; } ->gunnii : Symbol(gunnii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 98)) +>gunnii : Symbol(xanthognathus.gunnii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 98)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >himalayana : Symbol(minutus.himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -3747,7 +3747,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 135)) apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->apeco : Symbol(apeco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 292)) +>apeco : Symbol(xanthognathus.apeco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 292)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 35)) @@ -3758,7 +3758,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 35)) variegates() : gabriellae.klossii { var x : gabriellae.klossii; () => { var y = this; }; return x; } ->variegates : Symbol(variegates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 93)) +>variegates : Symbol(xanthognathus.variegates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 93)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) @@ -3775,7 +3775,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 73)) goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->goudotii : Symbol(goudotii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 164)) +>goudotii : Symbol(xanthognathus.goudotii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 164)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 44)) @@ -3786,7 +3786,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 44)) pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->pohlei : Symbol(pohlei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 108)) +>pohlei : Symbol(xanthognathus.pohlei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 108)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 40)) @@ -3797,7 +3797,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 40)) ineptus() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->ineptus : Symbol(ineptus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 102)) +>ineptus : Symbol(xanthognathus.ineptus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 102)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) @@ -3812,7 +3812,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 64)) euryotis() : rendalli.moojeni> { var x : rendalli.moojeni>; () => { var y = this; }; return x; } ->euryotis : Symbol(euryotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 149)) +>euryotis : Symbol(xanthognathus.euryotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 149)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -3839,7 +3839,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 120)) maurisca() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->maurisca : Symbol(maurisca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 260)) +>maurisca : Symbol(xanthognathus.maurisca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 260)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -3858,7 +3858,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 89)) coyhaiquensis() : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> { var x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus>; () => { var y = this; }; return x; } ->coyhaiquensis : Symbol(coyhaiquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 198)) +>coyhaiquensis : Symbol(xanthognathus.coyhaiquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 198)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -3907,7 +3907,7 @@ module lavali { >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->coromandra : Symbol(coromandra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 300, 47)) +>coromandra : Symbol(thaeleri.coromandra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 300, 47)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 47)) @@ -3918,7 +3918,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 47)) parvipes() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->parvipes : Symbol(parvipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 112)) +>parvipes : Symbol(thaeleri.parvipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 112)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -3937,7 +3937,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 78)) sponsorius() : rionegrensis.veraecrucis, julianae.steerii> { var x : rionegrensis.veraecrucis, julianae.steerii>; () => { var y = this; }; return x; } ->sponsorius : Symbol(sponsorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 176)) +>sponsorius : Symbol(thaeleri.sponsorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 176)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) @@ -3964,7 +3964,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 133)) vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->vates : Symbol(vates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 284)) +>vates : Symbol(thaeleri.vates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 284)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 41)) @@ -3975,7 +3975,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 41)) roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->roosmalenorum : Symbol(roosmalenorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 105)) +>roosmalenorum : Symbol(thaeleri.roosmalenorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 105)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 48)) @@ -3986,7 +3986,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 48)) rubicola() : rendalli.moojeni, gabriellae.echinatus>> { var x : rendalli.moojeni, gabriellae.echinatus>>; () => { var y = this; }; return x; } ->rubicola : Symbol(rubicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 111)) +>rubicola : Symbol(thaeleri.rubicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 111)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -4021,7 +4021,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 166)) ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->ikonnikovi : Symbol(ikonnikovi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 352)) +>ikonnikovi : Symbol(thaeleri.ikonnikovi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 352)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 41)) @@ -4032,7 +4032,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 41)) paramicrus() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->paramicrus : Symbol(paramicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 100)) +>paramicrus : Symbol(thaeleri.paramicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 100)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >otion : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) @@ -4067,7 +4067,7 @@ module lavali { >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ferrumequinum() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->ferrumequinum : Symbol(ferrumequinum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 310, 96)) +>ferrumequinum : Symbol(lepturus.ferrumequinum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 310, 96)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -4086,7 +4086,7 @@ module lavali { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 84)) aequalis() : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->aequalis : Symbol(aequalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 183)) +>aequalis : Symbol(lepturus.aequalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 183)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -4137,7 +4137,7 @@ module dogramacii { >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) fossor() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->fossor : Symbol(fossor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 316, 50)) +>fossor : Symbol(robustulus.fossor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 316, 50)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -4156,7 +4156,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 74)) humboldti() : sagitta.cinereus { var x : sagitta.cinereus; () => { var y = this; }; return x; } ->humboldti : Symbol(humboldti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 170)) +>humboldti : Symbol(robustulus.humboldti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 170)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -4175,7 +4175,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 77)) mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->mexicana : Symbol(mexicana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 173)) +>mexicana : Symbol(robustulus.mexicana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 173)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 46)) @@ -4186,7 +4186,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 46)) martini() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->martini : Symbol(martini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 112)) +>martini : Symbol(robustulus.martini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 112)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -4205,7 +4205,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 72)) beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->beatus : Symbol(beatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 165)) +>beatus : Symbol(robustulus.beatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 165)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 40)) @@ -4216,7 +4216,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 40)) leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->leporina : Symbol(leporina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 102)) +>leporina : Symbol(robustulus.leporina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 102)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 44)) @@ -4227,7 +4227,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 44)) pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->pearsonii : Symbol(pearsonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 108)) +>pearsonii : Symbol(robustulus.pearsonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 108)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 43)) @@ -4238,7 +4238,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 43)) keaysi() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->keaysi : Symbol(keaysi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 105)) +>keaysi : Symbol(robustulus.keaysi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 105)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -4257,7 +4257,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 69)) hindei() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->hindei : Symbol(hindei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 160)) +>hindei : Symbol(robustulus.hindei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 160)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -4279,7 +4279,7 @@ module dogramacii { >koepckeae : Symbol(koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) culturatus() : samarensis.pelurus, julianae.sumatrana> { var x : samarensis.pelurus, julianae.sumatrana>; () => { var y = this; }; return x; } ->culturatus : Symbol(culturatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 327, 26)) +>culturatus : Symbol(koepckeae.culturatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 327, 26)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) @@ -4307,7 +4307,7 @@ module dogramacii { >kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->bedfordiae : Symbol(bedfordiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 330, 24)) +>bedfordiae : Symbol(kaiseri.bedfordiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 330, 24)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 47)) @@ -4318,7 +4318,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 47)) paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->paramorum : Symbol(paramorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 112)) +>paramorum : Symbol(kaiseri.paramorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 112)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 43)) @@ -4329,7 +4329,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 43)) rubidus() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->rubidus : Symbol(rubidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 105)) +>rubidus : Symbol(kaiseri.rubidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 105)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -4348,7 +4348,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 78)) juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->juninensis : Symbol(juninensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 177)) +>juninensis : Symbol(kaiseri.juninensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 177)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 45)) @@ -4359,7 +4359,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 45)) marginata() : argurus.wetmorei>> { var x : argurus.wetmorei>>; () => { var y = this; }; return x; } ->marginata : Symbol(marginata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 108)) +>marginata : Symbol(kaiseri.marginata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 108)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -4394,7 +4394,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 175)) Meitnerium() : ruatanica.Praseodymium> { var x : ruatanica.Praseodymium>; () => { var y = this; }; return x; } ->Meitnerium : Symbol(Meitnerium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 369)) +>Meitnerium : Symbol(kaiseri.Meitnerium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 369)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -4421,7 +4421,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 127)) pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->pinetorum : Symbol(pinetorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 272)) +>pinetorum : Symbol(kaiseri.pinetorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 272)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 47)) @@ -4432,7 +4432,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 47)) hoolock() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->hoolock : Symbol(hoolock, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 113)) +>hoolock : Symbol(kaiseri.hoolock, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 113)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -4451,7 +4451,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 73)) poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->poeyi : Symbol(poeyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 167)) +>poeyi : Symbol(kaiseri.poeyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 167)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 40)) @@ -4462,7 +4462,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 40)) Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->Thulium : Symbol(Thulium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 103)) +>Thulium : Symbol(kaiseri.Thulium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 103)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 39)) @@ -4473,7 +4473,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 39)) patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->patrius : Symbol(patrius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 99)) +>patrius : Symbol(kaiseri.patrius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 99)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 41)) @@ -4484,7 +4484,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 41)) quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; } ->quadraticauda : Symbol(quadraticauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 103)) +>quadraticauda : Symbol(kaiseri.quadraticauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 103)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 47)) @@ -4495,7 +4495,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 47)) ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->ater : Symbol(ater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 109)) +>ater : Symbol(kaiseri.ater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 109)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 343, 39)) @@ -4509,7 +4509,7 @@ module dogramacii { >aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) grunniens() : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; } ->grunniens : Symbol(grunniens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 345, 23)) +>grunniens : Symbol(aurata.grunniens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 345, 23)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -4542,7 +4542,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 150)) howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->howensis : Symbol(howensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 319)) +>howensis : Symbol(aurata.howensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 319)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 43)) @@ -4553,7 +4553,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 43)) karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->karlkoopmani : Symbol(karlkoopmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 106)) +>karlkoopmani : Symbol(aurata.karlkoopmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 106)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 44)) @@ -4564,7 +4564,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 44)) mirapitanga() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->mirapitanga : Symbol(mirapitanga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 104)) +>mirapitanga : Symbol(aurata.mirapitanga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 104)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -4583,7 +4583,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 87)) ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; } ->ophiodon : Symbol(ophiodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 191)) +>ophiodon : Symbol(aurata.ophiodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 191)) >aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 29)) >aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) @@ -4592,7 +4592,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 29)) landeri() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->landeri : Symbol(landeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 78)) +>landeri : Symbol(aurata.landeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 78)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -4611,7 +4611,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 83)) sonomae() : trivirgatus.lotor, koepckeae> { var x : trivirgatus.lotor, koepckeae>; () => { var y = this; }; return x; } ->sonomae : Symbol(sonomae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 187)) +>sonomae : Symbol(aurata.sonomae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 187)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -4636,7 +4636,7 @@ module dogramacii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 102)) erythromos() : caurinus.johorensis, nigra.dolichurus> { var x : caurinus.johorensis, nigra.dolichurus>; () => { var y = this; }; return x; } ->erythromos : Symbol(erythromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 225)) +>erythromos : Symbol(aurata.erythromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 225)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -4681,7 +4681,7 @@ module lutreolus { >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->mittendorfi : Symbol(mittendorfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 357, 47)) +>mittendorfi : Symbol(schlegeli.mittendorfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 357, 47)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 49)) @@ -4692,7 +4692,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 49)) blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->blicki : Symbol(blicki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 115)) +>blicki : Symbol(schlegeli.blicki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 115)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 42)) @@ -4703,7 +4703,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 42)) culionensis() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->culionensis : Symbol(culionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 106)) +>culionensis : Symbol(schlegeli.culionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 106)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -4722,7 +4722,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 89)) scrofa() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->scrofa : Symbol(scrofa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 195)) +>scrofa : Symbol(schlegeli.scrofa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 195)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -4741,7 +4741,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 77)) fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->fernandoni : Symbol(fernandoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 176)) +>fernandoni : Symbol(schlegeli.fernandoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 176)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 47)) @@ -4752,7 +4752,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 47)) Tin() : sagitta.leptoceros> { var x : sagitta.leptoceros>; () => { var y = this; }; return x; } ->Tin : Symbol(Tin, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 112)) +>Tin : Symbol(schlegeli.Tin, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 112)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -4779,7 +4779,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 126)) marmorata() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->marmorata : Symbol(marmorata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 277)) +>marmorata : Symbol(schlegeli.marmorata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 277)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -4806,7 +4806,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 129)) tavaratra() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->tavaratra : Symbol(tavaratra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 277)) +>tavaratra : Symbol(schlegeli.tavaratra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 277)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -4825,7 +4825,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 81)) peregrina() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->peregrina : Symbol(peregrina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 181)) +>peregrina : Symbol(schlegeli.peregrina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 181)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -4844,7 +4844,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 88)) frontalis() : macrorhinos.marmosurus>, samarensis.pallidus> { var x : macrorhinos.marmosurus>, samarensis.pallidus>; () => { var y = this; }; return x; } ->frontalis : Symbol(frontalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 195)) +>frontalis : Symbol(schlegeli.frontalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 195)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -4879,7 +4879,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 163)) cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; } ->cuniculus : Symbol(cuniculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 345)) +>cuniculus : Symbol(schlegeli.cuniculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 345)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) >uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 39)) @@ -4890,7 +4890,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 39)) magdalenae() : julianae.gerbillus> { var x : julianae.gerbillus>; () => { var y = this; }; return x; } ->magdalenae : Symbol(magdalenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 97)) +>magdalenae : Symbol(schlegeli.magdalenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 97)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -4917,7 +4917,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 131)) andamanensis() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->andamanensis : Symbol(andamanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 280)) +>andamanensis : Symbol(schlegeli.andamanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 280)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -4936,7 +4936,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 84)) dispar() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->dispar : Symbol(dispar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 184)) +>dispar : Symbol(schlegeli.dispar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 184)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -4964,7 +4964,7 @@ module argurus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 27)) chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->chinensis : Symbol(chinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 33)) +>chinensis : Symbol(dauricus.chinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 33)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 43)) @@ -4975,7 +4975,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 43)) duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->duodecimcostatus : Symbol(duodecimcostatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 105)) +>duodecimcostatus : Symbol(dauricus.duodecimcostatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 105)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 51)) @@ -4986,7 +4986,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 51)) foxi() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->foxi : Symbol(foxi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 114)) +>foxi : Symbol(dauricus.foxi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 114)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -5005,7 +5005,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 70)) macleayii() : petrophilus.sodyi>, petrophilus.minutilla> { var x : petrophilus.sodyi>, petrophilus.minutilla>; () => { var y = this; }; return x; } ->macleayii : Symbol(macleayii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 164)) +>macleayii : Symbol(dauricus.macleayii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 164)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -5040,7 +5040,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 173)) darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->darienensis : Symbol(darienensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 365)) +>darienensis : Symbol(dauricus.darienensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 365)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 47)) @@ -5051,7 +5051,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 47)) hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->hardwickii : Symbol(hardwickii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 111)) +>hardwickii : Symbol(dauricus.hardwickii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 111)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 48)) @@ -5062,7 +5062,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 48)) albifrons() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->albifrons : Symbol(albifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 114)) +>albifrons : Symbol(dauricus.albifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 114)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -5081,7 +5081,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 84)) jacobitus() : caurinus.johorensis>> { var x : caurinus.johorensis>>; () => { var y = this; }; return x; } ->jacobitus : Symbol(jacobitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 187)) +>jacobitus : Symbol(dauricus.jacobitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 187)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -5116,7 +5116,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 169)) guentheri() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->guentheri : Symbol(guentheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 357)) +>guentheri : Symbol(dauricus.guentheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 357)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -5135,7 +5135,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 72)) mahomet() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->mahomet : Symbol(mahomet, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 163)) +>mahomet : Symbol(dauricus.mahomet, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 163)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -5154,7 +5154,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 79)) misionensis() : macrorhinos.marmosurus, gabriellae.echinatus> { var x : macrorhinos.marmosurus, gabriellae.echinatus>; () => { var y = this; }; return x; } ->misionensis : Symbol(misionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 179)) +>misionensis : Symbol(dauricus.misionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 179)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) @@ -5190,7 +5190,7 @@ module nigra { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 29)) solomonis() : panglima.abidi, argurus.netscheri, julianae.oralis>>> { var x : panglima.abidi, argurus.netscheri, julianae.oralis>>>; () => { var y = this; }; return x; } ->solomonis : Symbol(solomonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 35)) +>solomonis : Symbol(dolichurus.solomonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 35)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -5249,7 +5249,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 270)) alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->alfredi : Symbol(alfredi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 559)) +>alfredi : Symbol(dolichurus.alfredi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 559)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 39)) @@ -5260,7 +5260,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 39)) morrisi() : ruatanica.hector, quasiater.wattsi>>> { var x : ruatanica.hector, quasiater.wattsi>>>; () => { var y = this; }; return x; } ->morrisi : Symbol(morrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 99)) +>morrisi : Symbol(dolichurus.morrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 99)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -5311,7 +5311,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 248)) lekaguli() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->lekaguli : Symbol(lekaguli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 517)) +>lekaguli : Symbol(dolichurus.lekaguli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 517)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -5330,7 +5330,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 78)) dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->dimissus : Symbol(dimissus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 176)) +>dimissus : Symbol(dolichurus.dimissus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 176)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 45)) @@ -5341,7 +5341,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 45)) phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->phaeotis : Symbol(phaeotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 110)) +>phaeotis : Symbol(dolichurus.phaeotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 110)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 41)) @@ -5352,7 +5352,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 41)) ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->ustus : Symbol(ustus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 102)) +>ustus : Symbol(dolichurus.ustus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 102)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 39)) @@ -5363,7 +5363,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 39)) sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->sagei : Symbol(sagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 101)) +>sagei : Symbol(dolichurus.sagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 101)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 398, 33)) @@ -5394,7 +5394,7 @@ module panglima { >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) bottegi(): macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->bottegi : Symbol(bottegi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 402, 147)) +>bottegi : Symbol(amphibius.bottegi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 402, 147)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -5427,7 +5427,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 160)) jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->jerdoni : Symbol(jerdoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 337)) +>jerdoni : Symbol(amphibius.jerdoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 337)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 48)) @@ -5438,7 +5438,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 48)) camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->camtschatica : Symbol(camtschatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 113)) +>camtschatica : Symbol(amphibius.camtschatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 113)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 49)) @@ -5449,7 +5449,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 49)) spadix(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spadix : Symbol(spadix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 110)) +>spadix : Symbol(amphibius.spadix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 110)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -5468,7 +5468,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 85)) luismanueli(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->luismanueli : Symbol(luismanueli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 188)) +>luismanueli : Symbol(amphibius.luismanueli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 188)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -5487,7 +5487,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 88)) aceramarcae(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->aceramarcae : Symbol(aceramarcae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 189)) +>aceramarcae : Symbol(amphibius.aceramarcae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 189)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -5514,7 +5514,7 @@ module panglima { >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) crassulus(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->crassulus : Symbol(crassulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 410, 63)) +>crassulus : Symbol(fundatus.crassulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 410, 63)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) @@ -5533,7 +5533,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 85)) flamarioni(): imperfecta.lasiurus>, sagitta.leptoceros>> { var x: imperfecta.lasiurus>, sagitta.leptoceros>>; () => { var y = this; }; return x; } ->flamarioni : Symbol(flamarioni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 185)) +>flamarioni : Symbol(fundatus.flamarioni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 185)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) @@ -5582,7 +5582,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 245)) mirabilis(): macrorhinos.marmosurus, lavali.lepturus> { var x: macrorhinos.marmosurus, lavali.lepturus>; () => { var y = this; }; return x; } ->mirabilis : Symbol(mirabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 504)) +>mirabilis : Symbol(fundatus.mirabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 504)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -5621,7 +5621,7 @@ module panglima { >durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->greyii : Symbol(greyii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 415, 94)) +>greyii : Symbol(abidi.greyii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 415, 94)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 45)) @@ -5632,7 +5632,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 45)) macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->macedonicus : Symbol(macedonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 108)) +>macedonicus : Symbol(abidi.macedonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 108)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 50)) @@ -5643,7 +5643,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 50)) galili(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->galili : Symbol(galili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 113)) +>galili : Symbol(abidi.galili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 113)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -5662,7 +5662,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 86)) thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->thierryi : Symbol(thierryi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 190)) +>thierryi : Symbol(abidi.thierryi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 190)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 47)) @@ -5673,7 +5673,7 @@ module panglima { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 47)) ega(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ega : Symbol(ega, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 110)) +>ega : Symbol(abidi.ega, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 110)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -5707,7 +5707,7 @@ module quasiater { >carolinensis : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->concinna : Symbol(concinna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 424, 31)) +>concinna : Symbol(carolinensis.concinna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 424, 31)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 44)) @@ -5718,7 +5718,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 44)) aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->aeneus : Symbol(aeneus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 104)) +>aeneus : Symbol(carolinensis.aeneus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 104)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 37)) @@ -5729,7 +5729,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 37)) aloysiisabaudiae(): argurus.netscheri, lavali.lepturus> { var x: argurus.netscheri, lavali.lepturus>; () => { var y = this; }; return x; } ->aloysiisabaudiae : Symbol(aloysiisabaudiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 92)) +>aloysiisabaudiae : Symbol(carolinensis.aloysiisabaudiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 92)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -5756,7 +5756,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 116)) tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->tenellus : Symbol(tenellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 240)) +>tenellus : Symbol(carolinensis.tenellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 240)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 45)) @@ -5767,7 +5767,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 45)) andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->andium : Symbol(andium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 106)) +>andium : Symbol(carolinensis.andium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 106)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 36)) @@ -5778,7 +5778,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 36)) persephone(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->persephone : Symbol(persephone, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 90)) +>persephone : Symbol(carolinensis.persephone, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 90)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -5797,7 +5797,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 86)) patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->patrizii : Symbol(patrizii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 186)) +>patrizii : Symbol(carolinensis.patrizii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 186)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 431, 45)) @@ -5820,7 +5820,7 @@ module minutus { >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) simoni(): argurus.netscheri> { var x: argurus.netscheri>; () => { var y = this; }; return x; } ->simoni : Symbol(simoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 435, 63)) +>simoni : Symbol(himalayana.simoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 435, 63)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -5847,7 +5847,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 115)) lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->lobata : Symbol(lobata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 248)) +>lobata : Symbol(himalayana.lobata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 248)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 43)) @@ -5858,7 +5858,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 43)) rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->rusticus : Symbol(rusticus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 104)) +>rusticus : Symbol(himalayana.rusticus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 104)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 43)) @@ -5869,7 +5869,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 43)) latona(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->latona : Symbol(latona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 102)) +>latona : Symbol(himalayana.latona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 102)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -5888,7 +5888,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 86)) famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->famulus : Symbol(famulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 190)) +>famulus : Symbol(himalayana.famulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 190)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) >uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 40)) @@ -5899,7 +5899,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 40)) flaviceps(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->flaviceps : Symbol(flaviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 97)) +>flaviceps : Symbol(himalayana.flaviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 97)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -5926,7 +5926,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 109)) paradoxolophus(): nigra.dolichurus> { var x: nigra.dolichurus>; () => { var y = this; }; return x; } ->paradoxolophus : Symbol(paradoxolophus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 233)) +>paradoxolophus : Symbol(himalayana.paradoxolophus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 233)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -5953,7 +5953,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 139)) Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Osmium : Symbol(Osmium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 288)) +>Osmium : Symbol(himalayana.Osmium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 288)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 38)) @@ -5964,7 +5964,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 38)) vulgaris(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->vulgaris : Symbol(vulgaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 94)) +>vulgaris : Symbol(himalayana.vulgaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 94)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -5983,7 +5983,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 81)) betsileoensis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->betsileoensis : Symbol(betsileoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 178)) +>betsileoensis : Symbol(himalayana.betsileoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 178)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -6002,7 +6002,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 88)) vespuccii(): argurus.gilbertii, provocax.melanoleuca> { var x: argurus.gilbertii, provocax.melanoleuca>; () => { var y = this; }; return x; } ->vespuccii : Symbol(vespuccii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 187)) +>vespuccii : Symbol(himalayana.vespuccii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 187)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -6029,7 +6029,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 135)) olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->olympus : Symbol(olympus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 285)) +>olympus : Symbol(himalayana.olympus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 285)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 447, 44)) @@ -6056,7 +6056,7 @@ module caurinus { >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) martiniquensis(): ruatanica.hector>> { var x: ruatanica.hector>>; () => { var y = this; }; return x; } ->martiniquensis : Symbol(martiniquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 451, 111)) +>martiniquensis : Symbol(mahaganus.martiniquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 451, 111)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -6091,7 +6091,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 168)) devius(): samarensis.pelurus, trivirgatus.falconeri>> { var x: samarensis.pelurus, trivirgatus.falconeri>>; () => { var y = this; }; return x; } ->devius : Symbol(devius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 346)) +>devius : Symbol(mahaganus.devius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 346)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -6126,7 +6126,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 153)) masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->masalai : Symbol(masalai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 324)) +>masalai : Symbol(mahaganus.masalai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 324)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 38)) @@ -6137,7 +6137,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 38)) kathleenae(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->kathleenae : Symbol(kathleenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 93)) +>kathleenae : Symbol(mahaganus.kathleenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 93)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) @@ -6156,7 +6156,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 80)) simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->simulus : Symbol(simulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 174)) +>simulus : Symbol(mahaganus.simulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 174)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 45)) @@ -6167,7 +6167,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 45)) nigrovittatus(): caurinus.mahaganus>> { var x: caurinus.mahaganus>>; () => { var y = this; }; return x; } ->nigrovittatus : Symbol(nigrovittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 107)) +>nigrovittatus : Symbol(mahaganus.nigrovittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 107)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -6202,7 +6202,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 165)) senegalensis(): gabriellae.klossii, dammermani.melanops> { var x: gabriellae.klossii, dammermani.melanops>; () => { var y = this; }; return x; } ->senegalensis : Symbol(senegalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 341)) +>senegalensis : Symbol(mahaganus.senegalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 341)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -6229,7 +6229,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 118)) acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->acticola : Symbol(acticola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 248)) +>acticola : Symbol(mahaganus.acticola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 248)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 459, 42)) @@ -6249,7 +6249,7 @@ module macrorhinos { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 31)) tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tansaniana : Symbol(tansaniana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 37)) +>tansaniana : Symbol(marmosurus.tansaniana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 37)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 464, 45)) @@ -6272,7 +6272,7 @@ module howi { >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->pennatus : Symbol(pennatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 468, 63)) +>pennatus : Symbol(angulatus.pennatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 468, 63)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 469, 39)) @@ -6301,7 +6301,7 @@ module nigra { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 27)) dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->dichotomus : Symbol(dichotomus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 33)) +>dichotomus : Symbol(thalia.dichotomus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 33)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 50)) @@ -6312,7 +6312,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 50)) arnuxii(): panamensis.linulus, lavali.beisa> { var x: panamensis.linulus, lavali.beisa>; () => { var y = this; }; return x; } ->arnuxii : Symbol(arnuxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 114)) +>arnuxii : Symbol(thalia.arnuxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 114)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -6339,7 +6339,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 110)) verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->verheyeni : Symbol(verheyeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 237)) +>verheyeni : Symbol(thalia.verheyeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 237)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 47)) @@ -6350,7 +6350,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 47)) dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; } ->dauuricus : Symbol(dauuricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 109)) +>dauuricus : Symbol(thalia.dauuricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 109)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 44)) @@ -6361,7 +6361,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 44)) tristriatus(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->tristriatus : Symbol(tristriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 103)) +>tristriatus : Symbol(thalia.tristriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 103)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -6388,7 +6388,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 124)) lasiura(): panglima.abidi>, Lanthanum.nitidus> { var x: panglima.abidi>, Lanthanum.nitidus>; () => { var y = this; }; return x; } ->lasiura : Symbol(lasiura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 261)) +>lasiura : Symbol(thalia.lasiura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 261)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -6431,7 +6431,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 201)) gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->gangetica : Symbol(gangetica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 419)) +>gangetica : Symbol(thalia.gangetica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 419)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 43)) @@ -6442,7 +6442,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 43)) brucei(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->brucei : Symbol(brucei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 101)) +>brucei : Symbol(thalia.brucei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 101)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -6471,7 +6471,7 @@ module sagitta { >portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) maracajuensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->maracajuensis : Symbol(maracajuensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 489, 56)) +>maracajuensis : Symbol(walkeri.maracajuensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 489, 56)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -6506,7 +6506,7 @@ module minutus { >durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) vexillaris(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->vexillaris : Symbol(vexillaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 494, 95)) +>vexillaris : Symbol(inez.vexillaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 494, 95)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -6559,7 +6559,7 @@ module panamensis { >walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) goslingi(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->goslingi : Symbol(goslingi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 503, 137)) +>goslingi : Symbol(linulus.goslingi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 503, 137)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -6578,7 +6578,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 85)) taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->taki : Symbol(taki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 186)) +>taki : Symbol(linulus.taki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 186)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) >uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 37)) @@ -6589,7 +6589,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 37)) fumosus(): rendalli.moojeni, lavali.beisa> { var x: rendalli.moojeni, lavali.beisa>; () => { var y = this; }; return x; } ->fumosus : Symbol(fumosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 94)) +>fumosus : Symbol(linulus.fumosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 94)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -6616,7 +6616,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 112)) rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->rufinus : Symbol(rufinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 241)) +>rufinus : Symbol(linulus.rufinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 241)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 48)) @@ -6627,7 +6627,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 48)) lami(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->lami : Symbol(lami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 113)) +>lami : Symbol(linulus.lami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 113)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) @@ -6646,7 +6646,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 74)) regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->regina : Symbol(regina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 168)) +>regina : Symbol(linulus.regina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 168)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 45)) @@ -6657,7 +6657,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 45)) nanilla(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->nanilla : Symbol(nanilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 108)) +>nanilla : Symbol(linulus.nanilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 108)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -6676,7 +6676,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 87)) enganus(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->enganus : Symbol(enganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 191)) +>enganus : Symbol(linulus.enganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 191)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -6695,7 +6695,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 76)) gomantongensis(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->gomantongensis : Symbol(gomantongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 169)) +>gomantongensis : Symbol(linulus.gomantongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 169)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -6731,7 +6731,7 @@ module nigra { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 29)) weddellii(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->weddellii : Symbol(weddellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 35)) +>weddellii : Symbol(gracilis.weddellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 35)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -6750,7 +6750,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 80)) echinothrix(): Lanthanum.nitidus, argurus.oreas> { var x: Lanthanum.nitidus, argurus.oreas>; () => { var y = this; }; return x; } ->echinothrix : Symbol(echinothrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 175)) +>echinothrix : Symbol(gracilis.echinothrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 175)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -6777,7 +6777,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 120)) garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->garridoi : Symbol(garridoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 253)) +>garridoi : Symbol(gracilis.garridoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 253)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 46)) @@ -6788,7 +6788,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 46)) rouxii(): nigra.gracilis, nigra.thalia> { var x: nigra.gracilis, nigra.thalia>; () => { var y = this; }; return x; } ->rouxii : Symbol(rouxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 108)) +>rouxii : Symbol(gracilis.rouxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 108)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -6823,7 +6823,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 153)) aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->aurita : Symbol(aurita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 324)) +>aurita : Symbol(gracilis.aurita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 324)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 42)) @@ -6834,7 +6834,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 42)) geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->geoffrensis : Symbol(geoffrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 102)) +>geoffrensis : Symbol(gracilis.geoffrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 102)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 52)) @@ -6845,7 +6845,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 52)) theresa(): macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus> { var x: macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus>; () => { var y = this; }; return x; } ->theresa : Symbol(theresa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 117)) +>theresa : Symbol(gracilis.theresa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 117)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -6888,7 +6888,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 197)) melanocarpus(): julianae.albidens, julianae.sumatrana> { var x: julianae.albidens, julianae.sumatrana>; () => { var y = this; }; return x; } ->melanocarpus : Symbol(melanocarpus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 411)) +>melanocarpus : Symbol(gracilis.melanocarpus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 411)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -6915,7 +6915,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 124)) dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->dubiaquercus : Symbol(dubiaquercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 260)) +>dubiaquercus : Symbol(gracilis.dubiaquercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 260)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 51)) @@ -6926,7 +6926,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 51)) pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->pectoralis : Symbol(pectoralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 114)) +>pectoralis : Symbol(gracilis.pectoralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 114)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 46)) @@ -6937,7 +6937,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 46)) apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->apoensis : Symbol(apoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 106)) +>apoensis : Symbol(gracilis.apoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 106)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 46)) @@ -6948,7 +6948,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 46)) grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->grisescens : Symbol(grisescens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 108)) +>grisescens : Symbol(gracilis.grisescens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 108)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 47)) @@ -6959,7 +6959,7 @@ module nigra { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 47)) ramirohitra(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->ramirohitra : Symbol(ramirohitra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 108)) +>ramirohitra : Symbol(gracilis.ramirohitra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 108)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -6990,7 +6990,7 @@ module samarensis { >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) Palladium(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->Palladium : Symbol(Palladium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 533, 61)) +>Palladium : Symbol(pelurus.Palladium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 533, 61)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -7009,7 +7009,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 95)) castanea(): argurus.netscheri, julianae.oralis> { var x: argurus.netscheri, julianae.oralis>; () => { var y = this; }; return x; } ->castanea : Symbol(castanea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 205)) +>castanea : Symbol(pelurus.castanea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 205)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -7044,7 +7044,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 152)) chamek(): argurus.pygmaea { var x: argurus.pygmaea; () => { var y = this; }; return x; } ->chamek : Symbol(chamek, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 320)) +>chamek : Symbol(pelurus.chamek, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 320)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >pygmaea : Symbol(argurus.pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7063,7 +7063,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 85)) nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nigriceps : Symbol(nigriceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 188)) +>nigriceps : Symbol(pelurus.nigriceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 188)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 44)) @@ -7074,7 +7074,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 44)) lunatus(): pelurus { var x: pelurus; () => { var y = this; }; return x; } ->lunatus : Symbol(lunatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 103)) +>lunatus : Symbol(pelurus.lunatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 103)) >pelurus : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) @@ -7091,7 +7091,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 70)) madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->madurae : Symbol(madurae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 157)) +>madurae : Symbol(pelurus.madurae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 157)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 48)) @@ -7102,7 +7102,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 48)) chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->chinchilla : Symbol(chinchilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 113)) +>chinchilla : Symbol(pelurus.chinchilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 113)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 51)) @@ -7113,7 +7113,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 51)) eliasi(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->eliasi : Symbol(eliasi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 116)) +>eliasi : Symbol(pelurus.eliasi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 116)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7132,7 +7132,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 75)) proditor(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->proditor : Symbol(proditor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 168)) +>proditor : Symbol(pelurus.proditor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 168)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -7151,7 +7151,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 86)) gambianus(): quasiater.wattsi> { var x: quasiater.wattsi>; () => { var y = this; }; return x; } ->gambianus : Symbol(gambianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 188)) +>gambianus : Symbol(pelurus.gambianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 188)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7178,7 +7178,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 134)) petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->petteri : Symbol(petteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 283)) +>petteri : Symbol(pelurus.petteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 283)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 43)) @@ -7189,7 +7189,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 43)) nusatenggara(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->nusatenggara : Symbol(nusatenggara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 103)) +>nusatenggara : Symbol(pelurus.nusatenggara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 103)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -7208,7 +7208,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 89)) olitor(): rionegrensis.veraecrucis { var x: rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->olitor : Symbol(olitor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 190)) +>olitor : Symbol(pelurus.olitor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 190)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -7235,7 +7235,7 @@ module samarensis { >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) planifrons(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->planifrons : Symbol(planifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 548, 65)) +>planifrons : Symbol(fuscus.planifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 548, 65)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7254,7 +7254,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 82)) badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->badia : Symbol(badia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 178)) +>badia : Symbol(fuscus.badia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 178)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 41)) @@ -7265,7 +7265,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 41)) prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->prymnolopha : Symbol(prymnolopha, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 101)) +>prymnolopha : Symbol(fuscus.prymnolopha, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 101)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 44)) @@ -7276,7 +7276,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 44)) natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->natalensis : Symbol(natalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 101)) +>natalensis : Symbol(fuscus.natalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 101)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 49)) @@ -7287,7 +7287,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 49)) hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; } ->hunteri : Symbol(hunteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 112)) +>hunteri : Symbol(fuscus.hunteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 112)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 42)) @@ -7298,7 +7298,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 42)) sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; } ->sapiens : Symbol(sapiens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 101)) +>sapiens : Symbol(fuscus.sapiens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 101)) >pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 33)) >pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) @@ -7307,7 +7307,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 33)) macrocercus(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->macrocercus : Symbol(macrocercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 83)) +>macrocercus : Symbol(fuscus.macrocercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 83)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -7326,7 +7326,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 91)) nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nimbae : Symbol(nimbae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 195)) +>nimbae : Symbol(fuscus.nimbae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 195)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 41)) @@ -7337,7 +7337,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 41)) suricatta(): daubentonii.nigricans { var x: daubentonii.nigricans; () => { var y = this; }; return x; } ->suricatta : Symbol(suricatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 100)) +>suricatta : Symbol(fuscus.suricatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 100)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -7356,7 +7356,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 93)) jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->jagorii : Symbol(jagorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 201)) +>jagorii : Symbol(fuscus.jagorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 201)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 47)) @@ -7367,7 +7367,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 47)) beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->beecrofti : Symbol(beecrofti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 111)) +>beecrofti : Symbol(fuscus.beecrofti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 111)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 45)) @@ -7378,7 +7378,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 45)) imaizumii(): minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->imaizumii : Symbol(imaizumii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 105)) +>imaizumii : Symbol(fuscus.imaizumii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 105)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7429,7 +7429,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 233)) colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; } ->colocolo : Symbol(colocolo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 481)) +>colocolo : Symbol(fuscus.colocolo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 481)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 46)) @@ -7440,7 +7440,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 46)) wolfi(): petrophilus.rosalia> { var x: petrophilus.rosalia>; () => { var y = this; }; return x; } ->wolfi : Symbol(wolfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 108)) +>wolfi : Symbol(fuscus.wolfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 108)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -7470,7 +7470,7 @@ module samarensis { >pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->oblativa : Symbol(oblativa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 564, 27)) +>oblativa : Symbol(pallidus.oblativa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 564, 27)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 47)) @@ -7481,7 +7481,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 47)) watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->watersi : Symbol(watersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 110)) +>watersi : Symbol(pallidus.watersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 110)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 39)) @@ -7492,7 +7492,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 39)) glacialis(): sagitta.cinereus, quasiater.wattsi>> { var x: sagitta.cinereus, quasiater.wattsi>>; () => { var y = this; }; return x; } ->glacialis : Symbol(glacialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 95)) +>glacialis : Symbol(pallidus.glacialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 95)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) @@ -7535,7 +7535,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 212)) viaria(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->viaria : Symbol(viaria, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 439)) +>viaria : Symbol(pallidus.viaria, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 439)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -7559,7 +7559,7 @@ module samarensis { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 30)) alashanicus(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->alashanicus : Symbol(alashanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 36)) +>alashanicus : Symbol(cahirinus.alashanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 36)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -7578,7 +7578,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 86)) flaviventer(): trivirgatus.tumidifrons> { var x: trivirgatus.tumidifrons>; () => { var y = this; }; return x; } ->flaviventer : Symbol(flaviventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 185)) +>flaviventer : Symbol(cahirinus.flaviventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 185)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -7605,7 +7605,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 134)) bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->bottai : Symbol(bottai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 281)) +>bottai : Symbol(cahirinus.bottai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 281)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 43)) @@ -7616,7 +7616,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 43)) pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->pinetis : Symbol(pinetis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 104)) +>pinetis : Symbol(cahirinus.pinetis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 104)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 38)) @@ -7627,7 +7627,7 @@ module samarensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 38)) saussurei(): rendalli.crenulata, argurus.netscheri, julianae.oralis>> { var x: rendalli.crenulata, argurus.netscheri, julianae.oralis>>; () => { var y = this; }; return x; } ->saussurei : Symbol(saussurei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 93)) +>saussurei : Symbol(cahirinus.saussurei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 93)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -7698,7 +7698,7 @@ module sagitta { >stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->victus : Symbol(victus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 579, 145)) +>victus : Symbol(leptoceros.victus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 579, 145)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 47)) @@ -7709,7 +7709,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 47)) hoplomyoides(): panglima.fundatus, nigra.gracilis> { var x: panglima.fundatus, nigra.gracilis>; () => { var y = this; }; return x; } ->hoplomyoides : Symbol(hoplomyoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 112)) +>hoplomyoides : Symbol(leptoceros.hoplomyoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 112)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7744,7 +7744,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 168)) gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->gratiosus : Symbol(gratiosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 348)) +>gratiosus : Symbol(leptoceros.gratiosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 348)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 42)) @@ -7755,7 +7755,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 42)) rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->rex : Symbol(rex, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 99)) +>rex : Symbol(leptoceros.rex, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 99)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 35)) @@ -7766,7 +7766,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 35)) bolami(): trivirgatus.tumidifrons { var x: trivirgatus.tumidifrons; () => { var y = this; }; return x; } ->bolami : Symbol(bolami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 91)) +>bolami : Symbol(leptoceros.bolami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 91)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -7797,7 +7797,7 @@ module daubentonii { >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->woosnami : Symbol(woosnami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 588, 63)) +>woosnami : Symbol(nigricans.woosnami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 588, 63)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 589, 47)) @@ -7833,7 +7833,7 @@ module argurus { >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->pajeros : Symbol(pajeros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 597, 106)) +>pajeros : Symbol(pygmaea.pajeros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 597, 106)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 45)) @@ -7844,7 +7844,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 45)) capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->capucinus : Symbol(capucinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 107)) +>capucinus : Symbol(pygmaea.capucinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 107)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 45)) @@ -7855,7 +7855,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 45)) cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->cuvieri : Symbol(cuvieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 105)) +>cuvieri : Symbol(pygmaea.cuvieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 105)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 600, 48)) @@ -7878,7 +7878,7 @@ module chrysaeolus { >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->belzebul : Symbol(belzebul, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 604, 64)) +>belzebul : Symbol(sarasinorum.belzebul, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 604, 64)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 45)) @@ -7889,7 +7889,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 45)) hinpoon(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->hinpoon : Symbol(hinpoon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 106)) +>hinpoon : Symbol(sarasinorum.hinpoon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 106)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -7908,7 +7908,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 83)) kandti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->kandti : Symbol(kandti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 183)) +>kandti : Symbol(sarasinorum.kandti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 183)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -7927,7 +7927,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 81)) cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cynosuros : Symbol(cynosuros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 180)) +>cynosuros : Symbol(sarasinorum.cynosuros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 180)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 46)) @@ -7938,7 +7938,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 46)) Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->Germanium : Symbol(Germanium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 107)) +>Germanium : Symbol(sarasinorum.Germanium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 107)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 39)) @@ -7949,7 +7949,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 39)) Ununoctium(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->Ununoctium : Symbol(Ununoctium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 93)) +>Ununoctium : Symbol(sarasinorum.Ununoctium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 93)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -7968,7 +7968,7 @@ module chrysaeolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 86)) princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->princeps : Symbol(princeps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 186)) +>princeps : Symbol(sarasinorum.princeps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 186)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 611, 47)) @@ -7988,7 +7988,7 @@ module argurus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 29)) leucoptera(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->leucoptera : Symbol(leucoptera, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 35)) +>leucoptera : Symbol(wetmorei.leucoptera, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 35)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -8007,7 +8007,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 86)) ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->ochraventer : Symbol(ochraventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 186)) +>ochraventer : Symbol(wetmorei.ochraventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 186)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 44)) @@ -8018,7 +8018,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 44)) tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->tephromelas : Symbol(tephromelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 101)) +>tephromelas : Symbol(wetmorei.tephromelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 101)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 48)) @@ -8029,7 +8029,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 48)) cracens(): argurus.gilbertii { var x: argurus.gilbertii; () => { var y = this; }; return x; } ->cracens : Symbol(cracens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 109)) +>cracens : Symbol(wetmorei.cracens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 109)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >gilbertii : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -8048,7 +8048,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 78)) jamaicensis(): nigra.thalia> { var x: nigra.thalia>; () => { var y = this; }; return x; } ->jamaicensis : Symbol(jamaicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 173)) +>jamaicensis : Symbol(wetmorei.jamaicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 173)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -8075,7 +8075,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 129)) gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->gymnocaudus : Symbol(gymnocaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 271)) +>gymnocaudus : Symbol(wetmorei.gymnocaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 271)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 46)) @@ -8086,7 +8086,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 46)) mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->mayori : Symbol(mayori, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 105)) +>mayori : Symbol(wetmorei.mayori, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 105)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 622, 42)) @@ -8107,7 +8107,7 @@ module argurus { >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->salamonis : Symbol(salamonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 626, 47)) +>salamonis : Symbol(oreas.salamonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 626, 47)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 47)) @@ -8118,7 +8118,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 47)) paniscus(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->paniscus : Symbol(paniscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 109)) +>paniscus : Symbol(oreas.paniscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 109)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -8137,7 +8137,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 89)) fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fagani : Symbol(fagani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 194)) +>fagani : Symbol(oreas.fagani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 194)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 45)) @@ -8148,7 +8148,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 45)) papuanus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->papuanus : Symbol(papuanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 108)) +>papuanus : Symbol(oreas.papuanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 108)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -8167,7 +8167,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 92)) timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->timidus : Symbol(timidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 200)) +>timidus : Symbol(oreas.timidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 200)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 44)) @@ -8178,7 +8178,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 44)) nghetinhensis(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->nghetinhensis : Symbol(nghetinhensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 105)) +>nghetinhensis : Symbol(oreas.nghetinhensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 105)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -8197,7 +8197,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 85)) barbei(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->barbei : Symbol(barbei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 181)) +>barbei : Symbol(oreas.barbei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 181)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -8216,7 +8216,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 85)) univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->univittatus : Symbol(univittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 188)) +>univittatus : Symbol(oreas.univittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 188)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 634, 47)) @@ -8236,7 +8236,7 @@ module daubentonii { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 29)) capreolus(): rendalli.crenulata, lavali.wilsoni> { var x: rendalli.crenulata, lavali.wilsoni>; () => { var y = this; }; return x; } ->capreolus : Symbol(capreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 35)) +>capreolus : Symbol(arboreus.capreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 35)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -8263,7 +8263,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 124)) moreni(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->moreni : Symbol(moreni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 263)) +>moreni : Symbol(arboreus.moreni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 263)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -8282,7 +8282,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 84)) hypoleucos(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->hypoleucos : Symbol(hypoleucos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 186)) +>hypoleucos : Symbol(arboreus.hypoleucos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 186)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -8301,7 +8301,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 83)) paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->paedulcus : Symbol(paedulcus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 180)) +>paedulcus : Symbol(arboreus.paedulcus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 180)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 48)) @@ -8312,7 +8312,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 48)) pucheranii(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pucheranii : Symbol(pucheranii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 111)) +>pucheranii : Symbol(arboreus.pucheranii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 111)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -8331,7 +8331,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 86)) stella(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->stella : Symbol(stella, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 186)) +>stella : Symbol(arboreus.stella, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 186)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -8350,7 +8350,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 80)) brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->brasiliensis : Symbol(brasiliensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 178)) +>brasiliensis : Symbol(arboreus.brasiliensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 178)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 52)) @@ -8361,7 +8361,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 52)) brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->brevicaudata : Symbol(brevicaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 116)) +>brevicaudata : Symbol(arboreus.brevicaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 116)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 51)) @@ -8372,7 +8372,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 51)) vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->vitticollis : Symbol(vitticollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 114)) +>vitticollis : Symbol(arboreus.vitticollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 114)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 49)) @@ -8383,7 +8383,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 49)) huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->huangensis : Symbol(huangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 111)) +>huangensis : Symbol(arboreus.huangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 111)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 45)) @@ -8394,7 +8394,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 45)) cameroni(): petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> { var x: petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus>; () => { var y = this; }; return x; } ->cameroni : Symbol(cameroni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 104)) +>cameroni : Symbol(arboreus.cameroni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 104)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -8437,7 +8437,7 @@ module daubentonii { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 210)) tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->tianshanica : Symbol(tianshanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 436)) +>tianshanica : Symbol(arboreus.tianshanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 436)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 650, 42)) @@ -8455,7 +8455,7 @@ module patas { >uralensis : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) cartilagonodus(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->cartilagonodus : Symbol(cartilagonodus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 654, 28)) +>cartilagonodus : Symbol(uralensis.cartilagonodus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 654, 28)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -8474,7 +8474,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 95)) pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->pyrrhinus : Symbol(pyrrhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 200)) +>pyrrhinus : Symbol(uralensis.pyrrhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 200)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 39)) @@ -8485,7 +8485,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 39)) insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->insulans : Symbol(insulans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 93)) +>insulans : Symbol(uralensis.insulans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 93)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 45)) @@ -8496,7 +8496,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 45)) nigricauda(): caurinus.johorensis, Lanthanum.jugularis> { var x: caurinus.johorensis, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->nigricauda : Symbol(nigricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 106)) +>nigricauda : Symbol(uralensis.nigricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 106)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -8523,7 +8523,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 130)) muricauda(): panglima.fundatus> { var x: panglima.fundatus>; () => { var y = this; }; return x; } ->muricauda : Symbol(muricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 274)) +>muricauda : Symbol(uralensis.muricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 274)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -8550,7 +8550,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 120)) albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->albicaudus : Symbol(albicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 255)) +>albicaudus : Symbol(uralensis.albicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 255)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 46)) @@ -8561,7 +8561,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 46)) fallax(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->fallax : Symbol(fallax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 106)) +>fallax : Symbol(uralensis.fallax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 106)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -8580,7 +8580,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 78)) attenuata(): macrorhinos.marmosurus> { var x: macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->attenuata : Symbol(attenuata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 174)) +>attenuata : Symbol(uralensis.attenuata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 174)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) @@ -8607,7 +8607,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 134)) megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->megalura : Symbol(megalura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 283)) +>megalura : Symbol(uralensis.megalura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 283)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 39)) @@ -8618,7 +8618,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 39)) neblina(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->neblina : Symbol(neblina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 94)) +>neblina : Symbol(uralensis.neblina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 94)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -8637,7 +8637,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 93)) citellus(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->citellus : Symbol(citellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 203)) +>citellus : Symbol(uralensis.citellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 203)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -8656,7 +8656,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 95)) tanezumi(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->tanezumi : Symbol(tanezumi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 206)) +>tanezumi : Symbol(uralensis.tanezumi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 206)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -8675,7 +8675,7 @@ module patas { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 87)) albiventer(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->albiventer : Symbol(albiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 190)) +>albiventer : Symbol(uralensis.albiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 190)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -8704,7 +8704,7 @@ module provocax { >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) Neodymium(): macrorhinos.marmosurus, lutreolus.foina> { var x: macrorhinos.marmosurus, lutreolus.foina>; () => { var y = this; }; return x; } ->Neodymium : Symbol(Neodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 671, 53)) +>Neodymium : Symbol(melanoleuca.Neodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 671, 53)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -8731,7 +8731,7 @@ module provocax { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 130)) baeri(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->baeri : Symbol(baeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 275)) +>baeri : Symbol(melanoleuca.baeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 275)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -8759,7 +8759,7 @@ module sagitta { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 29)) Chlorine(): samarensis.cahirinus, dogramacii.robustulus> { var x: samarensis.cahirinus, dogramacii.robustulus>; () => { var y = this; }; return x; } ->Chlorine : Symbol(Chlorine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 35)) +>Chlorine : Symbol(sicarius.Chlorine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 35)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) @@ -8786,7 +8786,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 127)) simulator(): macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; } ->simulator : Symbol(simulator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 270)) +>simulator : Symbol(sicarius.simulator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 270)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -8847,7 +8847,7 @@ module howi { >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->formosae : Symbol(formosae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 683, 55)) +>formosae : Symbol(marcanoi.formosae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 683, 55)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 45)) @@ -8858,7 +8858,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 45)) dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->dudui : Symbol(dudui, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 106)) +>dudui : Symbol(marcanoi.dudui, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 106)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 40)) @@ -8869,7 +8869,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 40)) leander(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->leander : Symbol(leander, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 99)) +>leander : Symbol(marcanoi.leander, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 99)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -8888,7 +8888,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 89)) martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->martinsi : Symbol(martinsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 195)) +>martinsi : Symbol(marcanoi.martinsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 195)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 43)) @@ -8899,7 +8899,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 43)) beatrix(): imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> { var x: imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>>; () => { var y = this; }; return x; } ->beatrix : Symbol(beatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 102)) +>beatrix : Symbol(marcanoi.beatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 102)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) @@ -8958,7 +8958,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 286)) griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->griseoventer : Symbol(griseoventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 589)) +>griseoventer : Symbol(marcanoi.griseoventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 589)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 43)) @@ -8969,7 +8969,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 43)) zerda(): quasiater.wattsi, howi.coludo>> { var x: quasiater.wattsi, howi.coludo>>; () => { var y = this; }; return x; } ->zerda : Symbol(zerda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 98)) +>zerda : Symbol(marcanoi.zerda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 98)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -9012,7 +9012,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 183)) yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->yucatanicus : Symbol(yucatanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 385)) +>yucatanicus : Symbol(marcanoi.yucatanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 385)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 48)) @@ -9023,7 +9023,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 48)) nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->nigrita : Symbol(nigrita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 109)) +>nigrita : Symbol(marcanoi.nigrita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 109)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 43)) @@ -9034,7 +9034,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 43)) jouvenetae(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->jouvenetae : Symbol(jouvenetae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 103)) +>jouvenetae : Symbol(marcanoi.jouvenetae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 103)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9053,7 +9053,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 81)) indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->indefessus : Symbol(indefessus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 176)) +>indefessus : Symbol(marcanoi.indefessus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 176)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 43)) @@ -9064,7 +9064,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 43)) vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->vuquangensis : Symbol(vuquangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 100)) +>vuquangensis : Symbol(marcanoi.vuquangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 100)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 53)) @@ -9075,7 +9075,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 53)) Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->Zirconium : Symbol(Zirconium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 118)) +>Zirconium : Symbol(marcanoi.Zirconium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 118)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 42)) @@ -9086,7 +9086,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 42)) hyaena(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->hyaena : Symbol(hyaena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 99)) +>hyaena : Symbol(marcanoi.hyaena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 99)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9114,7 +9114,7 @@ module argurus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 30)) nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->nasutus : Symbol(nasutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 36)) +>nasutus : Symbol(gilbertii.nasutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 36)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 40)) @@ -9125,7 +9125,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 40)) poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->poecilops : Symbol(poecilops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 97)) +>poecilops : Symbol(gilbertii.poecilops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 97)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 43)) @@ -9136,7 +9136,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 43)) sondaicus(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->sondaicus : Symbol(sondaicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 101)) +>sondaicus : Symbol(gilbertii.sondaicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 101)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9155,7 +9155,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 81)) auriventer(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->auriventer : Symbol(auriventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 177)) +>auriventer : Symbol(gilbertii.auriventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 177)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9174,7 +9174,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 92)) cherriei(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->cherriei : Symbol(cherriei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 198)) +>cherriei : Symbol(gilbertii.cherriei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 198)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -9193,7 +9193,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 84)) lindberghi(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->lindberghi : Symbol(lindberghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 184)) +>lindberghi : Symbol(gilbertii.lindberghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 184)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -9212,7 +9212,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 85)) pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->pipistrellus : Symbol(pipistrellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 184)) +>pipistrellus : Symbol(gilbertii.pipistrellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 184)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 52)) @@ -9223,7 +9223,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 52)) paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paranus : Symbol(paranus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 116)) +>paranus : Symbol(gilbertii.paranus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 116)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 42)) @@ -9234,7 +9234,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 42)) dubosti(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->dubosti : Symbol(dubosti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 101)) +>dubosti : Symbol(gilbertii.dubosti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 101)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -9253,7 +9253,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 78)) opossum(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->opossum : Symbol(opossum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 173)) +>opossum : Symbol(gilbertii.opossum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 173)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9272,7 +9272,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 79)) oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->oreopolus : Symbol(oreopolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 175)) +>oreopolus : Symbol(gilbertii.oreopolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 175)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 48)) @@ -9283,7 +9283,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 48)) amurensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->amurensis : Symbol(amurensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 111)) +>amurensis : Symbol(gilbertii.amurensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 111)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9316,7 +9316,7 @@ module lutreolus { >punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) strandi(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->strandi : Symbol(strandi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 721, 26)) +>strandi : Symbol(punicus.strandi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 721, 26)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -9335,7 +9335,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 85)) lar(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->lar : Symbol(lar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 187)) +>lar : Symbol(punicus.lar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 187)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -9354,7 +9354,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 74)) erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->erica : Symbol(erica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 169)) +>erica : Symbol(punicus.erica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 169)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 43)) @@ -9365,7 +9365,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 43)) trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->trichura : Symbol(trichura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 105)) +>trichura : Symbol(punicus.trichura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 105)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 49)) @@ -9376,7 +9376,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 49)) lemniscatus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->lemniscatus : Symbol(lemniscatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 114)) +>lemniscatus : Symbol(punicus.lemniscatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 114)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -9395,7 +9395,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 82)) aspalax(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->aspalax : Symbol(aspalax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 177)) +>aspalax : Symbol(punicus.aspalax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 177)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9414,7 +9414,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 90)) marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->marshalli : Symbol(marshalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 197)) +>marshalli : Symbol(punicus.marshalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 197)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 46)) @@ -9425,7 +9425,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 46)) Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->Zinc : Symbol(Zinc, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 107)) +>Zinc : Symbol(punicus.Zinc, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 107)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 44)) @@ -9436,7 +9436,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 44)) monochromos(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->monochromos : Symbol(monochromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 108)) +>monochromos : Symbol(punicus.monochromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 108)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -9455,7 +9455,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 76)) purinus(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->purinus : Symbol(purinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 165)) +>purinus : Symbol(punicus.purinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 165)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -9474,7 +9474,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 84)) ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->ischyrus : Symbol(ischyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 185)) +>ischyrus : Symbol(punicus.ischyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 185)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 41)) @@ -9485,7 +9485,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 41)) tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->tenuis : Symbol(tenuis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 98)) +>tenuis : Symbol(punicus.tenuis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 98)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 47)) @@ -9496,7 +9496,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 47)) Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; } ->Helium : Symbol(Helium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 112)) +>Helium : Symbol(punicus.Helium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 112)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 734, 43)) @@ -9514,7 +9514,7 @@ module macrorhinos { >daphaenodon : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bredanensis : Symbol(bredanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 738, 30)) +>bredanensis : Symbol(daphaenodon.bredanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 738, 30)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 47)) @@ -9525,7 +9525,7 @@ module macrorhinos { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 47)) othus(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->othus : Symbol(othus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 107)) +>othus : Symbol(daphaenodon.othus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 107)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9544,7 +9544,7 @@ module macrorhinos { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 64)) hammondi(): julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; } ->hammondi : Symbol(hammondi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 147)) +>hammondi : Symbol(daphaenodon.hammondi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 147)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -9587,7 +9587,7 @@ module macrorhinos { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 193)) aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->aureocollaris : Symbol(aureocollaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 402)) +>aureocollaris : Symbol(daphaenodon.aureocollaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 402)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 53)) @@ -9598,7 +9598,7 @@ module macrorhinos { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 53)) flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->flavipes : Symbol(flavipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 117)) +>flavipes : Symbol(daphaenodon.flavipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 117)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 47)) @@ -9609,7 +9609,7 @@ module macrorhinos { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 47)) callosus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->callosus : Symbol(callosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 110)) +>callosus : Symbol(daphaenodon.callosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 110)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -9637,7 +9637,7 @@ module sagitta { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 29)) zunigae(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->zunigae : Symbol(zunigae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 35)) +>zunigae : Symbol(cinereus.zunigae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 35)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -9664,7 +9664,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 124)) microps(): daubentonii.nigricans> { var x: daubentonii.nigricans>; () => { var y = this; }; return x; } ->microps : Symbol(microps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 265)) +>microps : Symbol(cinereus.microps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 265)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) @@ -9691,7 +9691,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 127)) guaporensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->guaporensis : Symbol(guaporensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 271)) +>guaporensis : Symbol(cinereus.guaporensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 271)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -9710,7 +9710,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 86)) tonkeana(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->tonkeana : Symbol(tonkeana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 185)) +>tonkeana : Symbol(cinereus.tonkeana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 185)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) @@ -9729,7 +9729,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 87)) montensis(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->montensis : Symbol(montensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 190)) +>montensis : Symbol(cinereus.montensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 190)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -9748,7 +9748,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 86)) sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->sphinx : Symbol(sphinx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 187)) +>sphinx : Symbol(cinereus.sphinx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 187)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 45)) @@ -9759,7 +9759,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 45)) glis(): argurus.wetmorei { var x: argurus.wetmorei; () => { var y = this; }; return x; } ->glis : Symbol(glis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 108)) +>glis : Symbol(cinereus.glis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 108)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9778,7 +9778,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 68)) dorsalis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->dorsalis : Symbol(dorsalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 156)) +>dorsalis : Symbol(cinereus.dorsalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 156)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9797,7 +9797,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 81)) fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->fimbriatus : Symbol(fimbriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 178)) +>fimbriatus : Symbol(cinereus.fimbriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 178)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 48)) @@ -9808,7 +9808,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 48)) sara(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->sara : Symbol(sara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 110)) +>sara : Symbol(cinereus.sara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 110)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9827,7 +9827,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 78)) epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->epimelas : Symbol(epimelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 176)) +>epimelas : Symbol(cinereus.epimelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 176)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 44)) @@ -9838,7 +9838,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 44)) pittieri(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pittieri : Symbol(pittieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 104)) +>pittieri : Symbol(cinereus.pittieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 104)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -9885,7 +9885,7 @@ module gabriellae { >amicus : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->pirrensis : Symbol(pirrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 770, 25)) +>pirrensis : Symbol(amicus.pirrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 770, 25)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 43)) @@ -9896,7 +9896,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 43)) phaeura(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->phaeura : Symbol(phaeura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 101)) +>phaeura : Symbol(amicus.phaeura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 101)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -9915,7 +9915,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 76)) voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->voratus : Symbol(voratus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 169)) +>voratus : Symbol(amicus.voratus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 169)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 40)) @@ -9926,7 +9926,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 40)) satarae(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->satarae : Symbol(satarae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 97)) +>satarae : Symbol(amicus.satarae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 97)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -9945,7 +9945,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 76)) hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->hooperi : Symbol(hooperi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 169)) +>hooperi : Symbol(amicus.hooperi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 169)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 42)) @@ -9956,7 +9956,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 42)) perrensi(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->perrensi : Symbol(perrensi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 101)) +>perrensi : Symbol(amicus.perrensi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 101)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -9975,7 +9975,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 82)) ridei(): ruatanica.hector> { var x: ruatanica.hector>; () => { var y = this; }; return x; } ->ridei : Symbol(ridei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 180)) +>ridei : Symbol(amicus.ridei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 180)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -10002,7 +10002,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 117)) audeberti(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->audeberti : Symbol(audeberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 253)) +>audeberti : Symbol(amicus.audeberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 253)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -10021,7 +10021,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 86)) Lutetium(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->Lutetium : Symbol(Lutetium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 187)) +>Lutetium : Symbol(amicus.Lutetium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 187)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -10040,7 +10040,7 @@ module gabriellae { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 85)) atrox(): samarensis.fuscus, dogramacii.koepckeae> { var x: samarensis.fuscus, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->atrox : Symbol(atrox, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 186)) +>atrox : Symbol(amicus.atrox, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 186)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -10070,7 +10070,7 @@ module gabriellae { >echinatus : Symbol(echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) tenuipes(): howi.coludo> { var x: howi.coludo>; () => { var y = this; }; return x; } ->tenuipes : Symbol(tenuipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 782, 28)) +>tenuipes : Symbol(echinatus.tenuipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 782, 28)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -10106,7 +10106,7 @@ module imperfecta { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 29)) marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->marisae : Symbol(marisae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 35)) +>marisae : Symbol(lasiurus.marisae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 35)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 40)) @@ -10117,7 +10117,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 40)) fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->fulvus : Symbol(fulvus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 97)) +>fulvus : Symbol(lasiurus.fulvus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 97)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 40)) @@ -10128,7 +10128,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 40)) paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->paranaensis : Symbol(paranaensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 98)) +>paranaensis : Symbol(lasiurus.paranaensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 98)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 49)) @@ -10139,7 +10139,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 49)) didactylus(): panglima.abidi> { var x: panglima.abidi>; () => { var y = this; }; return x; } ->didactylus : Symbol(didactylus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 111)) +>didactylus : Symbol(lasiurus.didactylus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 111)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -10166,7 +10166,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 130)) schreibersii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->schreibersii : Symbol(schreibersii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 274)) +>schreibersii : Symbol(lasiurus.schreibersii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 274)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -10185,7 +10185,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 84)) orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->orii : Symbol(orii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 180)) +>orii : Symbol(lasiurus.orii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 180)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 793, 40)) @@ -10199,7 +10199,7 @@ module imperfecta { >subspinosus : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->monticularis : Symbol(monticularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 795, 30)) +>monticularis : Symbol(subspinosus.monticularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 795, 30)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 53)) @@ -10210,7 +10210,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 53)) Gadolinium(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->Gadolinium : Symbol(Gadolinium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 118)) +>Gadolinium : Symbol(subspinosus.Gadolinium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 118)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -10229,7 +10229,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 80)) oasicus(): caurinus.johorensis> { var x: caurinus.johorensis>; () => { var y = this; }; return x; } ->oasicus : Symbol(oasicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 174)) +>oasicus : Symbol(subspinosus.oasicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 174)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -10256,7 +10256,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 124)) paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paterculus : Symbol(paterculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 265)) +>paterculus : Symbol(subspinosus.paterculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 265)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 45)) @@ -10267,7 +10267,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 45)) punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->punctata : Symbol(punctata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 104)) +>punctata : Symbol(subspinosus.punctata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 104)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 41)) @@ -10278,7 +10278,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 41)) invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->invictus : Symbol(invictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 98)) +>invictus : Symbol(subspinosus.invictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 98)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 44)) @@ -10289,7 +10289,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 44)) stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->stangeri : Symbol(stangeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 104)) +>stangeri : Symbol(subspinosus.stangeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 104)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 47)) @@ -10300,7 +10300,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 47)) siskiyou(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->siskiyou : Symbol(siskiyou, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 110)) +>siskiyou : Symbol(subspinosus.siskiyou, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 110)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -10319,7 +10319,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 84)) welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->welwitschii : Symbol(welwitschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 184)) +>welwitschii : Symbol(subspinosus.welwitschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 184)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 52)) @@ -10330,7 +10330,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 52)) Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Polonium : Symbol(Polonium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 117)) +>Polonium : Symbol(subspinosus.Polonium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 117)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 40)) @@ -10341,7 +10341,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 40)) harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->harpia : Symbol(harpia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 96)) +>harpia : Symbol(subspinosus.harpia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 96)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 806, 40)) @@ -10360,7 +10360,7 @@ module imperfecta { >robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) leschenaultii(): argurus.dauricus> { var x: argurus.dauricus>; () => { var y = this; }; return x; } ->leschenaultii : Symbol(leschenaultii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 808, 68)) +>leschenaultii : Symbol(ciliolabrum.leschenaultii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 808, 68)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -10387,7 +10387,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 132)) ludia(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->ludia : Symbol(ludia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 275)) +>ludia : Symbol(ciliolabrum.ludia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 275)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -10406,7 +10406,7 @@ module imperfecta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 86)) sinicus(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->sinicus : Symbol(sinicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 191)) +>sinicus : Symbol(ciliolabrum.sinicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 191)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -10434,7 +10434,7 @@ module quasiater { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 27)) lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->lagotis : Symbol(lagotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 33)) +>lagotis : Symbol(wattsi.lagotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 33)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 45)) @@ -10445,7 +10445,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 45)) hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->hussoni : Symbol(hussoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 107)) +>hussoni : Symbol(wattsi.hussoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 107)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 39)) @@ -10456,7 +10456,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 39)) bilarni(): samarensis.cahirinus>, dogramacii.koepckeae> { var x: samarensis.cahirinus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->bilarni : Symbol(bilarni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 95)) +>bilarni : Symbol(wattsi.bilarni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 95)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -10491,7 +10491,7 @@ module quasiater { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 158)) cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->cabrerae : Symbol(cabrerae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 333)) +>cabrerae : Symbol(wattsi.cabrerae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 333)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 819, 41)) @@ -10517,7 +10517,7 @@ module petrophilus { >bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->saundersiae : Symbol(saundersiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 825, 61)) +>saundersiae : Symbol(sodyi.saundersiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 825, 61)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 48)) @@ -10528,7 +10528,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 48)) imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->imberbis : Symbol(imberbis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 109)) +>imberbis : Symbol(sodyi.imberbis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 109)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 48)) @@ -10539,7 +10539,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 48)) cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cansdalei : Symbol(cansdalei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 112)) +>cansdalei : Symbol(sodyi.cansdalei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 112)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 46)) @@ -10550,7 +10550,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 46)) Lawrencium(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->Lawrencium : Symbol(Lawrencium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 107)) +>Lawrencium : Symbol(sodyi.Lawrencium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 107)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -10569,7 +10569,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 88)) catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->catta : Symbol(catta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 190)) +>catta : Symbol(sodyi.catta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 190)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 36)) @@ -10580,7 +10580,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 36)) breviceps(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->breviceps : Symbol(breviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 91)) +>breviceps : Symbol(sodyi.breviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 91)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -10599,7 +10599,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 83)) transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->transitionalis : Symbol(transitionalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 181)) +>transitionalis : Symbol(sodyi.transitionalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 181)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 50)) @@ -10610,7 +10610,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 50)) heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->heptneri : Symbol(heptneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 110)) +>heptneri : Symbol(sodyi.heptneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 110)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 42)) @@ -10621,7 +10621,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 42)) bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->bairdii : Symbol(bairdii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 100)) +>bairdii : Symbol(sodyi.bairdii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 100)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 834, 37)) @@ -10650,7 +10650,7 @@ module caurinus { >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->montana : Symbol(montana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 838, 122)) +>montana : Symbol(megaphyllus.montana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 838, 122)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 38)) @@ -10661,7 +10661,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 38)) amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->amatus : Symbol(amatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 93)) +>amatus : Symbol(megaphyllus.amatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 93)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 43)) @@ -10672,7 +10672,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 43)) bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->bucculentus : Symbol(bucculentus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 104)) +>bucculentus : Symbol(megaphyllus.bucculentus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 104)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 49)) @@ -10683,7 +10683,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 49)) lepida(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->lepida : Symbol(lepida, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 111)) +>lepida : Symbol(megaphyllus.lepida, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 111)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -10710,7 +10710,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 113)) graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->graecus : Symbol(graecus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 244)) +>graecus : Symbol(megaphyllus.graecus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 244)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 43)) @@ -10721,7 +10721,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 43)) forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->forsteri : Symbol(forsteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 103)) +>forsteri : Symbol(megaphyllus.forsteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 103)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 47)) @@ -10732,7 +10732,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 47)) perotensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->perotensis : Symbol(perotensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 110)) +>perotensis : Symbol(megaphyllus.perotensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 110)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -10751,7 +10751,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 88)) cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->cirrhosus : Symbol(cirrhosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 190)) +>cirrhosus : Symbol(megaphyllus.cirrhosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 190)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 846, 49)) @@ -10769,7 +10769,7 @@ module minutus { >portoricensis : Symbol(portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->relictus : Symbol(relictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 850, 32)) +>relictus : Symbol(portoricensis.relictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 850, 32)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 48)) @@ -10780,7 +10780,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 48)) aequatorianus(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->aequatorianus : Symbol(aequatorianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 112)) +>aequatorianus : Symbol(portoricensis.aequatorianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 112)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -10799,7 +10799,7 @@ module minutus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 89)) rhinogradoides(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->rhinogradoides : Symbol(rhinogradoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 189)) +>rhinogradoides : Symbol(portoricensis.rhinogradoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 189)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -10825,7 +10825,7 @@ module lutreolus { >foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tarfayensis : Symbol(tarfayensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 857, 24)) +>tarfayensis : Symbol(foina.tarfayensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 857, 24)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 46)) @@ -10836,7 +10836,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 46)) Promethium(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->Promethium : Symbol(Promethium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 105)) +>Promethium : Symbol(foina.Promethium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 105)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -10855,7 +10855,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 83)) salinae(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->salinae : Symbol(salinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 180)) +>salinae : Symbol(foina.salinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 180)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -10874,7 +10874,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 92)) kerri(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->kerri : Symbol(kerri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 201)) +>kerri : Symbol(foina.kerri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 201)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -10893,7 +10893,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 81)) scotti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->scotti : Symbol(scotti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 181)) +>scotti : Symbol(foina.scotti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 181)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -10912,7 +10912,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 88)) camerunensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->camerunensis : Symbol(camerunensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 194)) +>camerunensis : Symbol(foina.camerunensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 194)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -10931,7 +10931,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 91)) affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->affinis : Symbol(affinis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 194)) +>affinis : Symbol(foina.affinis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 194)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 41)) @@ -10942,7 +10942,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 41)) siebersi(): trivirgatus.lotor> { var x: trivirgatus.lotor>; () => { var y = this; }; return x; } ->siebersi : Symbol(siebersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 99)) +>siebersi : Symbol(foina.siebersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 99)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -10969,7 +10969,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 105)) maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->maquassiensis : Symbol(maquassiensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 226)) +>maquassiensis : Symbol(foina.maquassiensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 226)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 52)) @@ -10980,7 +10980,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 52)) layardi(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->layardi : Symbol(layardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 115)) +>layardi : Symbol(foina.layardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 115)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -10999,7 +10999,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 79)) bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->bishopi : Symbol(bishopi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 175)) +>bishopi : Symbol(foina.bishopi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 175)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 42)) @@ -11010,7 +11010,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 42)) apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->apodemoides : Symbol(apodemoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 101)) +>apodemoides : Symbol(foina.apodemoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 101)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 46)) @@ -11021,7 +11021,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 46)) argentiventer(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->argentiventer : Symbol(argentiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 105)) +>argentiventer : Symbol(foina.argentiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 105)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -11064,7 +11064,7 @@ module lutreolus { >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) antinorii(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->antinorii : Symbol(antinorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 874, 164)) +>antinorii : Symbol(cor.antinorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 874, 164)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -11083,7 +11083,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 86)) voi(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->voi : Symbol(voi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 187)) +>voi : Symbol(cor.voi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 187)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) @@ -11102,7 +11102,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 86)) mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->mussoi : Symbol(mussoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 193)) +>mussoi : Symbol(cor.mussoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 193)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 46)) @@ -11113,7 +11113,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 46)) truncatus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->truncatus : Symbol(truncatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 110)) +>truncatus : Symbol(cor.truncatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 110)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -11132,7 +11132,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 81)) achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->achates : Symbol(achates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 177)) +>achates : Symbol(cor.achates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 177)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) >melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 45)) @@ -11143,7 +11143,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 45)) praedatrix(): howi.angulatus { var x: howi.angulatus; () => { var y = this; }; return x; } ->praedatrix : Symbol(praedatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 107)) +>praedatrix : Symbol(cor.praedatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 107)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -11162,7 +11162,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 80)) mzabi(): quasiater.wattsi, minutus.inez> { var x: quasiater.wattsi, minutus.inez>; () => { var y = this; }; return x; } ->mzabi : Symbol(mzabi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 174)) +>mzabi : Symbol(cor.mzabi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 174)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -11197,7 +11197,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 155)) xanthinus(): nigra.gracilis, howi.marcanoi> { var x: nigra.gracilis, howi.marcanoi>; () => { var y = this; }; return x; } ->xanthinus : Symbol(xanthinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 329)) +>xanthinus : Symbol(cor.xanthinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 329)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -11224,7 +11224,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 119)) tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->tapoatafa : Symbol(tapoatafa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 253)) +>tapoatafa : Symbol(cor.tapoatafa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 253)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 47)) @@ -11235,7 +11235,7 @@ module lutreolus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 47)) castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->castroviejoi : Symbol(castroviejoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 109)) +>castroviejoi : Symbol(cor.castroviejoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 109)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 884, 49)) @@ -11255,7 +11255,7 @@ module howi { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 27)) bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->bernhardi : Symbol(bernhardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 33)) +>bernhardi : Symbol(coludo.bernhardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 33)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 44)) @@ -11266,7 +11266,7 @@ module howi { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 44)) isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->isseli : Symbol(isseli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 103)) +>isseli : Symbol(coludo.isseli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 103)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 890, 40)) @@ -11287,7 +11287,7 @@ module argurus { >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->sharpei : Symbol(sharpei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 894, 53)) +>sharpei : Symbol(germaini.sharpei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 894, 53)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 39)) @@ -11298,7 +11298,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 39)) palmarum(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->palmarum : Symbol(palmarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 95)) +>palmarum : Symbol(germaini.palmarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 95)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -11324,7 +11324,7 @@ module sagitta { >stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) riparius(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->riparius : Symbol(riparius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 900, 29)) +>riparius : Symbol(stolzmanni.riparius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 900, 29)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -11343,7 +11343,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 83)) dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->dhofarensis : Symbol(dhofarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 182)) +>dhofarensis : Symbol(stolzmanni.dhofarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 182)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 44)) @@ -11354,7 +11354,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 44)) tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->tricolor : Symbol(tricolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 101)) +>tricolor : Symbol(stolzmanni.tricolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 101)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 42)) @@ -11365,7 +11365,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 42)) gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->gardneri : Symbol(gardneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 100)) +>gardneri : Symbol(stolzmanni.gardneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 100)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 46)) @@ -11376,7 +11376,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 46)) walleri(): rendalli.moojeni, gabriellae.echinatus> { var x: rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->walleri : Symbol(walleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 108)) +>walleri : Symbol(stolzmanni.walleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 108)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) @@ -11403,7 +11403,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 132)) talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->talpoides : Symbol(talpoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 281)) +>talpoides : Symbol(stolzmanni.talpoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 281)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) >echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 47)) @@ -11414,7 +11414,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 47)) pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->pallipes : Symbol(pallipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 109)) +>pallipes : Symbol(stolzmanni.pallipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 109)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 45)) @@ -11425,7 +11425,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 45)) lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->lagurus : Symbol(lagurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 106)) +>lagurus : Symbol(stolzmanni.lagurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 106)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 37)) @@ -11436,7 +11436,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 37)) hipposideros(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->hipposideros : Symbol(hipposideros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 91)) +>hipposideros : Symbol(stolzmanni.hipposideros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 91)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -11455,7 +11455,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 87)) griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->griselda : Symbol(griselda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 186)) +>griselda : Symbol(stolzmanni.griselda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 186)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 43)) @@ -11466,7 +11466,7 @@ module sagitta { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 43)) florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->florium : Symbol(florium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 102)) +>florium : Symbol(stolzmanni.florium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 102)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 911, 43)) @@ -11491,7 +11491,7 @@ module dammermani { >melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->blarina : Symbol(blarina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 915, 89)) +>blarina : Symbol(melanops.blarina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 915, 89)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 44)) @@ -11502,7 +11502,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 44)) harwoodi(): rionegrensis.veraecrucis, lavali.wilsoni> { var x: rionegrensis.veraecrucis, lavali.wilsoni>; () => { var y = this; }; return x; } ->harwoodi : Symbol(harwoodi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 105)) +>harwoodi : Symbol(melanops.harwoodi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 105)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) >veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) @@ -11529,7 +11529,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 122)) ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->ashaninka : Symbol(ashaninka, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 260)) +>ashaninka : Symbol(melanops.ashaninka, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 260)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 46)) @@ -11540,7 +11540,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 46)) wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->wiedii : Symbol(wiedii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 107)) +>wiedii : Symbol(melanops.wiedii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 107)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 40)) @@ -11551,7 +11551,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 40)) godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->godmani : Symbol(godmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 98)) +>godmani : Symbol(melanops.godmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 98)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 47)) @@ -11562,7 +11562,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 47)) condorensis(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->condorensis : Symbol(condorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 111)) +>condorensis : Symbol(melanops.condorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 111)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) @@ -11581,7 +11581,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 91)) xerophila(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->xerophila : Symbol(xerophila, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 195)) +>xerophila : Symbol(melanops.xerophila, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 195)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -11600,7 +11600,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 81)) laminatus(): panglima.fundatus>> { var x: panglima.fundatus>>; () => { var y = this; }; return x; } ->laminatus : Symbol(laminatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 177)) +>laminatus : Symbol(melanops.laminatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 177)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -11635,7 +11635,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 164)) archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->archeri : Symbol(archeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 343)) +>archeri : Symbol(melanops.archeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 343)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 38)) @@ -11646,7 +11646,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 38)) hidalgo(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->hidalgo : Symbol(hidalgo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 93)) +>hidalgo : Symbol(melanops.hidalgo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 93)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -11665,7 +11665,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 81)) unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->unicolor : Symbol(unicolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 179)) +>unicolor : Symbol(melanops.unicolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 179)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 45)) @@ -11676,7 +11676,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 45)) philippii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->philippii : Symbol(philippii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 106)) +>philippii : Symbol(melanops.philippii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 106)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -11695,7 +11695,7 @@ module dammermani { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 78)) bocagei(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->bocagei : Symbol(bocagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 171)) +>bocagei : Symbol(melanops.bocagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 171)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -11724,7 +11724,7 @@ module argurus { >uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) aitkeni(): trivirgatus.mixtus, panglima.amphibius> { var x: trivirgatus.mixtus, panglima.amphibius>; () => { var y = this; }; return x; } ->aitkeni : Symbol(aitkeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 932, 53)) +>aitkeni : Symbol(peninsulae.aitkeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 932, 53)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -11759,7 +11759,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 162)) novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->novaeangliae : Symbol(novaeangliae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 341)) +>novaeangliae : Symbol(peninsulae.novaeangliae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 341)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 50)) @@ -11770,7 +11770,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 50)) olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->olallae : Symbol(olallae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 112)) +>olallae : Symbol(peninsulae.olallae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 112)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 43)) @@ -11781,7 +11781,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 43)) anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->anselli : Symbol(anselli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 103)) +>anselli : Symbol(peninsulae.anselli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 103)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) >aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 42)) @@ -11792,7 +11792,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 42)) timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->timminsi : Symbol(timminsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 101)) +>timminsi : Symbol(peninsulae.timminsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 101)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) >konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 49)) @@ -11803,7 +11803,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 49)) sordidus(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->sordidus : Symbol(sordidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 114)) +>sordidus : Symbol(peninsulae.sordidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 114)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -11822,7 +11822,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 89)) telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->telfordi : Symbol(telfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 194)) +>telfordi : Symbol(peninsulae.telfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 194)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 47)) @@ -11833,7 +11833,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 47)) cavernarum(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->cavernarum : Symbol(cavernarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 110)) +>cavernarum : Symbol(peninsulae.cavernarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 110)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) @@ -11861,7 +11861,7 @@ module argurus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 30)) gravis(): nigra.caucasica, dogramacii.kaiseri> { var x: nigra.caucasica, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->gravis : Symbol(gravis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 36)) +>gravis : Symbol(netscheri.gravis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 36)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) >caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) @@ -11888,7 +11888,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 117)) ruschii(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ruschii : Symbol(ruschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 252)) +>ruschii : Symbol(netscheri.ruschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 252)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -11915,7 +11915,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 127)) tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->tricuspidatus : Symbol(tricuspidatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 271)) +>tricuspidatus : Symbol(netscheri.tricuspidatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 271)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) >wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 45)) @@ -11926,7 +11926,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 45)) fernandezi(): dammermani.siberu, panglima.abidi> { var x: dammermani.siberu, panglima.abidi>; () => { var y = this; }; return x; } ->fernandezi : Symbol(fernandezi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 101)) +>fernandezi : Symbol(netscheri.fernandezi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 101)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) @@ -11961,7 +11961,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 153)) colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->colletti : Symbol(colletti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 320)) +>colletti : Symbol(netscheri.colletti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 320)) >samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) >pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 45)) @@ -11972,7 +11972,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 45)) microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->microbullatus : Symbol(microbullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 106)) +>microbullatus : Symbol(netscheri.microbullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 106)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 50)) @@ -11983,7 +11983,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 50)) eburneae(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->eburneae : Symbol(eburneae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 111)) +>eburneae : Symbol(netscheri.eburneae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 111)) >chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) >sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -12002,7 +12002,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 95)) tatei(): argurus.pygmaea> { var x: argurus.pygmaea>; () => { var y = this; }; return x; } ->tatei : Symbol(tatei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 206)) +>tatei : Symbol(netscheri.tatei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 206)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >pygmaea : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -12029,7 +12029,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 121)) millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->millardi : Symbol(millardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 261)) +>millardi : Symbol(netscheri.millardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 261)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 41)) @@ -12040,7 +12040,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 41)) pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->pruinosus : Symbol(pruinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 98)) +>pruinosus : Symbol(netscheri.pruinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 98)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 48)) @@ -12051,7 +12051,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 48)) delator(): argurus.netscheri { var x: argurus.netscheri; () => { var y = this; }; return x; } ->delator : Symbol(delator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 111)) +>delator : Symbol(netscheri.delator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 111)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >netscheri : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) >dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) @@ -12070,7 +12070,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 79)) nyikae(): trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; } ->nyikae : Symbol(nyikae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 175)) +>nyikae : Symbol(netscheri.nyikae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 175)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -12105,7 +12105,7 @@ module argurus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 167)) ruemmleri(): panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> { var x: panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->ruemmleri : Symbol(ruemmleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 352)) +>ruemmleri : Symbol(netscheri.ruemmleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 352)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) @@ -12172,7 +12172,7 @@ module ruatanica { >amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) clara(): panglima.amphibius, argurus.dauricus> { var x: panglima.amphibius, argurus.dauricus>; () => { var y = this; }; return x; } ->clara : Symbol(clara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 961, 102)) +>clara : Symbol(Praseodymium.clara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 961, 102)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -12207,7 +12207,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 168)) spectabilis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spectabilis : Symbol(spectabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 355)) +>spectabilis : Symbol(Praseodymium.spectabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 355)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) @@ -12226,7 +12226,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 95)) kamensis(): trivirgatus.lotor, lavali.lepturus> { var x: trivirgatus.lotor, lavali.lepturus>; () => { var y = this; }; return x; } ->kamensis : Symbol(kamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 203)) +>kamensis : Symbol(Praseodymium.kamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 203)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) @@ -12253,7 +12253,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 123)) ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->ruddi : Symbol(ruddi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 262)) +>ruddi : Symbol(Praseodymium.ruddi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 262)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) >foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 38)) @@ -12264,7 +12264,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 38)) bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bartelsii : Symbol(bartelsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 95)) +>bartelsii : Symbol(Praseodymium.bartelsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 95)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 45)) @@ -12275,7 +12275,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 45)) yerbabuenae(): dammermani.siberu, imperfecta.ciliolabrum> { var x: dammermani.siberu, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->yerbabuenae : Symbol(yerbabuenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 105)) +>yerbabuenae : Symbol(Praseodymium.yerbabuenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 105)) >dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) >siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -12310,7 +12310,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 173)) davidi(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->davidi : Symbol(davidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 359)) +>davidi : Symbol(Praseodymium.davidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 359)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) >mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) >provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) @@ -12329,7 +12329,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 84)) pilirostris(): argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> { var x: argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->pilirostris : Symbol(pilirostris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 186)) +>pilirostris : Symbol(Praseodymium.pilirostris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 186)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) @@ -12388,7 +12388,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 298)) catherinae(): imperfecta.lasiurus, petrophilus.sodyi> { var x: imperfecta.lasiurus, petrophilus.sodyi>; () => { var y = this; }; return x; } ->catherinae : Symbol(catherinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 609)) +>catherinae : Symbol(Praseodymium.catherinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 609)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -12423,7 +12423,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 169)) frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->frontata : Symbol(frontata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 352)) +>frontata : Symbol(Praseodymium.frontata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 352)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 39)) @@ -12434,7 +12434,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 39)) Terbium(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->Terbium : Symbol(Terbium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 94)) +>Terbium : Symbol(Praseodymium.Terbium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 94)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) @@ -12453,7 +12453,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 85)) thomensis(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->thomensis : Symbol(thomensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 187)) +>thomensis : Symbol(Praseodymium.thomensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 187)) >minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) >inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -12480,7 +12480,7 @@ module ruatanica { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 113)) soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->soricinus : Symbol(soricinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 241)) +>soricinus : Symbol(Praseodymium.soricinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 241)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) >carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 974, 49)) @@ -12503,7 +12503,7 @@ module caurinus { >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) maini(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maini : Symbol(maini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 978, 63)) +>maini : Symbol(johorensis.maini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 978, 63)) >ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) >Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -12529,7 +12529,7 @@ module argurus { >luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) loriae(): rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; } ->loriae : Symbol(loriae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 983, 27)) +>loriae : Symbol(luctuosa.loriae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 983, 27)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) >macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) @@ -12581,7 +12581,7 @@ module panamensis { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 30)) duthieae(): caurinus.mahaganus, dogramacii.aurata> { var x: caurinus.mahaganus, dogramacii.aurata>; () => { var y = this; }; return x; } ->duthieae : Symbol(duthieae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 36)) +>duthieae : Symbol(setulosus.duthieae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 36)) >caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) >mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -12608,7 +12608,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 106)) guereza(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->guereza : Symbol(guereza, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 228)) +>guereza : Symbol(setulosus.guereza, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 228)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) >coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -12627,7 +12627,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 80)) buselaphus(): daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> { var x: daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus>; () => { var y = this; }; return x; } ->buselaphus : Symbol(buselaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 177)) +>buselaphus : Symbol(setulosus.buselaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 177)) >daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) >nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -12670,7 +12670,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 199)) nuttalli(): sagitta.cinereus, chrysaeolus.sarasinorum> { var x: sagitta.cinereus, chrysaeolus.sarasinorum>; () => { var y = this; }; return x; } ->nuttalli : Symbol(nuttalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 412)) +>nuttalli : Symbol(setulosus.nuttalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 412)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) @@ -12705,7 +12705,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 169)) pelii(): rendalli.crenulata, julianae.steerii> { var x: rendalli.crenulata, julianae.steerii>; () => { var y = this; }; return x; } ->pelii : Symbol(pelii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 354)) +>pelii : Symbol(setulosus.pelii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 354)) >rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) >crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) @@ -12732,7 +12732,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 124)) tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->tunneyi : Symbol(tunneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 267)) +>tunneyi : Symbol(setulosus.tunneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 267)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) >stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 43)) @@ -12743,7 +12743,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 43)) lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->lamula : Symbol(lamula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 103)) +>lamula : Symbol(setulosus.lamula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 103)) >patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) >uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 39)) @@ -12754,7 +12754,7 @@ module panamensis { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 39)) vampyrus(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->vampyrus : Symbol(vampyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 96)) +>vampyrus : Symbol(setulosus.vampyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 96)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) >lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) @@ -12782,7 +12782,7 @@ module petrophilus { >T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 28)) palmeri(): panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> { var x: panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>>; () => { var y = this; }; return x; } ->palmeri : Symbol(palmeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 34)) +>palmeri : Symbol(rosalia.palmeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 34)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) @@ -12841,7 +12841,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 282)) baeops(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->baeops : Symbol(baeops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 581)) +>baeops : Symbol(rosalia.baeops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 581)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) >nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -12860,7 +12860,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 75)) ozensis(): imperfecta.lasiurus, lutreolus.foina> { var x: imperfecta.lasiurus, lutreolus.foina>; () => { var y = this; }; return x; } ->ozensis : Symbol(ozensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 168)) +>ozensis : Symbol(rosalia.ozensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 168)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) @@ -12887,7 +12887,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 116)) creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->creaghi : Symbol(creaghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 249)) +>creaghi : Symbol(rosalia.creaghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 249)) >argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) >luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 41)) @@ -12898,7 +12898,7 @@ module petrophilus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 41)) montivaga(): panamensis.setulosus> { var x: panamensis.setulosus>; () => { var y = this; }; return x; } ->montivaga : Symbol(montivaga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 99)) +>montivaga : Symbol(rosalia.montivaga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 99)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -12935,7 +12935,7 @@ module caurinus { >punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) socialis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->socialis : Symbol(socialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1009, 53)) +>socialis : Symbol(psilurus.socialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1009, 53)) >panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) >amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -12954,7 +12954,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 86)) lundi(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->lundi : Symbol(lundi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 188)) +>lundi : Symbol(psilurus.lundi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 188)) >petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) >sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) >trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) @@ -12973,7 +12973,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 85)) araeum(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->araeum : Symbol(araeum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 189)) +>araeum : Symbol(psilurus.araeum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 189)) >imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) >ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) >quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) @@ -12992,7 +12992,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 84)) calamianensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->calamianensis : Symbol(calamianensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 186)) +>calamianensis : Symbol(psilurus.calamianensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 186)) >julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) >gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) >lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) @@ -13011,7 +13011,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 90)) petersoni(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->petersoni : Symbol(petersoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 191)) +>petersoni : Symbol(psilurus.petersoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 191)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) >sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) @@ -13030,7 +13030,7 @@ module caurinus { >x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 87)) nitela(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->nitela : Symbol(nitela, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 189)) +>nitela : Symbol(psilurus.nitela, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 189)) >panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) >linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) >Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) diff --git a/tests/baselines/reference/restParameterAssignmentCompatibility.symbols b/tests/baselines/reference/restParameterAssignmentCompatibility.symbols index dd5e7a8fa81..03209d8b1a4 100644 --- a/tests/baselines/reference/restParameterAssignmentCompatibility.symbols +++ b/tests/baselines/reference/restParameterAssignmentCompatibility.symbols @@ -3,7 +3,7 @@ class T { >T : Symbol(T, Decl(restParameterAssignmentCompatibility.ts, 0, 0)) m(...p3) { ->m : Symbol(m, Decl(restParameterAssignmentCompatibility.ts, 0, 9)) +>m : Symbol(T.m, Decl(restParameterAssignmentCompatibility.ts, 0, 9)) >p3 : Symbol(p3, Decl(restParameterAssignmentCompatibility.ts, 1, 6)) } @@ -13,7 +13,7 @@ class S { >S : Symbol(S, Decl(restParameterAssignmentCompatibility.ts, 4, 1)) m(p1, p2) { ->m : Symbol(m, Decl(restParameterAssignmentCompatibility.ts, 6, 9)) +>m : Symbol(S.m, Decl(restParameterAssignmentCompatibility.ts, 6, 9)) >p1 : Symbol(p1, Decl(restParameterAssignmentCompatibility.ts, 7, 6)) >p2 : Symbol(p2, Decl(restParameterAssignmentCompatibility.ts, 7, 9)) @@ -38,7 +38,7 @@ class T1 { >T1 : Symbol(T1, Decl(restParameterAssignmentCompatibility.ts, 16, 6)) m(p1?, p2?) { ->m : Symbol(m, Decl(restParameterAssignmentCompatibility.ts, 18, 10)) +>m : Symbol(T1.m, Decl(restParameterAssignmentCompatibility.ts, 18, 10)) >p1 : Symbol(p1, Decl(restParameterAssignmentCompatibility.ts, 19, 6)) >p2 : Symbol(p2, Decl(restParameterAssignmentCompatibility.ts, 19, 10)) diff --git a/tests/baselines/reference/returnStatements.symbols b/tests/baselines/reference/returnStatements.symbols index 7d8b6d69d82..a833da8fe11 100644 --- a/tests/baselines/reference/returnStatements.symbols +++ b/tests/baselines/reference/returnStatements.symbols @@ -29,24 +29,24 @@ function fn8(): any { return; } // OK, eq. to 'return undefined' interface I { id: number } >I : Symbol(I, Decl(returnStatements.ts, 8, 31)) ->id : Symbol(id, Decl(returnStatements.ts, 10, 13)) +>id : Symbol(I.id, Decl(returnStatements.ts, 10, 13)) class C implements I { >C : Symbol(C, Decl(returnStatements.ts, 10, 26)) >I : Symbol(I, Decl(returnStatements.ts, 8, 31)) id: number; ->id : Symbol(id, Decl(returnStatements.ts, 11, 22)) +>id : Symbol(C.id, Decl(returnStatements.ts, 11, 22)) dispose() {} ->dispose : Symbol(dispose, Decl(returnStatements.ts, 12, 15)) +>dispose : Symbol(C.dispose, Decl(returnStatements.ts, 12, 15)) } class D extends C { >D : Symbol(D, Decl(returnStatements.ts, 14, 1)) >C : Symbol(C, Decl(returnStatements.ts, 10, 26)) name: string; ->name : Symbol(name, Decl(returnStatements.ts, 15, 19)) +>name : Symbol(D.name, Decl(returnStatements.ts, 15, 19)) } function fn10(): I { return { id: 12 }; } >fn10 : Symbol(fn10, Decl(returnStatements.ts, 17, 1)) diff --git a/tests/baselines/reference/reversedRecusiveTypeInstantiation.symbols b/tests/baselines/reference/reversedRecusiveTypeInstantiation.symbols index ccb8b01ee78..2078d6c963d 100644 --- a/tests/baselines/reference/reversedRecusiveTypeInstantiation.symbols +++ b/tests/baselines/reference/reversedRecusiveTypeInstantiation.symbols @@ -5,15 +5,15 @@ interface A { >NumberArgPos2 : Symbol(NumberArgPos2, Decl(reversedRecusiveTypeInstantiation.ts, 0, 26)) xPos1 : StringArgPos1 ->xPos1 : Symbol(xPos1, Decl(reversedRecusiveTypeInstantiation.ts, 0, 43)) +>xPos1 : Symbol(A.xPos1, Decl(reversedRecusiveTypeInstantiation.ts, 0, 43)) >StringArgPos1 : Symbol(StringArgPos1, Decl(reversedRecusiveTypeInstantiation.ts, 0, 12)) yPos2 : NumberArgPos2 ->yPos2 : Symbol(yPos2, Decl(reversedRecusiveTypeInstantiation.ts, 1, 24)) +>yPos2 : Symbol(A.yPos2, Decl(reversedRecusiveTypeInstantiation.ts, 1, 24)) >NumberArgPos2 : Symbol(NumberArgPos2, Decl(reversedRecusiveTypeInstantiation.ts, 0, 26)) zPos2Pos1 : A ->zPos2Pos1 : Symbol(zPos2Pos1, Decl(reversedRecusiveTypeInstantiation.ts, 2, 24)) +>zPos2Pos1 : Symbol(A.zPos2Pos1, Decl(reversedRecusiveTypeInstantiation.ts, 2, 24)) >A : Symbol(A, Decl(reversedRecusiveTypeInstantiation.ts, 0, 0)) >NumberArgPos2 : Symbol(NumberArgPos2, Decl(reversedRecusiveTypeInstantiation.ts, 0, 26)) >StringArgPos1 : Symbol(StringArgPos1, Decl(reversedRecusiveTypeInstantiation.ts, 0, 12)) diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.symbols b/tests/baselines/reference/scopeResolutionIdentifiers.symbols index 3ba780b8290..1dc027548ea 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.symbols +++ b/tests/baselines/reference/scopeResolutionIdentifiers.symbols @@ -50,23 +50,23 @@ class C { >C : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) s: Date; ->s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) +>s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) >Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) n = this.s; ->n : Symbol(n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) ->this.s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) +>n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>this.s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) >this : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) ->s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) +>s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) x() { ->x : Symbol(x, Decl(scopeResolutionIdentifiers.ts, 23, 15)) +>x : Symbol(C.x, Decl(scopeResolutionIdentifiers.ts, 23, 15)) var p = this.n; >p : Symbol(p, Decl(scopeResolutionIdentifiers.ts, 25, 11), Decl(scopeResolutionIdentifiers.ts, 26, 11)) ->this.n : Symbol(n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>this.n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) >this : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) ->n : Symbol(n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) var p: Date; >p : Symbol(p, Decl(scopeResolutionIdentifiers.ts, 25, 11), Decl(scopeResolutionIdentifiers.ts, 26, 11)) diff --git a/tests/baselines/reference/selfInCallback.symbols b/tests/baselines/reference/selfInCallback.symbols index 805b7714012..97aabd3165f 100644 --- a/tests/baselines/reference/selfInCallback.symbols +++ b/tests/baselines/reference/selfInCallback.symbols @@ -3,22 +3,22 @@ class C { >C : Symbol(C, Decl(selfInCallback.ts, 0, 0)) public p1 = 0; ->p1 : Symbol(p1, Decl(selfInCallback.ts, 0, 9)) +>p1 : Symbol(C.p1, Decl(selfInCallback.ts, 0, 9)) public callback(cb:()=>void) {cb();} ->callback : Symbol(callback, Decl(selfInCallback.ts, 1, 15)) +>callback : Symbol(C.callback, Decl(selfInCallback.ts, 1, 15)) >cb : Symbol(cb, Decl(selfInCallback.ts, 2, 17)) >cb : Symbol(cb, Decl(selfInCallback.ts, 2, 17)) public doit() { ->doit : Symbol(doit, Decl(selfInCallback.ts, 2, 37)) +>doit : Symbol(C.doit, Decl(selfInCallback.ts, 2, 37)) this.callback(()=>{this.p1+1}); ->this.callback : Symbol(callback, Decl(selfInCallback.ts, 1, 15)) +>this.callback : Symbol(C.callback, Decl(selfInCallback.ts, 1, 15)) >this : Symbol(C, Decl(selfInCallback.ts, 0, 0)) ->callback : Symbol(callback, Decl(selfInCallback.ts, 1, 15)) ->this.p1 : Symbol(p1, Decl(selfInCallback.ts, 0, 9)) +>callback : Symbol(C.callback, Decl(selfInCallback.ts, 1, 15)) +>this.p1 : Symbol(C.p1, Decl(selfInCallback.ts, 0, 9)) >this : Symbol(C, Decl(selfInCallback.ts, 0, 0)) ->p1 : Symbol(p1, Decl(selfInCallback.ts, 0, 9)) +>p1 : Symbol(C.p1, Decl(selfInCallback.ts, 0, 9)) } } diff --git a/tests/baselines/reference/selfInLambdas.symbols b/tests/baselines/reference/selfInLambdas.symbols index 032de5e7767..edcc03b6bf6 100644 --- a/tests/baselines/reference/selfInLambdas.symbols +++ b/tests/baselines/reference/selfInLambdas.symbols @@ -3,10 +3,10 @@ interface MouseEvent { >MouseEvent : Symbol(MouseEvent, Decl(selfInLambdas.ts, 0, 0)) x: number; ->x : Symbol(x, Decl(selfInLambdas.ts, 0, 22)) +>x : Symbol(MouseEvent.x, Decl(selfInLambdas.ts, 0, 22)) y: number; ->y : Symbol(y, Decl(selfInLambdas.ts, 1, 14)) +>y : Symbol(MouseEvent.y, Decl(selfInLambdas.ts, 1, 14)) } declare var window: Window; @@ -17,7 +17,7 @@ interface Window { >Window : Symbol(Window, Decl(selfInLambdas.ts, 5, 27)) onmousemove: (ev: MouseEvent) => any; ->onmousemove : Symbol(onmousemove, Decl(selfInLambdas.ts, 6, 18)) +>onmousemove : Symbol(Window.onmousemove, Decl(selfInLambdas.ts, 6, 18)) >ev : Symbol(ev, Decl(selfInLambdas.ts, 7, 18)) >MouseEvent : Symbol(MouseEvent, Decl(selfInLambdas.ts, 0, 0)) @@ -52,28 +52,28 @@ class X { >X : Symbol(X, Decl(selfInLambdas.ts, 24, 1)) private value = "value"; ->value : Symbol(value, Decl(selfInLambdas.ts, 28, 9)) +>value : Symbol(X.value, Decl(selfInLambdas.ts, 28, 9)) public foo() { ->foo : Symbol(foo, Decl(selfInLambdas.ts, 29, 25)) +>foo : Symbol(X.foo, Decl(selfInLambdas.ts, 29, 25)) var outer= () => { >outer : Symbol(outer, Decl(selfInLambdas.ts, 32, 5)) var x = this.value; >x : Symbol(x, Decl(selfInLambdas.ts, 33, 15)) ->this.value : Symbol(value, Decl(selfInLambdas.ts, 28, 9)) +>this.value : Symbol(X.value, Decl(selfInLambdas.ts, 28, 9)) >this : Symbol(X, Decl(selfInLambdas.ts, 24, 1)) ->value : Symbol(value, Decl(selfInLambdas.ts, 28, 9)) +>value : Symbol(X.value, Decl(selfInLambdas.ts, 28, 9)) var inner = () => { >inner : Symbol(inner, Decl(selfInLambdas.ts, 34, 15)) var y = this.value; >y : Symbol(y, Decl(selfInLambdas.ts, 35, 19)) ->this.value : Symbol(value, Decl(selfInLambdas.ts, 28, 9)) +>this.value : Symbol(X.value, Decl(selfInLambdas.ts, 28, 9)) >this : Symbol(X, Decl(selfInLambdas.ts, 24, 1)) ->value : Symbol(value, Decl(selfInLambdas.ts, 28, 9)) +>value : Symbol(X.value, Decl(selfInLambdas.ts, 28, 9)) } inner(); diff --git a/tests/baselines/reference/sigantureIsSubTypeIfTheyAreIdentical.symbols b/tests/baselines/reference/sigantureIsSubTypeIfTheyAreIdentical.symbols index e99f0076d39..9f8d22c1f6f 100644 --- a/tests/baselines/reference/sigantureIsSubTypeIfTheyAreIdentical.symbols +++ b/tests/baselines/reference/sigantureIsSubTypeIfTheyAreIdentical.symbols @@ -3,7 +3,7 @@ interface ICache { >ICache : Symbol(ICache, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 0, 0)) get(key: string): T; ->get : Symbol(get, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 0, 18)) +>get : Symbol(ICache.get, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 0, 18)) >T : Symbol(T, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 1, 8)) >key : Symbol(key, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 1, 11)) >T : Symbol(T, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 1, 8)) @@ -13,7 +13,7 @@ class CacheService implements ICache { // Should not error that property type of >ICache : Symbol(ICache, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 0, 0)) get(key: string): T { ->get : Symbol(get, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 3, 38)) +>get : Symbol(CacheService.get, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 3, 38)) >T : Symbol(T, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 4, 8)) >key : Symbol(key, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 4, 11)) >T : Symbol(T, Decl(sigantureIsSubTypeIfTheyAreIdentical.ts, 4, 8)) diff --git a/tests/baselines/reference/sourceMap-Comments.symbols b/tests/baselines/reference/sourceMap-Comments.symbols index d7c1adabbb0..490042b4c89 100644 --- a/tests/baselines/reference/sourceMap-Comments.symbols +++ b/tests/baselines/reference/sourceMap-Comments.symbols @@ -7,7 +7,7 @@ module sas.tools { >Test : Symbol(Test, Decl(sourceMap-Comments.ts, 0, 18)) public doX(): void { ->doX : Symbol(doX, Decl(sourceMap-Comments.ts, 1, 23)) +>doX : Symbol(Test.doX, Decl(sourceMap-Comments.ts, 1, 23)) let f: number = 2; >f : Symbol(f, Decl(sourceMap-Comments.ts, 3, 15)) diff --git a/tests/baselines/reference/sourceMap-FileWithComments.symbols b/tests/baselines/reference/sourceMap-FileWithComments.symbols index 50993547428..e7b8c1c4b7c 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.symbols +++ b/tests/baselines/reference/sourceMap-FileWithComments.symbols @@ -5,7 +5,7 @@ interface IPoint { >IPoint : Symbol(IPoint, Decl(sourceMap-FileWithComments.ts, 0, 0)) getDist(): number; ->getDist : Symbol(getDist, Decl(sourceMap-FileWithComments.ts, 2, 18)) +>getDist : Symbol(IPoint.getDist, Decl(sourceMap-FileWithComments.ts, 2, 18)) } // Module @@ -19,27 +19,27 @@ module Shapes { // Constructor constructor(public x: number, public y: number) { } ->x : Symbol(x, Decl(sourceMap-FileWithComments.ts, 12, 20)) ->y : Symbol(y, Decl(sourceMap-FileWithComments.ts, 12, 37)) +>x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 12, 20)) +>y : Symbol(Point.y, Decl(sourceMap-FileWithComments.ts, 12, 37)) // Instance member getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } ->getDist : Symbol(getDist, Decl(sourceMap-FileWithComments.ts, 12, 59)) +>getDist : Symbol(Point.getDist, Decl(sourceMap-FileWithComments.ts, 12, 59)) >Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) >Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->this.x : Symbol(x, Decl(sourceMap-FileWithComments.ts, 12, 20)) +>this.x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 12, 20)) >this : Symbol(Point, Decl(sourceMap-FileWithComments.ts, 7, 15)) ->x : Symbol(x, Decl(sourceMap-FileWithComments.ts, 12, 20)) ->this.x : Symbol(x, Decl(sourceMap-FileWithComments.ts, 12, 20)) +>x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 12, 20)) +>this.x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 12, 20)) >this : Symbol(Point, Decl(sourceMap-FileWithComments.ts, 7, 15)) ->x : Symbol(x, Decl(sourceMap-FileWithComments.ts, 12, 20)) ->this.y : Symbol(y, Decl(sourceMap-FileWithComments.ts, 12, 37)) +>x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 12, 20)) +>this.y : Symbol(Point.y, Decl(sourceMap-FileWithComments.ts, 12, 37)) >this : Symbol(Point, Decl(sourceMap-FileWithComments.ts, 7, 15)) ->y : Symbol(y, Decl(sourceMap-FileWithComments.ts, 12, 37)) ->this.y : Symbol(y, Decl(sourceMap-FileWithComments.ts, 12, 37)) +>y : Symbol(Point.y, Decl(sourceMap-FileWithComments.ts, 12, 37)) +>this.y : Symbol(Point.y, Decl(sourceMap-FileWithComments.ts, 12, 37)) >this : Symbol(Point, Decl(sourceMap-FileWithComments.ts, 7, 15)) ->y : Symbol(y, Decl(sourceMap-FileWithComments.ts, 12, 37)) +>y : Symbol(Point.y, Decl(sourceMap-FileWithComments.ts, 12, 37)) // Static member static origin = new Point(0, 0); diff --git a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.symbols b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.symbols index 96d39301090..3b1d95afc00 100644 --- a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.symbols +++ b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.symbols @@ -7,7 +7,7 @@ interface Window { >Window : Symbol(Window, Decl(sourceMap-StringLiteralWithNewLine.ts, 2, 1)) document: Document; ->document : Symbol(document, Decl(sourceMap-StringLiteralWithNewLine.ts, 3, 18)) +>document : Symbol(Window.document, Decl(sourceMap-StringLiteralWithNewLine.ts, 3, 18)) >Document : Symbol(Document, Decl(sourceMap-StringLiteralWithNewLine.ts, 0, 0)) } declare var window: Window; diff --git a/tests/baselines/reference/sourceMapValidationClass.symbols b/tests/baselines/reference/sourceMapValidationClass.symbols index 28c2e1efe1a..1a5e244586f 100644 --- a/tests/baselines/reference/sourceMapValidationClass.symbols +++ b/tests/baselines/reference/sourceMapValidationClass.symbols @@ -3,47 +3,47 @@ class Greeter { >Greeter : Symbol(Greeter, Decl(sourceMapValidationClass.ts, 0, 0)) constructor(public greeting: string, ...b: string[]) { ->greeting : Symbol(greeting, Decl(sourceMapValidationClass.ts, 1, 16)) +>greeting : Symbol(Greeter.greeting, Decl(sourceMapValidationClass.ts, 1, 16)) >b : Symbol(b, Decl(sourceMapValidationClass.ts, 1, 40)) } greet() { ->greet : Symbol(greet, Decl(sourceMapValidationClass.ts, 2, 5)) +>greet : Symbol(Greeter.greet, Decl(sourceMapValidationClass.ts, 2, 5)) return "